pike.git/
src/
pike_types.cmod
Branch:
Tag:
Non-build tags
All tags
No tags
2022-05-03
2022-05-03 12:24:27 by Henrik Grubbström (Grubba) <grubba@grubba.org>
203aec33e658805e7371b5393d523e34fb5a7d1b (
16
lines) (+
14
/-
2
)
[
Show
|
Annotate
]
Branch:
master
Compiler
[Typechecker]
: Improved handling of markers for PIKE_T_TRANSITIVE.
4004:
case T_AND: case T_ARRAY: case T_STRING:
-
case PIKE_T_TRANSITIVE:
+
case PIKE_T_OPERATOR | 0x8000: /* t->car and t->cdr are nodes. */ push_and_fixup_markers(t->cdr, remap, flags);
4012:
push_type(t->type); break;
+
case PIKE_T_TRANSITIVE:
+
push_finished_type(t->cdr);
+
push_and_fixup_markers(t->car, remap, flags);
+
push_type(t->type);
+
break;
+
case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case T_MIXED:
4246:
case PIKE_T_RING: case T_ARRAY: case T_STRING:
-
case PIKE_T_TRANSITIVE:
+
push_remap_markers(t->car, remap, flags); push_remap_markers(t->cdr, remap, flags); push_reverse_type(t->type); break;
-
+
+
/* Special */
+
case PIKE_T_TRANSITIVE:
+
push_remap_markers(t->car, remap, flags);
+
push_finished_type(t->cdr);
+
push_reverse_type(t->type);
+
break;
} }