pike.git
/
src
/
docode.c
version
»
Context lines:
10
20
40
80
file
none
3
pike.git/src/docode.c:417:
default: switch(CDR(n)->token) { case F_LOCAL: if(do_docode(CAR(n),0)!=1) yyerror("RHS is void!"); emit(flags & DO_POP ? F_ASSIGN_LOCAL_AND_POP:F_ASSIGN_LOCAL, CDR(n)->u.number ); break; case F_IDENTIFIER:
-
if(ID_FROM_INT(& fake_program, CDR(n)->u.number)->flags
& IDENTIFIER_FUNCTION
)
+
if(
!IDENTIFIER_IS_VARIABLE(
ID_FROM_INT(& fake_program, CDR(n)->u.number)->flags)
)
{
-
yyerror("Cannot assign functions.\n");
+
yyerror("Cannot assign functions
or constants
.\n");
}else{ if(do_docode(CAR(n),0)!=1) yyerror("RHS is void!"); emit(flags & DO_POP ? F_ASSIGN_GLOBAL_AND_POP:F_ASSIGN_GLOBAL, CDR(n)->u.number); } break; default: tmp1=do_docode(CDR(n),DO_LVALUE); if(do_docode(CAR(n),0)!=1) yyerror("RHS is void!");
pike.git/src/docode.c:670:
emit2(F_MARK); do_docode(CDR(n),0); tmp1=store_constant(& CAR(n)->u.sval, !(CAR(n)->tree_info & OPT_EXTERNAL_DEPEND)); emit(F_APPLY,tmp1); return 1; } else if(CAR(n)->token == F_IDENTIFIER &&
-
ID_FROM_INT(& fake_program, CAR(n)->u.number)->flags
& IDENTIFIER_FUNCTION
)
+
IDENTIFIER_IS_FUNCTION(
ID_FROM_INT(& fake_program, CAR(n)->u.number)->flags)
)
{ emit2(F_MARK); do_docode(CDR(n),0); emit(F_CALL_LFUN, CAR(n)->u.number); return 1; } else { struct pike_string *tmp; struct efun *fun;
pike.git/src/docode.c:985:
if(flags & DO_LVALUE) { emit(F_LOCAL_LVALUE,n->u.number); return 2; }else{ emit(F_LOCAL,n->u.number); return 1; } case F_IDENTIFIER:
-
if(ID_FROM_INT(& fake_program, n->u.number)->flags
& IDENTIFIER_FUNCTION
)
+
if(
IDENTIFIER_IS_FUNCTION(
ID_FROM_INT(& fake_program, n->u.number)->flags)
)
{ if(flags & DO_LVALUE) { yyerror("Cannot assign functions.\n"); }else{ emit(F_LFUN,n->u.number); } }else{ if(flags & DO_LVALUE) {