pike.git
/
src
/
pike_types.cmod
version
»
Context lines:
10
20
40
80
file
none
3
pike.git/src/pike_types.cmod:1025:
pop_type_stack(t->type); tmp = *Pike_compiler->type_stackp; Pike_compiler->type_stackp--; push_type_operator(op, arg); Pike_compiler->type_stackp++; *Pike_compiler->type_stackp = tmp; push_type_operator(op, arg); push_type(binop); break; }
+
default:
-
+
/* Check the second argument. */
+
switch(((op & 0x8000) && arg)?(arg->type & PIKE_T_MASK):PIKE_T_UNKNOWN) {
+
case '0': case '1': case '2': case '3': case '4':
+
case '5': case '6': case '7': case '8': case '9':
+
case T_ASSIGN:
+
case PIKE_T_OPERATOR:
+
case PIKE_T_SCOPE:
+
/* Deferred evaluation. */
+
add_ref(arg);
+
*Pike_compiler->type_stackp = mk_type(op,
+
*Pike_compiler->type_stackp,
+
arg,
+
PT_COPY_BOTH);
+
break;
+
+
default:
*Pike_compiler->type_stackp = apply_type_operator(op, t, arg); free_type(t); break; }
-
+
break;
+
}
+
TYPE_STACK_DEBUG("push_type_operator"); } void debug_push_finished_type(struct pike_type *t) { copy_pike_type(*(++Pike_compiler->type_stackp), t); TYPE_STACK_DEBUG("push_finished_type"); }