File tree Expand file tree Collapse file tree 1 file changed +35
-25
lines changed Expand file tree Collapse file tree 1 file changed +35
-25
lines changed Original file line number Diff line number Diff line change 18
18
#define ZEND_TYPE_CODE_H
19
19
20
20
enum {
21
- /* Regular data types: Must be in sync with zend_variables.c. */
22
- IS_UNDEF = 0 ,
23
- IS_NULL = 1 ,
24
- IS_FALSE = 2 ,
25
- IS_TRUE = 3 ,
26
- IS_LONG = 4 ,
27
- IS_DOUBLE = 5 ,
28
- IS_STRING = 6 ,
29
- IS_ARRAY = 7 ,
30
- IS_OBJECT = 8 ,
31
- IS_RESOURCE = 9 ,
32
- IS_REFERENCE = 10 ,
33
- IS_CONSTANT_AST = 11 , /* Constant expressions */
21
+ /* Regular data types */
22
+ IS_UNDEF ,
23
+ IS_NULL ,
24
+ IS_FALSE ,
25
+ IS_TRUE ,
26
+ IS_LONG ,
27
+ IS_DOUBLE ,
28
+ IS_STRING ,
29
+ IS_ARRAY ,
30
+ IS_OBJECT ,
31
+ IS_RESOURCE ,
32
+ IS_REFERENCE ,
33
+ IS_CONSTANT_AST , /* Constant expressions */
34
+
35
+ /**
36
+ * One after the largest regular data type; used internally
37
+ * for overlapping ranges below.
38
+ */
39
+ _IS_REGULAR_END ,
34
40
35
41
/* Fake types used only for type hinting.
36
42
* These are allowed to overlap with the types below. */
37
- IS_CALLABLE = 12 ,
38
- IS_ITERABLE = 13 ,
39
- IS_VOID = 14 ,
40
- IS_STATIC = 15 ,
41
- IS_MIXED = 16 ,
42
- IS_NEVER = 17 ,
43
+ IS_CALLABLE = _IS_REGULAR_END ,
44
+ IS_ITERABLE ,
45
+ IS_VOID ,
46
+ IS_STATIC ,
47
+ IS_MIXED ,
48
+ IS_NEVER ,
49
+
50
+ _IS_FAKE_END ,
43
51
44
52
/* internal types */
45
- IS_INDIRECT = 12 ,
46
- IS_PTR = 13 ,
47
- IS_ALIAS_PTR = 14 ,
48
- _IS_ERROR = 15 ,
53
+ IS_INDIRECT = _IS_REGULAR_END ,
54
+ IS_PTR ,
55
+ IS_ALIAS_PTR ,
56
+ _IS_ERROR ,
57
+
58
+ _IS_INTERNAL_END ,
49
59
50
60
/* used for casts */
51
- _IS_BOOL = 18 ,
52
- _IS_NUMBER = 19 ,
61
+ _IS_BOOL = _IS_FAKE_END > _IS_INTERNAL_END ? _IS_FAKE_END : _IS_INTERNAL_END ,
62
+ _IS_NUMBER ,
53
63
};
54
64
55
65
#define ZEND_SAME_FAKE_TYPE (faketype , realtype ) ( \
You can’t perform that action at this time.
0 commit comments