diff --git a/ext/dom/document.c b/ext/dom/document.c index 85879790a75f3..4dee5548f1887 100644 --- a/ext/dom/document.c +++ b/ext/dom/document.c @@ -533,7 +533,8 @@ PHP_METHOD(DOMDocument, createElement) node = xmlNewDocNode(docp, NULL, (xmlChar *) name, (xmlChar *) value); if (!node) { - RETURN_FALSE; + php_dom_throw_error(INVALID_STATE_ERR, /* strict */ true); + RETURN_THROWS(); } DOM_RET_OBJ(node, &ret, intern); @@ -558,9 +559,10 @@ PHP_METHOD(DOMDocument, createDocumentFragment) DOM_GET_OBJ(docp, id, xmlDocPtr, intern); - node = xmlNewDocFragment(docp); + node = xmlNewDocFragment(docp); if (!node) { - RETURN_FALSE; + php_dom_throw_error(INVALID_STATE_ERR, /* strict */ true); + RETURN_THROWS(); } DOM_RET_OBJ(node, &ret, intern); @@ -589,7 +591,8 @@ PHP_METHOD(DOMDocument, createTextNode) node = xmlNewDocText(docp, (xmlChar *) value); if (!node) { - RETURN_FALSE; + php_dom_throw_error(INVALID_STATE_ERR, /* strict */ true); + RETURN_THROWS(); } DOM_RET_OBJ(node, &ret, intern); @@ -618,7 +621,8 @@ PHP_METHOD(DOMDocument, createComment) node = xmlNewDocComment(docp, (xmlChar *) value); if (!node) { - RETURN_FALSE; + php_dom_throw_error(INVALID_STATE_ERR, /* strict */ true); + RETURN_THROWS(); } DOM_RET_OBJ(node, &ret, intern); @@ -647,7 +651,8 @@ PHP_METHOD(DOMDocument, createCDATASection) node = xmlNewCDataBlock(docp, (xmlChar *) value, value_len); if (!node) { - RETURN_FALSE; + php_dom_throw_error(INVALID_STATE_ERR, /* strict */ true); + RETURN_THROWS(); } DOM_RET_OBJ(node, &ret, intern); @@ -681,7 +686,8 @@ PHP_METHOD(DOMDocument, createProcessingInstruction) node = xmlNewPI((xmlChar *) name, (xmlChar *) value); if (!node) { - RETURN_FALSE; + php_dom_throw_error(INVALID_STATE_ERR, /* strict */ true); + RETURN_THROWS(); } node->doc = docp; @@ -717,7 +723,8 @@ PHP_METHOD(DOMDocument, createAttribute) node = xmlNewDocProp(docp, (xmlChar *) name, NULL); if (!node) { - RETURN_FALSE; + php_dom_throw_error(INVALID_STATE_ERR, /* strict */ true); + RETURN_THROWS(); } DOM_RET_OBJ((xmlNodePtr) node, &ret, intern); @@ -752,7 +759,8 @@ PHP_METHOD(DOMDocument, createEntityReference) node = xmlNewReference(docp, (xmlChar *) name); if (!node) { - RETURN_FALSE; + php_dom_throw_error(INVALID_STATE_ERR, /* strict */ true); + RETURN_THROWS(); } DOM_RET_OBJ((xmlNodePtr) node, &ret, intern); diff --git a/ext/dom/php_dom.stub.php b/ext/dom/php_dom.stub.php index dec474bd85eb3..e1944b010abb6 100644 --- a/ext/dom/php_dom.stub.php +++ b/ext/dom/php_dom.stub.php @@ -467,10 +467,10 @@ public function createAttributeNS(?string $namespace, string $qualifiedName) {} /** @return DOMCdataSection|false */ public function createCDATASection(string $data) {} - /** @return DOMComment|false */ + /** @return DOMComment */ public function createComment(string $data) {} - /** @return DOMDocumentFragment|false */ + /** @return DOMDocumentFragment */ public function createDocumentFragment() {} /** @return DOMElement|false */ @@ -485,7 +485,7 @@ public function createEntityReference(string $name) {} /** @return DOMProcessingInstruction|false */ public function createProcessingInstruction(string $target, string $data = "") {} - /** @return DOMText|false */ + /** @return DOMText */ public function createTextNode(string $data) {} /** @return DOMElement|null */ diff --git a/ext/dom/php_dom_arginfo.h b/ext/dom/php_dom_arginfo.h index 1b77719f4caaf..0966982f87966 100644 --- a/ext/dom/php_dom_arginfo.h +++ b/ext/dom/php_dom_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: f9bcfaa9c0ed58949c4ee58fbf1833359010be7d */ + * Stub hash: 6045721c540d168c7e2323b6c7b685c073d17971 */ 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)