Skip to content

Commit 063baed

Browse files
committed
Add missing null types
A lot of property readee functions call php_dom_throw_error(INVALID_STATE_ERR, 0); but despite the function name, only a warning is emitted when the 2nd parameter is 0.
1 parent 293896a commit 063baed

File tree

4 files changed

+74
-71
lines changed

4 files changed

+74
-71
lines changed

ext/dom/php_dom.stub.php

Lines changed: 36 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,15 @@
44

55
class DOMDocumentType extends DOMNode
66
{
7-
public string $name;
7+
public ?string $name;
88

9-
public DOMNamedNodeMap $entities;
9+
public ?DOMNamedNodeMap $entities;
1010

11-
public DOMNamedNodeMap $notations;
11+
public ?DOMNamedNodeMap $notations;
1212

13-
public string $publicId;
13+
public ?string $publicId;
1414

15-
public string $systemId;
15+
public ?string $systemId;
1616

1717
public ?string $internalSubset;
1818
}
@@ -52,16 +52,16 @@ public function replaceWith(...$nodes): void;
5252

5353
class DOMNode
5454
{
55-
public string $nodeName;
55+
public ?string $nodeName;
5656

5757
/** @var string|null */
5858
public $nodeValue;
5959

60-
public int $nodeType;
60+
public ?int $nodeType;
6161

6262
public ?DOMNode $parentNode;
6363

64-
public DOMNodeList $childNodes;
64+
public ?DOMNodeList $childNodes;
6565

6666
public ?DOMNode $firstChild;
6767

@@ -77,15 +77,15 @@ class DOMNode
7777

7878
public ?string $namespaceURI;
7979

80-
/** @var string */
81-
public $prefix = "";
80+
/** @var string|null */
81+
public $prefix;
8282

8383
public ?string $localName;
8484

8585
public ?string $baseURI;
8686

87-
/** @var string */
88-
public $textContent = "";
87+
/** @var string|null */
88+
public $textContent;
8989

9090
/** @return DOMNode|false */
9191
public function appendChild(DOMNode $node) {}
@@ -141,13 +141,14 @@ public function replaceChild(DOMNode $node, DOMNode $child) {}
141141

142142
class DOMNameSpaceNode
143143
{
144-
public string $nodeName;
144+
public ?string $nodeName;
145145

146146
public ?string $nodeValue;
147147

148-
public int $nodeType;
148+
public ?int $nodeType;
149149

150-
public string $prefix;
150+
/** @var string|null */
151+
public $prefix;
151152

152153
public ?string $localName;
153154

@@ -179,7 +180,7 @@ class DOMDocumentFragment extends DOMNode implements DOMParentNode
179180

180181
public ?DOMElement $lastElementChild;
181182

182-
public int $childElementCount;
183+
public ?int $childElementCount;
183184

184185
public function __construct() {}
185186

@@ -208,9 +209,10 @@ public function item(int $index) {}
208209

209210
class DOMCharacterData extends DOMNode implements DOMChildNode
210211
{
211-
public string $data;
212+
/** @var string|null */
213+
public $data;
212214

213-
public int $length;
215+
public ?int $length;
214216

215217
public ?DOMElement $previousElementSibling;
216218

@@ -245,11 +247,12 @@ public function after(...$nodes): void {}
245247

246248
class DOMAttr extends DOMNode
247249
{
248-
public string $name;
250+
public ?string $name;
249251

250252
public bool $specified = true;
251253

252-
public string $value;
254+
/** @var string|null */
255+
public $value;
253256

254257
public ?DOMElement $ownerElement;
255258

@@ -263,15 +266,15 @@ public function isId() {}
263266

264267
class DOMElement extends DOMNode implements DOMParentNode, DOMChildNode
265268
{
266-
public string $tagName;
269+
public ?string $tagName;
267270

268271
public mixed $schemaTypeInfo = null;
269272

270273
public ?DOMElement $firstElementChild;
271274

272275
public ?DOMElement $lastElementChild;
273276

274-
public int $childElementCount;
277+
public ?int $childElementCount;
275278

276279
public ?DOMElement $previousElementSibling;
277280

@@ -367,11 +370,11 @@ class DOMDocument extends DOMNode implements DOMParentNode
367370

368371
public ?string $xmlEncoding;
369372

370-
/** @var bool */
371-
public $standalone = false;
373+
/** @var bool|null */
374+
public $standalone;
372375

373-
/** @var bool */
374-
public $xmlStandalone = false;
376+
/** @var bool|null */
377+
public $xmlStandalone;
375378

376379
/** @var string|null */
377380
public $version;
@@ -410,7 +413,7 @@ class DOMDocument extends DOMNode implements DOMParentNode
410413

411414
public ?DOMElement $lastElementChild;
412415

413-
public int $childElementCount;
416+
public ?int $childElementCount;
414417

415418
public function __construct(string $version = "1.0", string $encoding = "") {}
416419

@@ -526,7 +529,7 @@ final class DOMException extends Exception
526529

527530
class DOMText extends DOMCharacterData
528531
{
529-
public string $wholeText;
532+
public ?string $wholeText;
530533

531534
public function __construct(string $data = "") {}
532535

@@ -584,17 +587,17 @@ public function __construct(string $name) {}
584587

585588
class DOMNotation extends DOMNode
586589
{
587-
public string $publicId;
590+
public ?string $publicId;
588591

589-
public string $systemId;
592+
public ?string $systemId;
590593
}
591594

592595
class DOMProcessingInstruction extends DOMNode
593596
{
594-
public string $target;
597+
public ?string $target;
595598

596-
/** @var string */
597-
public $data = "";
599+
/** @var string|null */
600+
public $data;
598601

599602
public function __construct(string $name, string $value = "") {}
600603
}

0 commit comments

Comments
 (0)