php-internal-docs 8.4.8
Unofficial docs for php/php-src
Loading...
Searching...
No Matches
zend_type_info.h File Reference
#include "zend_types.h"

Go to the source code of this file.

Macros

#define MAY_BE_UNDEF   (1 << IS_UNDEF)
 
#define MAY_BE_NULL   (1 << IS_NULL)
 
#define MAY_BE_FALSE   (1 << IS_FALSE)
 
#define MAY_BE_TRUE   (1 << IS_TRUE)
 
#define MAY_BE_BOOL   (MAY_BE_FALSE|MAY_BE_TRUE)
 
#define MAY_BE_LONG   (1 << IS_LONG)
 
#define MAY_BE_DOUBLE   (1 << IS_DOUBLE)
 
#define MAY_BE_STRING   (1 << IS_STRING)
 
#define MAY_BE_ARRAY   (1 << IS_ARRAY)
 
#define MAY_BE_OBJECT   (1 << IS_OBJECT)
 
#define MAY_BE_RESOURCE   (1 << IS_RESOURCE)
 
#define MAY_BE_ANY   (MAY_BE_NULL|MAY_BE_FALSE|MAY_BE_TRUE|MAY_BE_LONG|MAY_BE_DOUBLE|MAY_BE_STRING|MAY_BE_ARRAY|MAY_BE_OBJECT|MAY_BE_RESOURCE)
 
#define MAY_BE_REF   (1 << IS_REFERENCE) /* may be reference */
 
#define MAY_BE_CALLABLE   (1 << IS_CALLABLE)
 
#define MAY_BE_VOID   (1 << IS_VOID)
 
#define MAY_BE_NEVER   (1 << IS_NEVER)
 
#define MAY_BE_STATIC   (1 << IS_STATIC)
 
#define MAY_BE_ARRAY_SHIFT   (IS_REFERENCE)
 
#define MAY_BE_ARRAY_OF_NULL   (MAY_BE_NULL << MAY_BE_ARRAY_SHIFT)
 
#define MAY_BE_ARRAY_OF_FALSE   (MAY_BE_FALSE << MAY_BE_ARRAY_SHIFT)
 
#define MAY_BE_ARRAY_OF_TRUE   (MAY_BE_TRUE << MAY_BE_ARRAY_SHIFT)
 
#define MAY_BE_ARRAY_OF_LONG   (MAY_BE_LONG << MAY_BE_ARRAY_SHIFT)
 
#define MAY_BE_ARRAY_OF_DOUBLE   (MAY_BE_DOUBLE << MAY_BE_ARRAY_SHIFT)
 
#define MAY_BE_ARRAY_OF_STRING   (MAY_BE_STRING << MAY_BE_ARRAY_SHIFT)
 
#define MAY_BE_ARRAY_OF_ARRAY   (MAY_BE_ARRAY << MAY_BE_ARRAY_SHIFT)
 
#define MAY_BE_ARRAY_OF_OBJECT   (MAY_BE_OBJECT << MAY_BE_ARRAY_SHIFT)
 
#define MAY_BE_ARRAY_OF_RESOURCE   (MAY_BE_RESOURCE << MAY_BE_ARRAY_SHIFT)
 
#define MAY_BE_ARRAY_OF_ANY   (MAY_BE_ANY << MAY_BE_ARRAY_SHIFT)
 
#define MAY_BE_ARRAY_OF_REF   (MAY_BE_REF << MAY_BE_ARRAY_SHIFT)
 
#define MAY_BE_ARRAY_PACKED   (1<<21)
 
#define MAY_BE_ARRAY_NUMERIC_HASH   (1<<22) /* hash with numeric keys */
 
#define MAY_BE_ARRAY_STRING_HASH   (1<<23) /* hash with string keys */
 
#define MAY_BE_ARRAY_EMPTY   (1<<29)
 
#define MAY_BE_ARRAY_KEY_LONG   (MAY_BE_ARRAY_PACKED | MAY_BE_ARRAY_NUMERIC_HASH)
 
#define MAY_BE_ARRAY_KEY_STRING   MAY_BE_ARRAY_STRING_HASH
 
#define MAY_BE_ARRAY_KEY_ANY   (MAY_BE_ARRAY_KEY_LONG | MAY_BE_ARRAY_KEY_STRING | MAY_BE_ARRAY_EMPTY)
 
#define MAY_BE_PACKED(t)
 
#define MAY_BE_HASH(t)
 
#define MAY_BE_PACKED_ONLY(t)
 
#define MAY_BE_HASH_ONLY(t)
 
#define MAY_BE_EMPTY_ONLY(t)
 
#define MAY_BE_CLASS   (1<<24)
 
#define MAY_BE_INDIRECT   (1<<25)
 
#define MAY_BE_RC1   (1<<30) /* may be non-reference with refcount == 1 */
 
#define MAY_BE_RCN   (1u<<31) /* may be non-reference with refcount > 1 */
 
#define MAY_BE_ANY_ARRAY    (MAY_BE_ARRAY|MAY_BE_ARRAY_KEY_ANY|MAY_BE_ARRAY_OF_ANY|MAY_BE_ARRAY_OF_REF)
 

Macro Definition Documentation

◆ MAY_BE_ANY

◆ MAY_BE_ANY_ARRAY

◆ MAY_BE_ARRAY

#define MAY_BE_ARRAY   (1 << IS_ARRAY)

Definition at line 32 of file zend_type_info.h.

◆ MAY_BE_ARRAY_EMPTY

#define MAY_BE_ARRAY_EMPTY   (1<<29)

Definition at line 62 of file zend_type_info.h.

◆ MAY_BE_ARRAY_KEY_ANY

Definition at line 66 of file zend_type_info.h.

◆ MAY_BE_ARRAY_KEY_LONG

#define MAY_BE_ARRAY_KEY_LONG   (MAY_BE_ARRAY_PACKED | MAY_BE_ARRAY_NUMERIC_HASH)

Definition at line 64 of file zend_type_info.h.

◆ MAY_BE_ARRAY_KEY_STRING

#define MAY_BE_ARRAY_KEY_STRING   MAY_BE_ARRAY_STRING_HASH

Definition at line 65 of file zend_type_info.h.

◆ MAY_BE_ARRAY_NUMERIC_HASH

#define MAY_BE_ARRAY_NUMERIC_HASH   (1<<22) /* hash with numeric keys */

Definition at line 60 of file zend_type_info.h.

◆ MAY_BE_ARRAY_OF_ANY

#define MAY_BE_ARRAY_OF_ANY   (MAY_BE_ANY << MAY_BE_ARRAY_SHIFT)

Definition at line 56 of file zend_type_info.h.

◆ MAY_BE_ARRAY_OF_ARRAY

#define MAY_BE_ARRAY_OF_ARRAY   (MAY_BE_ARRAY << MAY_BE_ARRAY_SHIFT)

Definition at line 53 of file zend_type_info.h.

◆ MAY_BE_ARRAY_OF_DOUBLE

#define MAY_BE_ARRAY_OF_DOUBLE   (MAY_BE_DOUBLE << MAY_BE_ARRAY_SHIFT)

Definition at line 51 of file zend_type_info.h.

◆ MAY_BE_ARRAY_OF_FALSE

#define MAY_BE_ARRAY_OF_FALSE   (MAY_BE_FALSE << MAY_BE_ARRAY_SHIFT)

Definition at line 48 of file zend_type_info.h.

◆ MAY_BE_ARRAY_OF_LONG

#define MAY_BE_ARRAY_OF_LONG   (MAY_BE_LONG << MAY_BE_ARRAY_SHIFT)

Definition at line 50 of file zend_type_info.h.

◆ MAY_BE_ARRAY_OF_NULL

#define MAY_BE_ARRAY_OF_NULL   (MAY_BE_NULL << MAY_BE_ARRAY_SHIFT)

Definition at line 47 of file zend_type_info.h.

◆ MAY_BE_ARRAY_OF_OBJECT

#define MAY_BE_ARRAY_OF_OBJECT   (MAY_BE_OBJECT << MAY_BE_ARRAY_SHIFT)

Definition at line 54 of file zend_type_info.h.

◆ MAY_BE_ARRAY_OF_REF

#define MAY_BE_ARRAY_OF_REF   (MAY_BE_REF << MAY_BE_ARRAY_SHIFT)

Definition at line 57 of file zend_type_info.h.

◆ MAY_BE_ARRAY_OF_RESOURCE

#define MAY_BE_ARRAY_OF_RESOURCE   (MAY_BE_RESOURCE << MAY_BE_ARRAY_SHIFT)

Definition at line 55 of file zend_type_info.h.

◆ MAY_BE_ARRAY_OF_STRING

#define MAY_BE_ARRAY_OF_STRING   (MAY_BE_STRING << MAY_BE_ARRAY_SHIFT)

Definition at line 52 of file zend_type_info.h.

◆ MAY_BE_ARRAY_OF_TRUE

#define MAY_BE_ARRAY_OF_TRUE   (MAY_BE_TRUE << MAY_BE_ARRAY_SHIFT)

Definition at line 49 of file zend_type_info.h.

◆ MAY_BE_ARRAY_PACKED

#define MAY_BE_ARRAY_PACKED   (1<<21)

Definition at line 59 of file zend_type_info.h.

◆ MAY_BE_ARRAY_SHIFT

#define MAY_BE_ARRAY_SHIFT   (IS_REFERENCE)

Definition at line 45 of file zend_type_info.h.

◆ MAY_BE_ARRAY_STRING_HASH

#define MAY_BE_ARRAY_STRING_HASH   (1<<23) /* hash with string keys */

Definition at line 61 of file zend_type_info.h.

◆ MAY_BE_BOOL

#define MAY_BE_BOOL   (MAY_BE_FALSE|MAY_BE_TRUE)

Definition at line 28 of file zend_type_info.h.

◆ MAY_BE_CALLABLE

#define MAY_BE_CALLABLE   (1 << IS_CALLABLE)

Definition at line 40 of file zend_type_info.h.

◆ MAY_BE_CLASS

#define MAY_BE_CLASS   (1<<24)

Definition at line 74 of file zend_type_info.h.

◆ MAY_BE_DOUBLE

#define MAY_BE_DOUBLE   (1 << IS_DOUBLE)

Definition at line 30 of file zend_type_info.h.

◆ MAY_BE_EMPTY_ONLY

#define MAY_BE_EMPTY_ONLY ( t)
Value:
#define MAY_BE_ARRAY_EMPTY
#define MAY_BE_ARRAY_KEY_ANY

Definition at line 72 of file zend_type_info.h.

◆ MAY_BE_FALSE

#define MAY_BE_FALSE   (1 << IS_FALSE)

Definition at line 26 of file zend_type_info.h.

◆ MAY_BE_HASH

#define MAY_BE_HASH ( t)
Value:
#define MAY_BE_ARRAY_KEY_STRING
#define MAY_BE_ARRAY_NUMERIC_HASH

Definition at line 69 of file zend_type_info.h.

◆ MAY_BE_HASH_ONLY

#define MAY_BE_HASH_ONLY ( t)
Value:
#define MAY_BE_ARRAY_PACKED
#define MAY_BE_HASH(t)

Definition at line 71 of file zend_type_info.h.

◆ MAY_BE_INDIRECT

#define MAY_BE_INDIRECT   (1<<25)

Definition at line 75 of file zend_type_info.h.

◆ MAY_BE_LONG

#define MAY_BE_LONG   (1 << IS_LONG)

Definition at line 29 of file zend_type_info.h.

◆ MAY_BE_NEVER

#define MAY_BE_NEVER   (1 << IS_NEVER)

Definition at line 42 of file zend_type_info.h.

◆ MAY_BE_NULL

#define MAY_BE_NULL   (1 << IS_NULL)

Definition at line 25 of file zend_type_info.h.

◆ MAY_BE_OBJECT

#define MAY_BE_OBJECT   (1 << IS_OBJECT)

Definition at line 33 of file zend_type_info.h.

◆ MAY_BE_PACKED

#define MAY_BE_PACKED ( t)
Value:

Definition at line 68 of file zend_type_info.h.

◆ MAY_BE_PACKED_ONLY

#define MAY_BE_PACKED_ONLY ( t)
Value:

Definition at line 70 of file zend_type_info.h.

◆ MAY_BE_RC1

#define MAY_BE_RC1   (1<<30) /* may be non-reference with refcount == 1 */

Definition at line 77 of file zend_type_info.h.

◆ MAY_BE_RCN

#define MAY_BE_RCN   (1u<<31) /* may be non-reference with refcount > 1 */

Definition at line 78 of file zend_type_info.h.

◆ MAY_BE_REF

#define MAY_BE_REF   (1 << IS_REFERENCE) /* may be reference */

Definition at line 36 of file zend_type_info.h.

◆ MAY_BE_RESOURCE

#define MAY_BE_RESOURCE   (1 << IS_RESOURCE)

Definition at line 34 of file zend_type_info.h.

◆ MAY_BE_STATIC

#define MAY_BE_STATIC   (1 << IS_STATIC)

Definition at line 43 of file zend_type_info.h.

◆ MAY_BE_STRING

#define MAY_BE_STRING   (1 << IS_STRING)

Definition at line 31 of file zend_type_info.h.

◆ MAY_BE_TRUE

#define MAY_BE_TRUE   (1 << IS_TRUE)

Definition at line 27 of file zend_type_info.h.

◆ MAY_BE_UNDEF

#define MAY_BE_UNDEF   (1 << IS_UNDEF)

Definition at line 24 of file zend_type_info.h.

◆ MAY_BE_VOID

#define MAY_BE_VOID   (1 << IS_VOID)

Definition at line 41 of file zend_type_info.h.