File tree Expand file tree Collapse file tree 2 files changed +30
-1
lines changed
tests/PHPStan/Analyser/nsrt Expand file tree Collapse file tree 2 files changed +30
-1
lines changed Original file line number Diff line number Diff line change @@ -36,7 +36,7 @@ class DOMNode
3636 public $attributes;
3737
3838 /**
39- * @phpstan-assert-if-true !null $this->attributes
39+ * @phpstan-assert-if-true =DOMNamedNodeMap $this->attributes
4040 * @return bool
4141 */
4242 public function hasAttributes() {}
@@ -46,6 +46,9 @@ class DOMNode
4646class DOMElement extends DOMNode
4747{
4848
49+ /** @var DOMNamedNodeMap */
50+ public $attributes;
51+
4952 /** @var DOMDocument */
5053 public $ownerDocument;
5154
Original file line number Diff line number Diff line change 1+ <?php declare (strict_types = 1 );
2+
3+ namespace Bug13076 ;
4+
5+ use function PHPStan \Testing \assertType ;
6+
7+ class Foo
8+ {
9+ public function test (\DOMNode $ node ): void
10+ {
11+ if ($ node ->hasAttributes ()) {
12+ assertType ('DOMNamedNodeMap ' , $ node ->attributes );
13+ } else {
14+ assertType ('DOMNamedNodeMap|null ' , $ node ->attributes );
15+ }
16+ }
17+
18+ public function testElement (\DOMElement $ node ): void
19+ {
20+ if ($ node ->hasAttributes ()) {
21+ assertType ('DOMNamedNodeMap ' , $ node ->attributes );
22+ } else {
23+ assertType ('DOMNamedNodeMap ' , $ node ->attributes );
24+ }
25+ }
26+ }
You can’t perform that action at this time.
0 commit comments