File tree Expand file tree Collapse file tree 2 files changed +11
-12
lines changed
tests/PHPStan/Rules/Properties/data Expand file tree Collapse file tree 2 files changed +11
-12
lines changed Original file line number Diff line number Diff line change @@ -34,6 +34,12 @@ class DOMNode
34
34
* @var DOMNamedNodeMap<DOMAttr>|null
35
35
*/
36
36
public $attributes;
37
+
38
+ /**
39
+ * @phpstan-assert-if-true DOMNamedNodeMap<DOMAttr> $this->attributes
40
+ * @phpstan-assert-if-false null $this->attributes
41
+ */
42
+ public function hasAttributes(): bool {}
37
43
}
38
44
39
45
class DOMElement extends DOMNode
Original file line number Diff line number Diff line change 3
3
use function PHPStan \Testing \assertType ;
4
4
5
5
function basic_node (\DOMNode $ node ): void {
6
- assertType (DOMNamedNodeMap::class . '< ' . DOMAttr::class . '> ' , $ node ->attributes );
7
- };
8
-
9
- function element_node (\DOMElement $ node ): void
10
- {
11
- assertType (DOMNamedNodeMap::class . '< ' . DOMAttr::class . '> ' , $ node ->attributes );
12
- $ attribute = $ node ->attributes ->getNamedItem ('class ' );
13
- if ($ attribute === null ) {
14
- return ;
6
+ if ($ node ->hasAttributes ()) {
7
+ assertType (DOMNamedNodeMap::class . '< ' . DOMAttr::class . '> ' , $ node ->attributes );
8
+ } else {
9
+ assertType ('null ' , $ node ->attributes );
15
10
}
16
- assertType (DOMAttr::class, $ attribute );
17
- assertType ('string ' , $ attribute ->value );
18
- }
11
+ };
You can’t perform that action at this time.
0 commit comments