Skip to content

Commit 5f475ea

Browse files
committed
Revert "bleh"
This reverts commit d681069.
1 parent d681069 commit 5f475ea

File tree

1 file changed

+30
-4
lines changed

1 file changed

+30
-4
lines changed

stubs/dom.stub

Lines changed: 30 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ class DOMNode
3131
{
3232
/**
3333
* @readonly
34-
* @var DOMNamedNodeMap<DOMAttr>|null
34+
* @var DOMNamedNodeMap<DOMAttr<string>>|null
3535
*/
3636
public $attributes;
3737

@@ -45,6 +45,13 @@ class DOMElement extends DOMNode
4545
/** @var DOMDocument */
4646
public $ownerDocument;
4747

48+
/**
49+
* @readonly
50+
* @inherited
51+
* @var DOMNamedNodeMap<DOMAttr<string>>|null
52+
*/
53+
public $attributes;
54+
4855
/**
4956
* @param string $name
5057
* @return DOMNodeList<DOMElement>
@@ -59,12 +66,22 @@ class DOMElement extends DOMNode
5966
public function getElementsByTagNameNS ($namespaceURI, $localName) {}
6067

6168
/**
62-
* @phpstan-assert-if-true DOMNameSpaceNode|DOMAttr $this->hasAttribute($qualifiedName)
63-
* @phpstan-assert-if-true DOMNamedNodeMap<DOMAttr> $this->attributes
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
6474
*/
6575
public function hasAttribute(string $qualifiedName): bool
6676

67-
public function getAttributeNode(string $qualifiedName): DOMAttr|DOMNameSpaceNode|false
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
6885
}
6986

7087
/**
@@ -96,11 +113,20 @@ class DOMXPath
96113

97114
}
98115

116+
/**
117+
* @template Name as string
118+
*/
99119
class DOMAttr extends DOMNode
100120
{
101121
/** @var DOMDocument */
102122
public $ownerDocument;
103123

124+
/**
125+
* @var Name
126+
* @readonly
127+
*/
128+
public $name;
129+
104130
}
105131

106132
class DOMCharacterData extends DOMNode

0 commit comments

Comments
 (0)