pike.git
/
src
/
docode.c
version
»
Context lines:
10
20
40
80
file
none
3
pike.git/src/docode.c:2777:
{ do_docode(CAR(n),DO_LVALUE); } else { yyerror("[*] not supported here.\n"); emit0(F_CONST0); } return 1;
+
case F_TYPEOF:
+
{
+
struct svalue s;
+
/* NB: This should only be reachable via eval_low().
+
* Typically treeopt will get rid of this node.
+
*/
+
SET_SVAL(s, PIKE_T_TYPE, 0, type,
+
CAR(n)->type?CAR(n)->type:mixed_type_string);
+
tmp1 = store_constant(&s, 0, NULL);
+
emit1(F_CONSTANT, (INT32)tmp1);
+
}
+
return 1;
+
default: Pike_fatal("Infernal compiler error (unknown parse-tree-token %d).\n", n->token); UNREACHABLE(return 0); } } static void emit_save_locals(struct compiler_frame *f) { struct compilation *c = THIS_COMPILATION; unsigned INT16 offset;