pike.git/
src/
pike_types.h
Branch:
Tag:
Non-build tags
All tags
No tags
2020-09-27
2020-09-27 12:17:26 by Henrik Grubbström (Grubba) <grubba@grubba.org>
d41c1945e7a10d8cf40f63590cb14ff7806ed78e (
19
lines) (+
19
/-
0
)
[
Show
|
Annotate
]
Branch:
master
Compiler
[Typechecker]
: Added {intersect,subtract}_types().
83:
}; /*
+
* Flags used by intersect_types() and subtract_types().
+
*/
+
enum pt_cmp_flags
+
{
+
PT_FLAG_CMP_VOIDABLE = 0x0100, /* Type may be void */
+
};
+
+
/*
* Flags used by low_match_types(). */ #define A_EXACT 1
304:
int zero_implied); struct pike_type *and_pike_types(struct pike_type *a, struct pike_type *b);
+
struct pike_type *subtract_types(struct pike_type *a,
+
struct pike_type *b,
+
enum pt_cmp_flags aflags,
+
enum pt_cmp_flags bflags,
+
enum pt_remap_flags remap_flags);
+
struct pike_type *intersect_types(struct pike_type *a,
+
struct pike_type *b,
+
enum pt_cmp_flags aflags,
+
enum pt_cmp_flags bflags,
+
enum pt_remap_flags remap_flags);
int strict_check_call(struct pike_type *fun_type, struct pike_type *arg_type); int check_soft_cast(struct pike_type *to, struct pike_type *from); int match_types(struct pike_type *a,struct pike_type *b);