@@ -31,12 +31,9 @@ class DOMNode
3131{
3232 /**
3333 * @readonly
34- * @var DOMNamedNodeMap<DOMAttr<string> >|null
34+ * @var DOMNamedNodeMap<DOMAttr>|null
3535 */
3636 public $attributes;
37-
38- /** @phpstan-assert-if-true !null $this->attributes */
39- public function hasAttributes(): bool
4037}
4138
4239class DOMElement extends DOMNode
@@ -45,13 +42,6 @@ class DOMElement extends DOMNode
4542 /** @var DOMDocument */
4643 public $ownerDocument;
4744
48- /**
49- * @readonly
50- * @inherited
51- * @var DOMNamedNodeMap<DOMAttr<string>>|null
52- */
53- public $attributes;
54-
5545 /**
5646 * @param string $name
5747 * @return DOMNodeList<DOMElement>
@@ -65,23 +55,6 @@ class DOMElement extends DOMNode
6555 */
6656 public function getElementsByTagNameNS ($namespaceURI, $localName) {}
6757
68- /**
69- * @template T of string
70- * @param T $qualifiedName
71- * @return bool
72- * @phpstan-assert-if-true (T is 'xml:id' ? DOMNameSpaceNode : DOMAttr<T>) $this->hasAttribute($qualifiedName)
73- * @phpstan-assert-if-true DOMNameSpaceNode<DOMAttr<T>|DOMAttr<string>> $this->$attributes
74- */
75- public function hasAttribute(string $qualifiedName): bool
76-
77- public function hasAttributeNS(?string $namespace, string $localName): bool
78-
79- /**
80- * @template T of string
81- * @param T $qualifiedName
82- * @return (T is 'xml:id' ? DOMNameSpaceNode|false : DOMAttr|false)
83- */
84- public function getAttributeNode(string $qualifiedName): DOMAttr<T>|DOMNameSpaceNode|false
8558}
8659
8760/**
@@ -113,20 +86,12 @@ class DOMXPath
11386
11487}
11588
116- /**
117- * @template Name as string
118- */
11989class DOMAttr extends DOMNode
12090{
91+
12192 /** @var DOMDocument */
12293 public $ownerDocument;
12394
124- /**
125- * @var Name
126- * @readonly
127- */
128- public $name;
129-
13095}
13196
13297class DOMCharacterData extends DOMNode
0 commit comments