@@ -8,14 +8,14 @@ use crate::ffi::{
88 CONST_CS , CONST_DEPRECATED , CONST_NO_FILE_CACHE , CONST_PERSISTENT , E_COMPILE_ERROR ,
99 E_COMPILE_WARNING , E_CORE_ERROR , E_CORE_WARNING , E_DEPRECATED , E_ERROR , E_NOTICE , E_PARSE ,
1010 E_RECOVERABLE_ERROR , E_STRICT , E_USER_DEPRECATED , E_USER_ERROR , E_USER_NOTICE , E_USER_WARNING ,
11- E_WARNING , IS_ARRAY , IS_CALLABLE , IS_CONSTANT_AST , IS_DOUBLE , IS_FALSE , IS_LONG , IS_MIXED ,
12- IS_NULL , IS_OBJECT , IS_PTR , IS_REFERENCE , IS_RESOURCE , IS_STRING , IS_TRUE , IS_TYPE_COLLECTABLE ,
13- IS_TYPE_REFCOUNTED , IS_UNDEF , IS_VOID , PHP_INI_ALL , PHP_INI_PERDIR , PHP_INI_SYSTEM ,
14- PHP_INI_USER , ZEND_ACC_ABSTRACT , ZEND_ACC_ANON_CLASS , ZEND_ACC_CALL_VIA_TRAMPOLINE ,
15- ZEND_ACC_CHANGED , ZEND_ACC_CLOSURE , ZEND_ACC_CONSTANTS_UPDATED , ZEND_ACC_CTOR ,
16- ZEND_ACC_DEPRECATED , ZEND_ACC_DONE_PASS_TWO , ZEND_ACC_EARLY_BINDING , ZEND_ACC_FAKE_CLOSURE ,
17- ZEND_ACC_FINAL , ZEND_ACC_GENERATOR , ZEND_ACC_HAS_FINALLY_BLOCK , ZEND_ACC_HAS_RETURN_TYPE ,
18- ZEND_ACC_HAS_TYPE_HINTS , ZEND_ACC_HEAP_RT_CACHE , ZEND_ACC_IMMUTABLE ,
11+ E_WARNING , IS_ARRAY , IS_CALLABLE , IS_CONSTANT_AST , IS_DOUBLE , IS_FALSE , IS_INDIRECT , IS_LONG ,
12+ IS_MIXED , IS_NULL , IS_OBJECT , IS_PTR , IS_REFERENCE , IS_RESOURCE , IS_STRING , IS_TRUE ,
13+ IS_TYPE_COLLECTABLE , IS_TYPE_REFCOUNTED , IS_UNDEF , IS_VOID , PHP_INI_ALL , PHP_INI_PERDIR ,
14+ PHP_INI_SYSTEM , PHP_INI_USER , ZEND_ACC_ABSTRACT , ZEND_ACC_ANON_CLASS ,
15+ ZEND_ACC_CALL_VIA_TRAMPOLINE , ZEND_ACC_CHANGED , ZEND_ACC_CLOSURE , ZEND_ACC_CONSTANTS_UPDATED ,
16+ ZEND_ACC_CTOR , ZEND_ACC_DEPRECATED , ZEND_ACC_DONE_PASS_TWO , ZEND_ACC_EARLY_BINDING ,
17+ ZEND_ACC_FAKE_CLOSURE , ZEND_ACC_FINAL , ZEND_ACC_GENERATOR , ZEND_ACC_HAS_FINALLY_BLOCK ,
18+ ZEND_ACC_HAS_RETURN_TYPE , ZEND_ACC_HAS_TYPE_HINTS , ZEND_ACC_HEAP_RT_CACHE , ZEND_ACC_IMMUTABLE ,
1919 ZEND_ACC_IMPLICIT_ABSTRACT_CLASS , ZEND_ACC_INTERFACE , ZEND_ACC_LINKED , ZEND_ACC_NEARLY_LINKED ,
2020 ZEND_ACC_NEVER_CACHE , ZEND_ACC_NO_DYNAMIC_PROPERTIES , ZEND_ACC_PRELOADED , ZEND_ACC_PRIVATE ,
2121 ZEND_ACC_PROMOTED , ZEND_ACC_PROTECTED , ZEND_ACC_PUBLIC , ZEND_ACC_RESOLVED_INTERFACES ,
@@ -246,6 +246,7 @@ pub enum DataType {
246246 Mixed ,
247247 Bool ,
248248 Ptr ,
249+ Indirect ,
249250}
250251
251252impl Default for DataType {
@@ -269,6 +270,7 @@ impl DataType {
269270 DataType :: Object ( _) => IS_OBJECT ,
270271 DataType :: Resource => IS_RESOURCE ,
271272 DataType :: Reference => IS_RESOURCE ,
273+ DataType :: Indirect => IS_INDIRECT ,
272274 DataType :: Callable => IS_CALLABLE ,
273275 DataType :: ConstantExpression => IS_CONSTANT_AST ,
274276 DataType :: Void => IS_VOID ,
@@ -337,6 +339,7 @@ impl From<u32> for DataType {
337339
338340 contains ! ( IS_VOID , Void ) ;
339341 contains ! ( IS_PTR , Ptr ) ;
342+ contains ! ( IS_INDIRECT , Indirect ) ;
340343 contains ! ( IS_CALLABLE , Callable ) ;
341344 contains ! ( IS_CONSTANT_AST , ConstantExpression ) ;
342345 contains ! ( IS_REFERENCE , Reference ) ;
@@ -379,6 +382,7 @@ impl Display for DataType {
379382 DataType :: Bool => write ! ( f, "Bool" ) ,
380383 DataType :: Mixed => write ! ( f, "Mixed" ) ,
381384 DataType :: Ptr => write ! ( f, "Pointer" ) ,
385+ DataType :: Indirect => write ! ( f, "Indirect" ) ,
382386 }
383387 }
384388}
@@ -388,9 +392,9 @@ mod tests {
388392 use super :: DataType ;
389393 use crate :: ffi:: {
390394 IS_ARRAY , IS_ARRAY_EX , IS_CALLABLE , IS_CONSTANT_AST , IS_CONSTANT_AST_EX , IS_DOUBLE ,
391- IS_FALSE , IS_INTERNED_STRING_EX , IS_LONG , IS_NULL , IS_OBJECT , IS_OBJECT_EX , IS_PTR ,
392- IS_REFERENCE , IS_REFERENCE_EX , IS_RESOURCE , IS_RESOURCE_EX , IS_STRING , IS_STRING_EX ,
393- IS_TRUE , IS_UNDEF , IS_VOID ,
395+ IS_FALSE , IS_INDIRECT , IS_INTERNED_STRING_EX , IS_LONG , IS_NULL , IS_OBJECT , IS_OBJECT_EX ,
396+ IS_PTR , IS_REFERENCE , IS_REFERENCE_EX , IS_RESOURCE , IS_RESOURCE_EX , IS_STRING ,
397+ IS_STRING_EX , IS_TRUE , IS_UNDEF , IS_VOID ,
394398 } ;
395399 use std:: convert:: TryFrom ;
396400
@@ -414,7 +418,7 @@ mod tests {
414418 test ! ( IS_RESOURCE , Resource ) ;
415419 test ! ( IS_REFERENCE , Reference ) ;
416420 test ! ( IS_CONSTANT_AST , ConstantExpression ) ;
417- test ! ( IS_CALLABLE , Callable ) ;
421+ test ! ( IS_INDIRECT , Indirect ) ;
418422 test ! ( IS_VOID , Void ) ;
419423 test ! ( IS_PTR , Ptr ) ;
420424
0 commit comments