Declare dynamic properties in ext/dom

Closes GH-6644
This commit is contained in:
Máté Kocsis 2021-01-26 23:06:19 +01:00
parent 8d715b8416
commit a5e938dc86
No known key found for this signature in database
GPG key ID: FD055E41728BF310
8 changed files with 862 additions and 53 deletions

View file

@ -421,7 +421,7 @@ static HashTable* dom_get_debug_info_helper(zend_object *object, int *is_temp) /
zend_string_addref(object_str); zend_string_addref(object_str);
} }
zend_hash_add(debug_info, string_key, &value); zend_hash_update(debug_info, string_key, &value);
} ZEND_HASH_FOREACH_END(); } ZEND_HASH_FOREACH_END();
zend_string_release_ex(object_str, 0); zend_string_release_ex(object_str, 0);

View file

@ -4,6 +4,23 @@
class DOMDocumentType extends DOMNode class DOMDocumentType extends DOMNode
{ {
/** @readonly */
public string $name;
/** @readonly */
public DOMNamedNodeMap $entities;
/** @readonly */
public DOMNamedNodeMap $notations;
/** @readonly */
public string $publicId;
/** @readonly */
public string $systemId;
/** @readonly */
public ?string $internalSubset;
} }
class DOMCdataSection extends DOMText class DOMCdataSection extends DOMText
@ -41,6 +58,54 @@ interface DOMChildNode
class DOMNode class DOMNode
{ {
/** @readonly */
public string $nodeName;
/** @var string|null */
public $nodeValue;
/** @readonly */
public int $nodeType;
/** @readonly */
public ?DOMNode $parentNode;
/** @readonly */
public DOMNodeList $childNodes;
/** @readonly */
public ?DOMNode $firstChild;
/** @readonly */
public ?DOMNode $lastChild;
/** @readonly */
public ?DOMNode $previousSibling;
/** @readonly */
public ?DOMNode $nextSibling;
/** @readonly */
public ?DOMNamedNodeMap $attributes;
/** @readonly */
public ?DOMDocument $ownerDocument;
/** @readonly */
public ?string $namespaceURI;
/** @var string */
public $prefix = "";
/** @readonly */
public ?string $localName;
/** @readonly */
public ?string $baseURI;
/** @var string */
public $textContent = "";
/** @return DOMNode|false */ /** @return DOMNode|false */
public function appendChild(DOMNode $node) {} public function appendChild(DOMNode $node) {}
@ -95,6 +160,29 @@ class DOMNode
class DOMNameSpaceNode class DOMNameSpaceNode
{ {
/** @readonly */
public string $nodeName;
/** @readonly */
public ?string $nodeValue;
/** @readonly */
public int $nodeType;
/** @readonly */
public string $prefix;
/** @readonly */
public ?string $localName;
/** @readonly */
public ?string $namespaceURI;
/** @readonly */
public ?DOMDocument $ownerDocument;
/** @readonly */
public ?DOMNode $parentNode;
} }
class DOMImplementation class DOMImplementation
@ -114,6 +202,15 @@ class DOMImplementation
class DOMDocumentFragment extends DOMNode implements DOMParentNode class DOMDocumentFragment extends DOMNode implements DOMParentNode
{ {
/** @readonly */
public ?DOMElement $firstElementChild;
/** @readonly */
public ?DOMElement $lastElementChild;
/** @readonly */
public int $childElementCount;
public function __construct() {} public function __construct() {}
/** @return bool */ /** @return bool */
@ -128,6 +225,9 @@ class DOMDocumentFragment extends DOMNode implements DOMParentNode
class DOMNodeList implements IteratorAggregate, Countable class DOMNodeList implements IteratorAggregate, Countable
{ {
/** @readonly */
public int $length;
/** @return int|false */ /** @return int|false */
public function count() {} public function count() {}
@ -139,6 +239,18 @@ class DOMNodeList implements IteratorAggregate, Countable
class DOMCharacterData extends DOMNode implements DOMChildNode class DOMCharacterData extends DOMNode implements DOMChildNode
{ {
/** @readonly */
public string $data;
/** @readonly */
public int $length;
/** @readonly */
public ?DOMElement $previousElementSibling;
/** @readonly */
public ?DOMElement $nextElementSibling;
/** @return bool */ /** @return bool */
public function appendData(string $data) {} public function appendData(string $data) {}
@ -168,6 +280,21 @@ class DOMCharacterData extends DOMNode implements DOMChildNode
class DOMAttr extends DOMNode class DOMAttr extends DOMNode
{ {
/** @readonly */
public string $name;
/** @readonly */
public bool $specified = true;
/** @readonly */
public string $value;
/** @readonly */
public ?DOMElement $ownerElement;
/** @readonly */
public mixed $schemaTypeInfo = null;
public function __construct(string $name, string $value = "") {} public function __construct(string $name, string $value = "") {}
/** @return bool */ /** @return bool */
@ -176,6 +303,27 @@ class DOMAttr extends DOMNode
class DOMElement extends DOMNode implements DOMParentNode, DOMChildNode class DOMElement extends DOMNode implements DOMParentNode, DOMChildNode
{ {
/** @readonly */
public string $tagName;
/** @readonly */
public mixed $schemaTypeInfo = null;
/** @readonly */
public ?DOMElement $firstElementChild;
/** @readonly */
public ?DOMElement $lastElementChild;
/** @readonly */
public int $childElementCount;
/** @readonly */
public ?DOMElement $previousElementSibling;
/** @readonly */
public ?DOMElement $nextElementSibling;
public function __construct(string $qualifiedName, ?string $value = null, string $namespace = "") {} public function __construct(string $qualifiedName, ?string $value = null, string $namespace = "") {}
/** @return string */ /** @return string */
@ -252,6 +400,78 @@ class DOMElement extends DOMNode implements DOMParentNode, DOMChildNode
class DOMDocument extends DOMNode implements DOMParentNode class DOMDocument extends DOMNode implements DOMParentNode
{ {
/** @readonly */
public ?DOMDocumentType $doctype;
/** @readonly */
public DOMImplementation $implementation;
/** @readonly */
public ?DOMElement $documentElement;
/**
* @readonly
* @deprecated
*/
public ?string $actualEncoding;
/** @var string|null */
public $encoding;
/** @readonly */
public ?string $xmlEncoding;
/** @var bool */
public $standalone = false;
/** @var bool */
public $xmlStandalone = false;
/** @var string|null */
public $version;
/** @var string|null */
public $xmlVersion;
/** @var bool */
public $strictErrorChecking = false;
/** @var string|null */
public $documentURI;
/**
* @readonly
* @deprecated
*/
public mixed $config = null;
/** @var bool */
public $formatOutput = false;
/** @var bool */
public $validateOnParse = false;
/** @var bool */
public $resolveExternals = false;
/** @var bool */
public $preserveWhiteSpace = false;
/** @var bool */
public $recover = false;
/** @var bool */
public $substituteEntities = false;
/** @readonly */
public ?DOMElement $firstElementChild;
/** @readonly */
public ?DOMElement $lastElementChild;
/** @readonly */
public int $childElementCount;
public function __construct(string $version = "1.0", string $encoding = "") {} public function __construct(string $version = "1.0", string $encoding = "") {}
/** @return DOMAttr|false */ /** @return DOMAttr|false */
@ -366,6 +586,9 @@ final class DOMException extends Exception
class DOMText extends DOMCharacterData class DOMText extends DOMCharacterData
{ {
/** @readonly */
public string $wholeText;
public function __construct(string $data = "") {} public function __construct(string $data = "") {}
/** @return bool */ /** @return bool */
@ -383,6 +606,9 @@ class DOMText extends DOMCharacterData
class DOMNamedNodeMap implements IteratorAggregate, Countable class DOMNamedNodeMap implements IteratorAggregate, Countable
{ {
/** @readonly */
public int $length;
/** @return DOMNode|null */ /** @return DOMNode|null */
public function getNamedItem(string $qualifiedName) {} public function getNamedItem(string $qualifiedName) {}
@ -400,6 +626,23 @@ class DOMNamedNodeMap implements IteratorAggregate, Countable
class DOMEntity extends DOMNode class DOMEntity extends DOMNode
{ {
/** @readonly */
public ?string $publicId;
/** @readonly */
public ?string $systemId;
/** @readonly */
public ?string $notationName;
/** @readonly */
public mixed $actualEncoding = null;
/** @readonly */
public mixed $encoding = null;
/** @readonly */
public mixed $version = null;
} }
class DOMEntityReference extends DOMNode class DOMEntityReference extends DOMNode
@ -409,16 +652,33 @@ class DOMEntityReference extends DOMNode
class DOMNotation extends DOMNode class DOMNotation extends DOMNode
{ {
/** @readonly */
public string $publicId;
/** @readonly */
public string $systemId;
} }
class DOMProcessingInstruction extends DOMNode class DOMProcessingInstruction extends DOMNode
{ {
/** @readonly */
public string $target;
/** @var string */
public $data = "";
public function __construct(string $name, string $value = "") {} public function __construct(string $name, string $value = "") {}
} }
#ifdef LIBXML_XPATH_ENABLED #ifdef LIBXML_XPATH_ENABLED
class DOMXPath class DOMXPath
{ {
/** @readonly */
public DOMDocument $document;
/** @var bool */
public $registerNodeNamespaces = false;
public function __construct(DOMDocument $document, bool $registerNodeNS = true) {} public function __construct(DOMDocument $document, bool $registerNodeNS = true) {}
/** @return mixed */ /** @return mixed */

View file

@ -1,5 +1,5 @@
/* This is a generated file, edit the .stub.php file instead. /* This is a generated file, edit the .stub.php file instead.
* Stub hash: c41e6d58eb8b0bbdb07401c4f1eb92c6ba3d324c */ * Stub hash: da7dc3118b701446f39e1b3375600923b3a1202e */
ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_dom_import_simplexml, 0, 1, DOMElement, 1) ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_dom_import_simplexml, 0, 1, DOMElement, 1)
ZEND_ARG_TYPE_INFO(0, node, IS_OBJECT, 0) ZEND_ARG_TYPE_INFO(0, node, IS_OBJECT, 0)
@ -855,6 +855,44 @@ static zend_class_entry *register_class_DOMDocumentType(zend_class_entry *class_
INIT_CLASS_ENTRY(ce, "DOMDocumentType", class_DOMDocumentType_methods); INIT_CLASS_ENTRY(ce, "DOMDocumentType", class_DOMDocumentType_methods);
class_entry = zend_register_internal_class_ex(&ce, class_entry_DOMNode); class_entry = zend_register_internal_class_ex(&ce, class_entry_DOMNode);
zval property_name_default_value;
ZVAL_UNDEF(&property_name_default_value);
zend_string *property_name_name = zend_string_init("name", sizeof("name") - 1, 1);
zend_declare_typed_property(class_entry, property_name_name, &property_name_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_STRING));
zend_string_release(property_name_name);
zend_string *property_entities_class_DOMNamedNodeMap = zend_string_init("DOMNamedNodeMap", sizeof("DOMNamedNodeMap")-1, 1);
zval property_entities_default_value;
ZVAL_UNDEF(&property_entities_default_value);
zend_string *property_entities_name = zend_string_init("entities", sizeof("entities") - 1, 1);
zend_declare_typed_property(class_entry, property_entities_name, &property_entities_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_CLASS(property_entities_class_DOMNamedNodeMap, 0, 0));
zend_string_release(property_entities_name);
zend_string *property_notations_class_DOMNamedNodeMap = zend_string_init("DOMNamedNodeMap", sizeof("DOMNamedNodeMap")-1, 1);
zval property_notations_default_value;
ZVAL_UNDEF(&property_notations_default_value);
zend_string *property_notations_name = zend_string_init("notations", sizeof("notations") - 1, 1);
zend_declare_typed_property(class_entry, property_notations_name, &property_notations_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_CLASS(property_notations_class_DOMNamedNodeMap, 0, 0));
zend_string_release(property_notations_name);
zval property_publicId_default_value;
ZVAL_UNDEF(&property_publicId_default_value);
zend_string *property_publicId_name = zend_string_init("publicId", sizeof("publicId") - 1, 1);
zend_declare_typed_property(class_entry, property_publicId_name, &property_publicId_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_STRING));
zend_string_release(property_publicId_name);
zval property_systemId_default_value;
ZVAL_UNDEF(&property_systemId_default_value);
zend_string *property_systemId_name = zend_string_init("systemId", sizeof("systemId") - 1, 1);
zend_declare_typed_property(class_entry, property_systemId_name, &property_systemId_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_STRING));
zend_string_release(property_systemId_name);
zval property_internalSubset_default_value;
ZVAL_UNDEF(&property_internalSubset_default_value);
zend_string *property_internalSubset_name = zend_string_init("internalSubset", sizeof("internalSubset") - 1, 1);
zend_declare_typed_property(class_entry, property_internalSubset_name, &property_internalSubset_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_STRING|MAY_BE_NULL));
zend_string_release(property_internalSubset_name);
return class_entry; return class_entry;
} }
@ -905,6 +943,110 @@ static zend_class_entry *register_class_DOMNode(void)
INIT_CLASS_ENTRY(ce, "DOMNode", class_DOMNode_methods); INIT_CLASS_ENTRY(ce, "DOMNode", class_DOMNode_methods);
class_entry = zend_register_internal_class_ex(&ce, NULL); class_entry = zend_register_internal_class_ex(&ce, NULL);
zval property_nodeName_default_value;
ZVAL_UNDEF(&property_nodeName_default_value);
zend_string *property_nodeName_name = zend_string_init("nodeName", sizeof("nodeName") - 1, 1);
zend_declare_typed_property(class_entry, property_nodeName_name, &property_nodeName_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_STRING));
zend_string_release(property_nodeName_name);
zval property_nodeValue_default_value;
ZVAL_NULL(&property_nodeValue_default_value);
zend_string *property_nodeValue_name = zend_string_init("nodeValue", sizeof("nodeValue") - 1, 1);
zend_declare_property_ex(class_entry, property_nodeValue_name, &property_nodeValue_default_value, ZEND_ACC_PUBLIC, NULL);
zend_string_release(property_nodeValue_name);
zval property_nodeType_default_value;
ZVAL_UNDEF(&property_nodeType_default_value);
zend_string *property_nodeType_name = zend_string_init("nodeType", sizeof("nodeType") - 1, 1);
zend_declare_typed_property(class_entry, property_nodeType_name, &property_nodeType_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
zend_string_release(property_nodeType_name);
zend_string *property_parentNode_class_DOMNode = zend_string_init("DOMNode", sizeof("DOMNode")-1, 1);
zval property_parentNode_default_value;
ZVAL_UNDEF(&property_parentNode_default_value);
zend_string *property_parentNode_name = zend_string_init("parentNode", sizeof("parentNode") - 1, 1);
zend_declare_typed_property(class_entry, property_parentNode_name, &property_parentNode_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_CLASS(property_parentNode_class_DOMNode, 0, MAY_BE_NULL));
zend_string_release(property_parentNode_name);
zend_string *property_childNodes_class_DOMNodeList = zend_string_init("DOMNodeList", sizeof("DOMNodeList")-1, 1);
zval property_childNodes_default_value;
ZVAL_UNDEF(&property_childNodes_default_value);
zend_string *property_childNodes_name = zend_string_init("childNodes", sizeof("childNodes") - 1, 1);
zend_declare_typed_property(class_entry, property_childNodes_name, &property_childNodes_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_CLASS(property_childNodes_class_DOMNodeList, 0, 0));
zend_string_release(property_childNodes_name);
zend_string *property_firstChild_class_DOMNode = zend_string_init("DOMNode", sizeof("DOMNode")-1, 1);
zval property_firstChild_default_value;
ZVAL_UNDEF(&property_firstChild_default_value);
zend_string *property_firstChild_name = zend_string_init("firstChild", sizeof("firstChild") - 1, 1);
zend_declare_typed_property(class_entry, property_firstChild_name, &property_firstChild_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_CLASS(property_firstChild_class_DOMNode, 0, MAY_BE_NULL));
zend_string_release(property_firstChild_name);
zend_string *property_lastChild_class_DOMNode = zend_string_init("DOMNode", sizeof("DOMNode")-1, 1);
zval property_lastChild_default_value;
ZVAL_UNDEF(&property_lastChild_default_value);
zend_string *property_lastChild_name = zend_string_init("lastChild", sizeof("lastChild") - 1, 1);
zend_declare_typed_property(class_entry, property_lastChild_name, &property_lastChild_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_CLASS(property_lastChild_class_DOMNode, 0, MAY_BE_NULL));
zend_string_release(property_lastChild_name);
zend_string *property_previousSibling_class_DOMNode = zend_string_init("DOMNode", sizeof("DOMNode")-1, 1);
zval property_previousSibling_default_value;
ZVAL_UNDEF(&property_previousSibling_default_value);
zend_string *property_previousSibling_name = zend_string_init("previousSibling", sizeof("previousSibling") - 1, 1);
zend_declare_typed_property(class_entry, property_previousSibling_name, &property_previousSibling_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_CLASS(property_previousSibling_class_DOMNode, 0, MAY_BE_NULL));
zend_string_release(property_previousSibling_name);
zend_string *property_nextSibling_class_DOMNode = zend_string_init("DOMNode", sizeof("DOMNode")-1, 1);
zval property_nextSibling_default_value;
ZVAL_UNDEF(&property_nextSibling_default_value);
zend_string *property_nextSibling_name = zend_string_init("nextSibling", sizeof("nextSibling") - 1, 1);
zend_declare_typed_property(class_entry, property_nextSibling_name, &property_nextSibling_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_CLASS(property_nextSibling_class_DOMNode, 0, MAY_BE_NULL));
zend_string_release(property_nextSibling_name);
zend_string *property_attributes_class_DOMNamedNodeMap = zend_string_init("DOMNamedNodeMap", sizeof("DOMNamedNodeMap")-1, 1);
zval property_attributes_default_value;
ZVAL_UNDEF(&property_attributes_default_value);
zend_string *property_attributes_name = zend_string_init("attributes", sizeof("attributes") - 1, 1);
zend_declare_typed_property(class_entry, property_attributes_name, &property_attributes_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_CLASS(property_attributes_class_DOMNamedNodeMap, 0, MAY_BE_NULL));
zend_string_release(property_attributes_name);
zend_string *property_ownerDocument_class_DOMDocument = zend_string_init("DOMDocument", sizeof("DOMDocument")-1, 1);
zval property_ownerDocument_default_value;
ZVAL_UNDEF(&property_ownerDocument_default_value);
zend_string *property_ownerDocument_name = zend_string_init("ownerDocument", sizeof("ownerDocument") - 1, 1);
zend_declare_typed_property(class_entry, property_ownerDocument_name, &property_ownerDocument_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_CLASS(property_ownerDocument_class_DOMDocument, 0, MAY_BE_NULL));
zend_string_release(property_ownerDocument_name);
zval property_namespaceURI_default_value;
ZVAL_UNDEF(&property_namespaceURI_default_value);
zend_string *property_namespaceURI_name = zend_string_init("namespaceURI", sizeof("namespaceURI") - 1, 1);
zend_declare_typed_property(class_entry, property_namespaceURI_name, &property_namespaceURI_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_STRING|MAY_BE_NULL));
zend_string_release(property_namespaceURI_name);
zval property_prefix_default_value;
ZVAL_EMPTY_STRING(&property_prefix_default_value);
zend_string *property_prefix_name = zend_string_init("prefix", sizeof("prefix") - 1, 1);
zend_declare_property_ex(class_entry, property_prefix_name, &property_prefix_default_value, ZEND_ACC_PUBLIC, NULL);
zend_string_release(property_prefix_name);
zval property_localName_default_value;
ZVAL_UNDEF(&property_localName_default_value);
zend_string *property_localName_name = zend_string_init("localName", sizeof("localName") - 1, 1);
zend_declare_typed_property(class_entry, property_localName_name, &property_localName_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_STRING|MAY_BE_NULL));
zend_string_release(property_localName_name);
zval property_baseURI_default_value;
ZVAL_UNDEF(&property_baseURI_default_value);
zend_string *property_baseURI_name = zend_string_init("baseURI", sizeof("baseURI") - 1, 1);
zend_declare_typed_property(class_entry, property_baseURI_name, &property_baseURI_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_STRING|MAY_BE_NULL));
zend_string_release(property_baseURI_name);
zval property_textContent_default_value;
ZVAL_EMPTY_STRING(&property_textContent_default_value);
zend_string *property_textContent_name = zend_string_init("textContent", sizeof("textContent") - 1, 1);
zend_declare_property_ex(class_entry, property_textContent_name, &property_textContent_default_value, ZEND_ACC_PUBLIC, NULL);
zend_string_release(property_textContent_name);
return class_entry; return class_entry;
} }
@ -915,6 +1057,56 @@ static zend_class_entry *register_class_DOMNameSpaceNode(void)
INIT_CLASS_ENTRY(ce, "DOMNameSpaceNode", class_DOMNameSpaceNode_methods); INIT_CLASS_ENTRY(ce, "DOMNameSpaceNode", class_DOMNameSpaceNode_methods);
class_entry = zend_register_internal_class_ex(&ce, NULL); class_entry = zend_register_internal_class_ex(&ce, NULL);
zval property_nodeName_default_value;
ZVAL_UNDEF(&property_nodeName_default_value);
zend_string *property_nodeName_name = zend_string_init("nodeName", sizeof("nodeName") - 1, 1);
zend_declare_typed_property(class_entry, property_nodeName_name, &property_nodeName_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_STRING));
zend_string_release(property_nodeName_name);
zval property_nodeValue_default_value;
ZVAL_UNDEF(&property_nodeValue_default_value);
zend_string *property_nodeValue_name = zend_string_init("nodeValue", sizeof("nodeValue") - 1, 1);
zend_declare_typed_property(class_entry, property_nodeValue_name, &property_nodeValue_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_STRING|MAY_BE_NULL));
zend_string_release(property_nodeValue_name);
zval property_nodeType_default_value;
ZVAL_UNDEF(&property_nodeType_default_value);
zend_string *property_nodeType_name = zend_string_init("nodeType", sizeof("nodeType") - 1, 1);
zend_declare_typed_property(class_entry, property_nodeType_name, &property_nodeType_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
zend_string_release(property_nodeType_name);
zval property_prefix_default_value;
ZVAL_UNDEF(&property_prefix_default_value);
zend_string *property_prefix_name = zend_string_init("prefix", sizeof("prefix") - 1, 1);
zend_declare_typed_property(class_entry, property_prefix_name, &property_prefix_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_STRING));
zend_string_release(property_prefix_name);
zval property_localName_default_value;
ZVAL_UNDEF(&property_localName_default_value);
zend_string *property_localName_name = zend_string_init("localName", sizeof("localName") - 1, 1);
zend_declare_typed_property(class_entry, property_localName_name, &property_localName_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_STRING|MAY_BE_NULL));
zend_string_release(property_localName_name);
zval property_namespaceURI_default_value;
ZVAL_UNDEF(&property_namespaceURI_default_value);
zend_string *property_namespaceURI_name = zend_string_init("namespaceURI", sizeof("namespaceURI") - 1, 1);
zend_declare_typed_property(class_entry, property_namespaceURI_name, &property_namespaceURI_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_STRING|MAY_BE_NULL));
zend_string_release(property_namespaceURI_name);
zend_string *property_ownerDocument_class_DOMDocument = zend_string_init("DOMDocument", sizeof("DOMDocument")-1, 1);
zval property_ownerDocument_default_value;
ZVAL_UNDEF(&property_ownerDocument_default_value);
zend_string *property_ownerDocument_name = zend_string_init("ownerDocument", sizeof("ownerDocument") - 1, 1);
zend_declare_typed_property(class_entry, property_ownerDocument_name, &property_ownerDocument_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_CLASS(property_ownerDocument_class_DOMDocument, 0, MAY_BE_NULL));
zend_string_release(property_ownerDocument_name);
zend_string *property_parentNode_class_DOMNode = zend_string_init("DOMNode", sizeof("DOMNode")-1, 1);
zval property_parentNode_default_value;
ZVAL_UNDEF(&property_parentNode_default_value);
zend_string *property_parentNode_name = zend_string_init("parentNode", sizeof("parentNode") - 1, 1);
zend_declare_typed_property(class_entry, property_parentNode_name, &property_parentNode_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_CLASS(property_parentNode_class_DOMNode, 0, MAY_BE_NULL));
zend_string_release(property_parentNode_name);
return class_entry; return class_entry;
} }
@ -936,6 +1128,26 @@ static zend_class_entry *register_class_DOMDocumentFragment(zend_class_entry *cl
class_entry = zend_register_internal_class_ex(&ce, class_entry_DOMNode); class_entry = zend_register_internal_class_ex(&ce, class_entry_DOMNode);
zend_class_implements(class_entry, 1, class_entry_DOMParentNode); zend_class_implements(class_entry, 1, class_entry_DOMParentNode);
zend_string *property_firstElementChild_class_DOMElement = zend_string_init("DOMElement", sizeof("DOMElement")-1, 1);
zval property_firstElementChild_default_value;
ZVAL_UNDEF(&property_firstElementChild_default_value);
zend_string *property_firstElementChild_name = zend_string_init("firstElementChild", sizeof("firstElementChild") - 1, 1);
zend_declare_typed_property(class_entry, property_firstElementChild_name, &property_firstElementChild_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_CLASS(property_firstElementChild_class_DOMElement, 0, MAY_BE_NULL));
zend_string_release(property_firstElementChild_name);
zend_string *property_lastElementChild_class_DOMElement = zend_string_init("DOMElement", sizeof("DOMElement")-1, 1);
zval property_lastElementChild_default_value;
ZVAL_UNDEF(&property_lastElementChild_default_value);
zend_string *property_lastElementChild_name = zend_string_init("lastElementChild", sizeof("lastElementChild") - 1, 1);
zend_declare_typed_property(class_entry, property_lastElementChild_name, &property_lastElementChild_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_CLASS(property_lastElementChild_class_DOMElement, 0, MAY_BE_NULL));
zend_string_release(property_lastElementChild_name);
zval property_childElementCount_default_value;
ZVAL_UNDEF(&property_childElementCount_default_value);
zend_string *property_childElementCount_name = zend_string_init("childElementCount", sizeof("childElementCount") - 1, 1);
zend_declare_typed_property(class_entry, property_childElementCount_name, &property_childElementCount_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
zend_string_release(property_childElementCount_name);
return class_entry; return class_entry;
} }
@ -947,6 +1159,12 @@ static zend_class_entry *register_class_DOMNodeList(zend_class_entry *class_entr
class_entry = zend_register_internal_class_ex(&ce, NULL); class_entry = zend_register_internal_class_ex(&ce, NULL);
zend_class_implements(class_entry, 2, class_entry_IteratorAggregate, class_entry_Countable); zend_class_implements(class_entry, 2, class_entry_IteratorAggregate, class_entry_Countable);
zval property_length_default_value;
ZVAL_UNDEF(&property_length_default_value);
zend_string *property_length_name = zend_string_init("length", sizeof("length") - 1, 1);
zend_declare_typed_property(class_entry, property_length_name, &property_length_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
zend_string_release(property_length_name);
return class_entry; return class_entry;
} }
@ -958,6 +1176,32 @@ static zend_class_entry *register_class_DOMCharacterData(zend_class_entry *class
class_entry = zend_register_internal_class_ex(&ce, class_entry_DOMNode); class_entry = zend_register_internal_class_ex(&ce, class_entry_DOMNode);
zend_class_implements(class_entry, 1, class_entry_DOMChildNode); zend_class_implements(class_entry, 1, class_entry_DOMChildNode);
zval property_data_default_value;
ZVAL_UNDEF(&property_data_default_value);
zend_string *property_data_name = zend_string_init("data", sizeof("data") - 1, 1);
zend_declare_typed_property(class_entry, property_data_name, &property_data_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_STRING));
zend_string_release(property_data_name);
zval property_length_default_value;
ZVAL_UNDEF(&property_length_default_value);
zend_string *property_length_name = zend_string_init("length", sizeof("length") - 1, 1);
zend_declare_typed_property(class_entry, property_length_name, &property_length_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
zend_string_release(property_length_name);
zend_string *property_previousElementSibling_class_DOMElement = zend_string_init("DOMElement", sizeof("DOMElement")-1, 1);
zval property_previousElementSibling_default_value;
ZVAL_UNDEF(&property_previousElementSibling_default_value);
zend_string *property_previousElementSibling_name = zend_string_init("previousElementSibling", sizeof("previousElementSibling") - 1, 1);
zend_declare_typed_property(class_entry, property_previousElementSibling_name, &property_previousElementSibling_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_CLASS(property_previousElementSibling_class_DOMElement, 0, MAY_BE_NULL));
zend_string_release(property_previousElementSibling_name);
zend_string *property_nextElementSibling_class_DOMElement = zend_string_init("DOMElement", sizeof("DOMElement")-1, 1);
zval property_nextElementSibling_default_value;
ZVAL_UNDEF(&property_nextElementSibling_default_value);
zend_string *property_nextElementSibling_name = zend_string_init("nextElementSibling", sizeof("nextElementSibling") - 1, 1);
zend_declare_typed_property(class_entry, property_nextElementSibling_name, &property_nextElementSibling_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_CLASS(property_nextElementSibling_class_DOMElement, 0, MAY_BE_NULL));
zend_string_release(property_nextElementSibling_name);
return class_entry; return class_entry;
} }
@ -968,6 +1212,37 @@ static zend_class_entry *register_class_DOMAttr(zend_class_entry *class_entry_DO
INIT_CLASS_ENTRY(ce, "DOMAttr", class_DOMAttr_methods); INIT_CLASS_ENTRY(ce, "DOMAttr", class_DOMAttr_methods);
class_entry = zend_register_internal_class_ex(&ce, class_entry_DOMNode); class_entry = zend_register_internal_class_ex(&ce, class_entry_DOMNode);
zval property_name_default_value;
ZVAL_UNDEF(&property_name_default_value);
zend_string *property_name_name = zend_string_init("name", sizeof("name") - 1, 1);
zend_declare_typed_property(class_entry, property_name_name, &property_name_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_STRING));
zend_string_release(property_name_name);
zval property_specified_default_value;
ZVAL_BOOL(&property_specified_default_value, 1);
zend_string *property_specified_name = zend_string_init("specified", sizeof("specified") - 1, 1);
zend_declare_typed_property(class_entry, property_specified_name, &property_specified_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_BOOL));
zend_string_release(property_specified_name);
zval property_value_default_value;
ZVAL_UNDEF(&property_value_default_value);
zend_string *property_value_name = zend_string_init("value", sizeof("value") - 1, 1);
zend_declare_typed_property(class_entry, property_value_name, &property_value_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_STRING));
zend_string_release(property_value_name);
zend_string *property_ownerElement_class_DOMElement = zend_string_init("DOMElement", sizeof("DOMElement")-1, 1);
zval property_ownerElement_default_value;
ZVAL_UNDEF(&property_ownerElement_default_value);
zend_string *property_ownerElement_name = zend_string_init("ownerElement", sizeof("ownerElement") - 1, 1);
zend_declare_typed_property(class_entry, property_ownerElement_name, &property_ownerElement_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_CLASS(property_ownerElement_class_DOMElement, 0, MAY_BE_NULL));
zend_string_release(property_ownerElement_name);
zval property_schemaTypeInfo_default_value;
ZVAL_NULL(&property_schemaTypeInfo_default_value);
zend_string *property_schemaTypeInfo_name = zend_string_init("schemaTypeInfo", sizeof("schemaTypeInfo") - 1, 1);
zend_declare_typed_property(class_entry, property_schemaTypeInfo_name, &property_schemaTypeInfo_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_ANY));
zend_string_release(property_schemaTypeInfo_name);
return class_entry; return class_entry;
} }
@ -979,6 +1254,52 @@ static zend_class_entry *register_class_DOMElement(zend_class_entry *class_entry
class_entry = zend_register_internal_class_ex(&ce, class_entry_DOMNode); class_entry = zend_register_internal_class_ex(&ce, class_entry_DOMNode);
zend_class_implements(class_entry, 2, class_entry_DOMParentNode, class_entry_DOMChildNode); zend_class_implements(class_entry, 2, class_entry_DOMParentNode, class_entry_DOMChildNode);
zval property_tagName_default_value;
ZVAL_UNDEF(&property_tagName_default_value);
zend_string *property_tagName_name = zend_string_init("tagName", sizeof("tagName") - 1, 1);
zend_declare_typed_property(class_entry, property_tagName_name, &property_tagName_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_STRING));
zend_string_release(property_tagName_name);
zval property_schemaTypeInfo_default_value;
ZVAL_NULL(&property_schemaTypeInfo_default_value);
zend_string *property_schemaTypeInfo_name = zend_string_init("schemaTypeInfo", sizeof("schemaTypeInfo") - 1, 1);
zend_declare_typed_property(class_entry, property_schemaTypeInfo_name, &property_schemaTypeInfo_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_ANY));
zend_string_release(property_schemaTypeInfo_name);
zend_string *property_firstElementChild_class_DOMElement = zend_string_init("DOMElement", sizeof("DOMElement")-1, 1);
zval property_firstElementChild_default_value;
ZVAL_UNDEF(&property_firstElementChild_default_value);
zend_string *property_firstElementChild_name = zend_string_init("firstElementChild", sizeof("firstElementChild") - 1, 1);
zend_declare_typed_property(class_entry, property_firstElementChild_name, &property_firstElementChild_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_CLASS(property_firstElementChild_class_DOMElement, 0, MAY_BE_NULL));
zend_string_release(property_firstElementChild_name);
zend_string *property_lastElementChild_class_DOMElement = zend_string_init("DOMElement", sizeof("DOMElement")-1, 1);
zval property_lastElementChild_default_value;
ZVAL_UNDEF(&property_lastElementChild_default_value);
zend_string *property_lastElementChild_name = zend_string_init("lastElementChild", sizeof("lastElementChild") - 1, 1);
zend_declare_typed_property(class_entry, property_lastElementChild_name, &property_lastElementChild_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_CLASS(property_lastElementChild_class_DOMElement, 0, MAY_BE_NULL));
zend_string_release(property_lastElementChild_name);
zval property_childElementCount_default_value;
ZVAL_UNDEF(&property_childElementCount_default_value);
zend_string *property_childElementCount_name = zend_string_init("childElementCount", sizeof("childElementCount") - 1, 1);
zend_declare_typed_property(class_entry, property_childElementCount_name, &property_childElementCount_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
zend_string_release(property_childElementCount_name);
zend_string *property_previousElementSibling_class_DOMElement = zend_string_init("DOMElement", sizeof("DOMElement")-1, 1);
zval property_previousElementSibling_default_value;
ZVAL_UNDEF(&property_previousElementSibling_default_value);
zend_string *property_previousElementSibling_name = zend_string_init("previousElementSibling", sizeof("previousElementSibling") - 1, 1);
zend_declare_typed_property(class_entry, property_previousElementSibling_name, &property_previousElementSibling_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_CLASS(property_previousElementSibling_class_DOMElement, 0, MAY_BE_NULL));
zend_string_release(property_previousElementSibling_name);
zend_string *property_nextElementSibling_class_DOMElement = zend_string_init("DOMElement", sizeof("DOMElement")-1, 1);
zval property_nextElementSibling_default_value;
ZVAL_UNDEF(&property_nextElementSibling_default_value);
zend_string *property_nextElementSibling_name = zend_string_init("nextElementSibling", sizeof("nextElementSibling") - 1, 1);
zend_declare_typed_property(class_entry, property_nextElementSibling_name, &property_nextElementSibling_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_CLASS(property_nextElementSibling_class_DOMElement, 0, MAY_BE_NULL));
zend_string_release(property_nextElementSibling_name);
return class_entry; return class_entry;
} }
@ -990,6 +1311,143 @@ static zend_class_entry *register_class_DOMDocument(zend_class_entry *class_entr
class_entry = zend_register_internal_class_ex(&ce, class_entry_DOMNode); class_entry = zend_register_internal_class_ex(&ce, class_entry_DOMNode);
zend_class_implements(class_entry, 1, class_entry_DOMParentNode); zend_class_implements(class_entry, 1, class_entry_DOMParentNode);
zend_string *property_doctype_class_DOMDocumentType = zend_string_init("DOMDocumentType", sizeof("DOMDocumentType")-1, 1);
zval property_doctype_default_value;
ZVAL_UNDEF(&property_doctype_default_value);
zend_string *property_doctype_name = zend_string_init("doctype", sizeof("doctype") - 1, 1);
zend_declare_typed_property(class_entry, property_doctype_name, &property_doctype_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_CLASS(property_doctype_class_DOMDocumentType, 0, MAY_BE_NULL));
zend_string_release(property_doctype_name);
zend_string *property_implementation_class_DOMImplementation = zend_string_init("DOMImplementation", sizeof("DOMImplementation")-1, 1);
zval property_implementation_default_value;
ZVAL_UNDEF(&property_implementation_default_value);
zend_string *property_implementation_name = zend_string_init("implementation", sizeof("implementation") - 1, 1);
zend_declare_typed_property(class_entry, property_implementation_name, &property_implementation_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_CLASS(property_implementation_class_DOMImplementation, 0, 0));
zend_string_release(property_implementation_name);
zend_string *property_documentElement_class_DOMElement = zend_string_init("DOMElement", sizeof("DOMElement")-1, 1);
zval property_documentElement_default_value;
ZVAL_UNDEF(&property_documentElement_default_value);
zend_string *property_documentElement_name = zend_string_init("documentElement", sizeof("documentElement") - 1, 1);
zend_declare_typed_property(class_entry, property_documentElement_name, &property_documentElement_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_CLASS(property_documentElement_class_DOMElement, 0, MAY_BE_NULL));
zend_string_release(property_documentElement_name);
zval property_actualEncoding_default_value;
ZVAL_UNDEF(&property_actualEncoding_default_value);
zend_string *property_actualEncoding_name = zend_string_init("actualEncoding", sizeof("actualEncoding") - 1, 1);
zend_declare_typed_property(class_entry, property_actualEncoding_name, &property_actualEncoding_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_STRING|MAY_BE_NULL));
zend_string_release(property_actualEncoding_name);
zval property_encoding_default_value;
ZVAL_NULL(&property_encoding_default_value);
zend_string *property_encoding_name = zend_string_init("encoding", sizeof("encoding") - 1, 1);
zend_declare_property_ex(class_entry, property_encoding_name, &property_encoding_default_value, ZEND_ACC_PUBLIC, NULL);
zend_string_release(property_encoding_name);
zval property_xmlEncoding_default_value;
ZVAL_UNDEF(&property_xmlEncoding_default_value);
zend_string *property_xmlEncoding_name = zend_string_init("xmlEncoding", sizeof("xmlEncoding") - 1, 1);
zend_declare_typed_property(class_entry, property_xmlEncoding_name, &property_xmlEncoding_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_STRING|MAY_BE_NULL));
zend_string_release(property_xmlEncoding_name);
zval property_standalone_default_value;
ZVAL_BOOL(&property_standalone_default_value, 0);
zend_string *property_standalone_name = zend_string_init("standalone", sizeof("standalone") - 1, 1);
zend_declare_property_ex(class_entry, property_standalone_name, &property_standalone_default_value, ZEND_ACC_PUBLIC, NULL);
zend_string_release(property_standalone_name);
zval property_xmlStandalone_default_value;
ZVAL_BOOL(&property_xmlStandalone_default_value, 0);
zend_string *property_xmlStandalone_name = zend_string_init("xmlStandalone", sizeof("xmlStandalone") - 1, 1);
zend_declare_property_ex(class_entry, property_xmlStandalone_name, &property_xmlStandalone_default_value, ZEND_ACC_PUBLIC, NULL);
zend_string_release(property_xmlStandalone_name);
zval property_version_default_value;
ZVAL_NULL(&property_version_default_value);
zend_string *property_version_name = zend_string_init("version", sizeof("version") - 1, 1);
zend_declare_property_ex(class_entry, property_version_name, &property_version_default_value, ZEND_ACC_PUBLIC, NULL);
zend_string_release(property_version_name);
zval property_xmlVersion_default_value;
ZVAL_NULL(&property_xmlVersion_default_value);
zend_string *property_xmlVersion_name = zend_string_init("xmlVersion", sizeof("xmlVersion") - 1, 1);
zend_declare_property_ex(class_entry, property_xmlVersion_name, &property_xmlVersion_default_value, ZEND_ACC_PUBLIC, NULL);
zend_string_release(property_xmlVersion_name);
zval property_strictErrorChecking_default_value;
ZVAL_BOOL(&property_strictErrorChecking_default_value, 0);
zend_string *property_strictErrorChecking_name = zend_string_init("strictErrorChecking", sizeof("strictErrorChecking") - 1, 1);
zend_declare_property_ex(class_entry, property_strictErrorChecking_name, &property_strictErrorChecking_default_value, ZEND_ACC_PUBLIC, NULL);
zend_string_release(property_strictErrorChecking_name);
zval property_documentURI_default_value;
ZVAL_NULL(&property_documentURI_default_value);
zend_string *property_documentURI_name = zend_string_init("documentURI", sizeof("documentURI") - 1, 1);
zend_declare_property_ex(class_entry, property_documentURI_name, &property_documentURI_default_value, ZEND_ACC_PUBLIC, NULL);
zend_string_release(property_documentURI_name);
zval property_config_default_value;
ZVAL_NULL(&property_config_default_value);
zend_string *property_config_name = zend_string_init("config", sizeof("config") - 1, 1);
zend_declare_typed_property(class_entry, property_config_name, &property_config_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_ANY));
zend_string_release(property_config_name);
zval property_formatOutput_default_value;
ZVAL_BOOL(&property_formatOutput_default_value, 0);
zend_string *property_formatOutput_name = zend_string_init("formatOutput", sizeof("formatOutput") - 1, 1);
zend_declare_property_ex(class_entry, property_formatOutput_name, &property_formatOutput_default_value, ZEND_ACC_PUBLIC, NULL);
zend_string_release(property_formatOutput_name);
zval property_validateOnParse_default_value;
ZVAL_BOOL(&property_validateOnParse_default_value, 0);
zend_string *property_validateOnParse_name = zend_string_init("validateOnParse", sizeof("validateOnParse") - 1, 1);
zend_declare_property_ex(class_entry, property_validateOnParse_name, &property_validateOnParse_default_value, ZEND_ACC_PUBLIC, NULL);
zend_string_release(property_validateOnParse_name);
zval property_resolveExternals_default_value;
ZVAL_BOOL(&property_resolveExternals_default_value, 0);
zend_string *property_resolveExternals_name = zend_string_init("resolveExternals", sizeof("resolveExternals") - 1, 1);
zend_declare_property_ex(class_entry, property_resolveExternals_name, &property_resolveExternals_default_value, ZEND_ACC_PUBLIC, NULL);
zend_string_release(property_resolveExternals_name);
zval property_preserveWhiteSpace_default_value;
ZVAL_BOOL(&property_preserveWhiteSpace_default_value, 0);
zend_string *property_preserveWhiteSpace_name = zend_string_init("preserveWhiteSpace", sizeof("preserveWhiteSpace") - 1, 1);
zend_declare_property_ex(class_entry, property_preserveWhiteSpace_name, &property_preserveWhiteSpace_default_value, ZEND_ACC_PUBLIC, NULL);
zend_string_release(property_preserveWhiteSpace_name);
zval property_recover_default_value;
ZVAL_BOOL(&property_recover_default_value, 0);
zend_string *property_recover_name = zend_string_init("recover", sizeof("recover") - 1, 1);
zend_declare_property_ex(class_entry, property_recover_name, &property_recover_default_value, ZEND_ACC_PUBLIC, NULL);
zend_string_release(property_recover_name);
zval property_substituteEntities_default_value;
ZVAL_BOOL(&property_substituteEntities_default_value, 0);
zend_string *property_substituteEntities_name = zend_string_init("substituteEntities", sizeof("substituteEntities") - 1, 1);
zend_declare_property_ex(class_entry, property_substituteEntities_name, &property_substituteEntities_default_value, ZEND_ACC_PUBLIC, NULL);
zend_string_release(property_substituteEntities_name);
zend_string *property_firstElementChild_class_DOMElement = zend_string_init("DOMElement", sizeof("DOMElement")-1, 1);
zval property_firstElementChild_default_value;
ZVAL_UNDEF(&property_firstElementChild_default_value);
zend_string *property_firstElementChild_name = zend_string_init("firstElementChild", sizeof("firstElementChild") - 1, 1);
zend_declare_typed_property(class_entry, property_firstElementChild_name, &property_firstElementChild_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_CLASS(property_firstElementChild_class_DOMElement, 0, MAY_BE_NULL));
zend_string_release(property_firstElementChild_name);
zend_string *property_lastElementChild_class_DOMElement = zend_string_init("DOMElement", sizeof("DOMElement")-1, 1);
zval property_lastElementChild_default_value;
ZVAL_UNDEF(&property_lastElementChild_default_value);
zend_string *property_lastElementChild_name = zend_string_init("lastElementChild", sizeof("lastElementChild") - 1, 1);
zend_declare_typed_property(class_entry, property_lastElementChild_name, &property_lastElementChild_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_CLASS(property_lastElementChild_class_DOMElement, 0, MAY_BE_NULL));
zend_string_release(property_lastElementChild_name);
zval property_childElementCount_default_value;
ZVAL_UNDEF(&property_childElementCount_default_value);
zend_string *property_childElementCount_name = zend_string_init("childElementCount", sizeof("childElementCount") - 1, 1);
zend_declare_typed_property(class_entry, property_childElementCount_name, &property_childElementCount_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
zend_string_release(property_childElementCount_name);
return class_entry; return class_entry;
} }
@ -1017,6 +1475,12 @@ static zend_class_entry *register_class_DOMText(zend_class_entry *class_entry_DO
INIT_CLASS_ENTRY(ce, "DOMText", class_DOMText_methods); INIT_CLASS_ENTRY(ce, "DOMText", class_DOMText_methods);
class_entry = zend_register_internal_class_ex(&ce, class_entry_DOMCharacterData); class_entry = zend_register_internal_class_ex(&ce, class_entry_DOMCharacterData);
zval property_wholeText_default_value;
ZVAL_UNDEF(&property_wholeText_default_value);
zend_string *property_wholeText_name = zend_string_init("wholeText", sizeof("wholeText") - 1, 1);
zend_declare_typed_property(class_entry, property_wholeText_name, &property_wholeText_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_STRING));
zend_string_release(property_wholeText_name);
return class_entry; return class_entry;
} }
@ -1028,6 +1492,12 @@ static zend_class_entry *register_class_DOMNamedNodeMap(zend_class_entry *class_
class_entry = zend_register_internal_class_ex(&ce, NULL); class_entry = zend_register_internal_class_ex(&ce, NULL);
zend_class_implements(class_entry, 2, class_entry_IteratorAggregate, class_entry_Countable); zend_class_implements(class_entry, 2, class_entry_IteratorAggregate, class_entry_Countable);
zval property_length_default_value;
ZVAL_UNDEF(&property_length_default_value);
zend_string *property_length_name = zend_string_init("length", sizeof("length") - 1, 1);
zend_declare_typed_property(class_entry, property_length_name, &property_length_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
zend_string_release(property_length_name);
return class_entry; return class_entry;
} }
@ -1038,6 +1508,42 @@ static zend_class_entry *register_class_DOMEntity(zend_class_entry *class_entry_
INIT_CLASS_ENTRY(ce, "DOMEntity", class_DOMEntity_methods); INIT_CLASS_ENTRY(ce, "DOMEntity", class_DOMEntity_methods);
class_entry = zend_register_internal_class_ex(&ce, class_entry_DOMNode); class_entry = zend_register_internal_class_ex(&ce, class_entry_DOMNode);
zval property_publicId_default_value;
ZVAL_UNDEF(&property_publicId_default_value);
zend_string *property_publicId_name = zend_string_init("publicId", sizeof("publicId") - 1, 1);
zend_declare_typed_property(class_entry, property_publicId_name, &property_publicId_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_STRING|MAY_BE_NULL));
zend_string_release(property_publicId_name);
zval property_systemId_default_value;
ZVAL_UNDEF(&property_systemId_default_value);
zend_string *property_systemId_name = zend_string_init("systemId", sizeof("systemId") - 1, 1);
zend_declare_typed_property(class_entry, property_systemId_name, &property_systemId_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_STRING|MAY_BE_NULL));
zend_string_release(property_systemId_name);
zval property_notationName_default_value;
ZVAL_UNDEF(&property_notationName_default_value);
zend_string *property_notationName_name = zend_string_init("notationName", sizeof("notationName") - 1, 1);
zend_declare_typed_property(class_entry, property_notationName_name, &property_notationName_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_STRING|MAY_BE_NULL));
zend_string_release(property_notationName_name);
zval property_actualEncoding_default_value;
ZVAL_NULL(&property_actualEncoding_default_value);
zend_string *property_actualEncoding_name = zend_string_init("actualEncoding", sizeof("actualEncoding") - 1, 1);
zend_declare_typed_property(class_entry, property_actualEncoding_name, &property_actualEncoding_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_ANY));
zend_string_release(property_actualEncoding_name);
zval property_encoding_default_value;
ZVAL_NULL(&property_encoding_default_value);
zend_string *property_encoding_name = zend_string_init("encoding", sizeof("encoding") - 1, 1);
zend_declare_typed_property(class_entry, property_encoding_name, &property_encoding_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_ANY));
zend_string_release(property_encoding_name);
zval property_version_default_value;
ZVAL_NULL(&property_version_default_value);
zend_string *property_version_name = zend_string_init("version", sizeof("version") - 1, 1);
zend_declare_typed_property(class_entry, property_version_name, &property_version_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_ANY));
zend_string_release(property_version_name);
return class_entry; return class_entry;
} }
@ -1058,6 +1564,18 @@ static zend_class_entry *register_class_DOMNotation(zend_class_entry *class_entr
INIT_CLASS_ENTRY(ce, "DOMNotation", class_DOMNotation_methods); INIT_CLASS_ENTRY(ce, "DOMNotation", class_DOMNotation_methods);
class_entry = zend_register_internal_class_ex(&ce, class_entry_DOMNode); class_entry = zend_register_internal_class_ex(&ce, class_entry_DOMNode);
zval property_publicId_default_value;
ZVAL_UNDEF(&property_publicId_default_value);
zend_string *property_publicId_name = zend_string_init("publicId", sizeof("publicId") - 1, 1);
zend_declare_typed_property(class_entry, property_publicId_name, &property_publicId_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_STRING));
zend_string_release(property_publicId_name);
zval property_systemId_default_value;
ZVAL_UNDEF(&property_systemId_default_value);
zend_string *property_systemId_name = zend_string_init("systemId", sizeof("systemId") - 1, 1);
zend_declare_typed_property(class_entry, property_systemId_name, &property_systemId_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_STRING));
zend_string_release(property_systemId_name);
return class_entry; return class_entry;
} }
@ -1068,6 +1586,18 @@ static zend_class_entry *register_class_DOMProcessingInstruction(zend_class_entr
INIT_CLASS_ENTRY(ce, "DOMProcessingInstruction", class_DOMProcessingInstruction_methods); INIT_CLASS_ENTRY(ce, "DOMProcessingInstruction", class_DOMProcessingInstruction_methods);
class_entry = zend_register_internal_class_ex(&ce, class_entry_DOMNode); class_entry = zend_register_internal_class_ex(&ce, class_entry_DOMNode);
zval property_target_default_value;
ZVAL_UNDEF(&property_target_default_value);
zend_string *property_target_name = zend_string_init("target", sizeof("target") - 1, 1);
zend_declare_typed_property(class_entry, property_target_name, &property_target_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_STRING));
zend_string_release(property_target_name);
zval property_data_default_value;
ZVAL_EMPTY_STRING(&property_data_default_value);
zend_string *property_data_name = zend_string_init("data", sizeof("data") - 1, 1);
zend_declare_property_ex(class_entry, property_data_name, &property_data_default_value, ZEND_ACC_PUBLIC, NULL);
zend_string_release(property_data_name);
return class_entry; return class_entry;
} }
@ -1078,5 +1608,18 @@ static zend_class_entry *register_class_DOMXPath(void)
INIT_CLASS_ENTRY(ce, "DOMXPath", class_DOMXPath_methods); INIT_CLASS_ENTRY(ce, "DOMXPath", class_DOMXPath_methods);
class_entry = zend_register_internal_class_ex(&ce, NULL); class_entry = zend_register_internal_class_ex(&ce, NULL);
zend_string *property_document_class_DOMDocument = zend_string_init("DOMDocument", sizeof("DOMDocument")-1, 1);
zval property_document_default_value;
ZVAL_UNDEF(&property_document_default_value);
zend_string *property_document_name = zend_string_init("document", sizeof("document") - 1, 1);
zend_declare_typed_property(class_entry, property_document_name, &property_document_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_CLASS(property_document_class_DOMDocument, 0, 0));
zend_string_release(property_document_name);
zval property_registerNodeNamespaces_default_value;
ZVAL_BOOL(&property_registerNodeNamespaces_default_value, 0);
zend_string *property_registerNodeNamespaces_name = zend_string_init("registerNodeNamespaces", sizeof("registerNodeNamespaces") - 1, 1);
zend_declare_property_ex(class_entry, property_registerNodeNamespaces_name, &property_registerNodeNamespaces_default_value, ZEND_ACC_PUBLIC, NULL);
zend_string_release(property_registerNodeNamespaces_name);
return class_entry; return class_entry;
} }

View file

@ -11,6 +11,12 @@ $fragment = new DOMDocumentFragment();
$fragment->__construct(); $fragment->__construct();
var_dump($fragment); var_dump($fragment);
?> ?>
--EXPECTF-- --EXPECT--
object(DOMDocumentFragment)#%d (%d) { object(DOMDocumentFragment)#1 (3) {
["nodeValue"]=>
NULL
["prefix"]=>
string(0) ""
["textContent"]=>
string(0) ""
} }

View file

@ -15,6 +15,6 @@ var_dump($doc->implementation);
?> ?>
--EXPECTF-- --EXPECT--
object(DOMImplementation)#%d (0) { object(DOMImplementation)#2 (0) {
} }

View file

@ -33,8 +33,8 @@ bool(false)
bool(true) bool(true)
1 1
object(DOMXPath)#4 (2) { object(DOMXPath)#4 (2) {
["document"]=>
string(22) "(object value omitted)"
["registerNodeNamespaces"]=> ["registerNodeNamespaces"]=>
bool(true) bool(true)
["document"]=>
string(22) "(object value omitted)"
} }

View file

@ -31,6 +31,14 @@ foreach ($dataNodes AS $node) {
--EXPECTF-- --EXPECTF--
int(3) int(3)
object(DOMText)#%d (21) { object(DOMText)#%d (21) {
["nodeValue"]=>
string(3) "
"
["prefix"]=>
string(0) ""
["textContent"]=>
string(3) "
"
["wholeText"]=> ["wholeText"]=>
string(3) " string(3) "
" "
@ -45,9 +53,6 @@ object(DOMText)#%d (21) {
NULL NULL
["nodeName"]=> ["nodeName"]=>
string(5) "#text" string(5) "#text"
["nodeValue"]=>
string(3) "
"
["nodeType"]=> ["nodeType"]=>
int(3) int(3)
["parentNode"]=> ["parentNode"]=>
@ -68,21 +73,30 @@ object(DOMText)#%d (21) {
string(22) "(object value omitted)" string(22) "(object value omitted)"
["namespaceURI"]=> ["namespaceURI"]=>
NULL NULL
["prefix"]=>
string(0) ""
["localName"]=> ["localName"]=>
NULL NULL
["baseURI"]=> ["baseURI"]=>
NULL NULL
["textContent"]=>
string(3) "
"
} }
object(DOMElement)#%d (23) { object(DOMElement)#%d (23) {
["tagName"]=> ["nodeValue"]=>
string(5) "form1" string(39) "
Value A
Value B
Value C
"
["prefix"]=>
string(0) ""
["textContent"]=>
string(39) "
Value A
Value B
Value C
"
["schemaTypeInfo"]=> ["schemaTypeInfo"]=>
NULL NULL
["tagName"]=>
string(5) "form1"
["firstElementChild"]=> ["firstElementChild"]=>
string(22) "(object value omitted)" string(22) "(object value omitted)"
["lastElementChild"]=> ["lastElementChild"]=>
@ -95,12 +109,6 @@ object(DOMElement)#%d (23) {
NULL NULL
["nodeName"]=> ["nodeName"]=>
string(5) "form1" string(5) "form1"
["nodeValue"]=>
string(39) "
Value A
Value B
Value C
"
["nodeType"]=> ["nodeType"]=>
int(1) int(1)
["parentNode"]=> ["parentNode"]=>
@ -121,20 +129,20 @@ object(DOMElement)#%d (23) {
string(22) "(object value omitted)" string(22) "(object value omitted)"
["namespaceURI"]=> ["namespaceURI"]=>
NULL NULL
["prefix"]=>
string(0) ""
["localName"]=> ["localName"]=>
string(5) "form1" string(5) "form1"
["baseURI"]=> ["baseURI"]=>
NULL NULL
["textContent"]=>
string(39) "
Value A
Value B
Value C
"
} }
object(DOMText)#%d (21) { object(DOMText)#%d (21) {
["nodeValue"]=>
string(1) "
"
["prefix"]=>
string(0) ""
["textContent"]=>
string(1) "
"
["wholeText"]=> ["wholeText"]=>
string(1) " string(1) "
" "
@ -149,9 +157,6 @@ object(DOMText)#%d (21) {
NULL NULL
["nodeName"]=> ["nodeName"]=>
string(5) "#text" string(5) "#text"
["nodeValue"]=>
string(1) "
"
["nodeType"]=> ["nodeType"]=>
int(3) int(3)
["parentNode"]=> ["parentNode"]=>
@ -172,13 +177,8 @@ object(DOMText)#%d (21) {
string(22) "(object value omitted)" string(22) "(object value omitted)"
["namespaceURI"]=> ["namespaceURI"]=>
NULL NULL
["prefix"]=>
string(0) ""
["localName"]=> ["localName"]=>
NULL NULL
["baseURI"]=> ["baseURI"]=>
NULL NULL
["textContent"]=>
string(1) "
"
} }

View file

@ -17,16 +17,12 @@ print_r($d);
--EXPECTF-- --EXPECTF--
DOMDocument Object DOMDocument Object
( (
[dynamicProperty] => stdClass Object [nodeValue] =>
( [prefix] =>
) [textContent] =>
foobar
[doctype] =>
[implementation] => (object value omitted)
[documentElement] => (object value omitted)
[actualEncoding] =>
[encoding] => [encoding] =>
[xmlEncoding] =>
[standalone] => 1 [standalone] => 1
[xmlStandalone] => 1 [xmlStandalone] => 1
[version] => 1.0 [version] => 1.0
@ -40,11 +36,19 @@ DOMDocument Object
[preserveWhiteSpace] => 1 [preserveWhiteSpace] => 1
[recover] => [recover] =>
[substituteEntities] => [substituteEntities] =>
[dynamicProperty] => stdClass Object
(
)
[doctype] =>
[implementation] => (object value omitted)
[documentElement] => (object value omitted)
[actualEncoding] =>
[xmlEncoding] =>
[firstElementChild] => (object value omitted) [firstElementChild] => (object value omitted)
[lastElementChild] => (object value omitted) [lastElementChild] => (object value omitted)
[childElementCount] => 1 [childElementCount] => 1
[nodeName] => #document [nodeName] => #document
[nodeValue] =>
[nodeType] => 9 [nodeType] => 9
[parentNode] => [parentNode] =>
[childNodes] => (object value omitted) [childNodes] => (object value omitted)
@ -55,10 +59,6 @@ DOMDocument Object
[attributes] => [attributes] =>
[ownerDocument] => [ownerDocument] =>
[namespaceURI] => [namespaceURI] =>
[prefix] =>
[localName] => [localName] =>
[baseURI] => %s [baseURI] => %s
[textContent] =>
foobar
) )