Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 909
0.00% covered (danger)
0.00%
0 / 52
CRAP
0.00% covered (danger)
0.00%
0 / 1
HTMLInputElement
0.00% covered (danger)
0.00%
0 / 909
0.00% covered (danger)
0.00%
0 / 52
212060
0.00% covered (danger)
0.00%
0 / 1
 _getMissingProp
n/a
0 / 0
n/a
0 / 0
0
 _setMissingProp
n/a
0 / 0
n/a
0 / 0
0
 __get
0.00% covered (danger)
0.00%
0 / 200
0.00% covered (danger)
0.00%
0 / 1
10302
 __isset
0.00% covered (danger)
0.00%
0 / 200
0.00% covered (danger)
0.00%
0 / 1
10302
 __set
0.00% covered (danger)
0.00%
0 / 182
0.00% covered (danger)
0.00%
0 / 1
3906
 __unset
0.00% covered (danger)
0.00%
0 / 215
0.00% covered (danger)
0.00%
0 / 1
10712
 getAccept
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setAccept
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getAlt
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setAlt
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getAutocomplete
0.00% covered (danger)
0.00%
0 / 8
0.00% covered (danger)
0.00%
0 / 1
30
 setAutocomplete
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getAutofocus
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setAutofocus
0.00% covered (danger)
0.00%
0 / 3
0.00% covered (danger)
0.00%
0 / 1
6
 getDefaultChecked
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setDefaultChecked
0.00% covered (danger)
0.00%
0 / 3
0.00% covered (danger)
0.00%
0 / 1
6
 getDirName
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setDirName
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getDisabled
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setDisabled
0.00% covered (danger)
0.00%
0 / 3
0.00% covered (danger)
0.00%
0 / 1
6
 getFormEnctype
0.00% covered (danger)
0.00%
0 / 9
0.00% covered (danger)
0.00%
0 / 1
42
 setFormEnctype
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getFormMethod
0.00% covered (danger)
0.00%
0 / 9
0.00% covered (danger)
0.00%
0 / 1
42
 setFormMethod
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getFormNoValidate
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setFormNoValidate
0.00% covered (danger)
0.00%
0 / 3
0.00% covered (danger)
0.00%
0 / 1
6
 getFormTarget
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setFormTarget
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getMax
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setMax
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getMin
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setMin
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getMultiple
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setMultiple
0.00% covered (danger)
0.00%
0 / 3
0.00% covered (danger)
0.00%
0 / 1
6
 getName
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setName
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getPattern
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setPattern
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getPlaceholder
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setPlaceholder
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getReadOnly
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setReadOnly
0.00% covered (danger)
0.00%
0 / 3
0.00% covered (danger)
0.00%
0 / 1
6
 getRequired
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setRequired
0.00% covered (danger)
0.00%
0 / 3
0.00% covered (danger)
0.00%
0 / 1
6
 getStep
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setStep
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getType
0.00% covered (danger)
0.00%
0 / 28
0.00% covered (danger)
0.00%
0 / 1
650
 setType
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getDefaultValue
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setDefaultValue
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getAlign
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setAlign
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getUseMap
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setUseMap
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
1<?php
2
3// AUTOMATICALLY GENERATED.  DO NOT EDIT.
4// Use `composer build` to regenerate.
5
6namespace Wikimedia\IDLeDOM\Helper;
7
8trait HTMLInputElement {
9
10    // Underscore is used to avoid conflicts with DOM-reserved names
11    // phpcs:disable PSR2.Methods.MethodDeclaration.Underscore
12    // phpcs:disable MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName
13
14    /**
15     * Handle an attempt to get a non-existing property on this
16     * object.  The default implementation raises an exception
17     * but the implementor can choose a different behavior:
18     * return null (like JavaScript), dynamically create the
19     * property, etc.
20     * @param string $prop the name of the property requested
21     * @return mixed
22     */
23    abstract protected function _getMissingProp( string $prop );
24
25    /**
26     * Handle an attempt to set a non-existing property on this
27     * object.  The default implementation raises an exception
28     * but the implementor can choose a different behavior:
29     * ignore the operation (like JavaScript), dynamically create
30     * the property, etc.
31     * @param string $prop the name of the property requested
32     * @param mixed $value the value to set
33     */
34    abstract protected function _setMissingProp( string $prop, $value ): void;
35
36    // phpcs:enable
37
38    /**
39     * @param string $name
40     * @return mixed
41     */
42    public function __get( string $name ) {
43        '@phan-var \Wikimedia\IDLeDOM\HTMLInputElement $this';
44        // @var \Wikimedia\IDLeDOM\HTMLInputElement $this
45        switch ( $name ) {
46            case "nodeType":
47                return $this->getNodeType();
48            case "nodeName":
49                return $this->getNodeName();
50            case "baseURI":
51                return $this->getBaseURI();
52            case "isConnected":
53                return $this->getIsConnected();
54            case "ownerDocument":
55                return $this->getOwnerDocument();
56            case "parentNode":
57                return $this->getParentNode();
58            case "parentElement":
59                return $this->getParentElement();
60            case "childNodes":
61                return $this->getChildNodes();
62            case "firstChild":
63                return $this->getFirstChild();
64            case "lastChild":
65                return $this->getLastChild();
66            case "previousSibling":
67                return $this->getPreviousSibling();
68            case "nextSibling":
69                return $this->getNextSibling();
70            case "nodeValue":
71                return $this->getNodeValue();
72            case "textContent":
73                return $this->getTextContent();
74            case "innerHTML":
75                return $this->getInnerHTML();
76            case "previousElementSibling":
77                return $this->getPreviousElementSibling();
78            case "nextElementSibling":
79                return $this->getNextElementSibling();
80            case "children":
81                return $this->getChildren();
82            case "firstElementChild":
83                return $this->getFirstElementChild();
84            case "lastElementChild":
85                return $this->getLastElementChild();
86            case "childElementCount":
87                return $this->getChildElementCount();
88            case "assignedSlot":
89                return $this->getAssignedSlot();
90            case "namespaceURI":
91                return $this->getNamespaceURI();
92            case "prefix":
93                return $this->getPrefix();
94            case "localName":
95                return $this->getLocalName();
96            case "tagName":
97                return $this->getTagName();
98            case "id":
99                return $this->getId();
100            case "className":
101                return $this->getClassName();
102            case "classList":
103                return $this->getClassList();
104            case "slot":
105                return $this->getSlot();
106            case "attributes":
107                return $this->getAttributes();
108            case "shadowRoot":
109                return $this->getShadowRoot();
110            case "outerHTML":
111                return $this->getOuterHTML();
112            case "style":
113                return $this->getStyle();
114            case "contentEditable":
115                return $this->getContentEditable();
116            case "enterKeyHint":
117                return $this->getEnterKeyHint();
118            case "isContentEditable":
119                return $this->getIsContentEditable();
120            case "inputMode":
121                return $this->getInputMode();
122            case "onload":
123                return $this->getOnload();
124            case "dataset":
125                return $this->getDataset();
126            case "nonce":
127                return $this->getNonce();
128            case "tabIndex":
129                return $this->getTabIndex();
130            case "title":
131                return $this->getTitle();
132            case "lang":
133                return $this->getLang();
134            case "translate":
135                return $this->getTranslate();
136            case "dir":
137                return $this->getDir();
138            case "hidden":
139                return $this->getHidden();
140            case "accessKey":
141                return $this->getAccessKey();
142            case "accessKeyLabel":
143                return $this->getAccessKeyLabel();
144            case "draggable":
145                return $this->getDraggable();
146            case "spellcheck":
147                return $this->getSpellcheck();
148            case "autocapitalize":
149                return $this->getAutocapitalize();
150            case "innerText":
151                return $this->getInnerText();
152            case "offsetParent":
153                return $this->getOffsetParent();
154            case "offsetTop":
155                return $this->getOffsetTop();
156            case "offsetLeft":
157                return $this->getOffsetLeft();
158            case "offsetWidth":
159                return $this->getOffsetWidth();
160            case "offsetHeight":
161                return $this->getOffsetHeight();
162            case "accept":
163                return $this->getAccept();
164            case "alt":
165                return $this->getAlt();
166            case "autocomplete":
167                return $this->getAutocomplete();
168            case "autofocus":
169                return $this->getAutofocus();
170            case "defaultChecked":
171                return $this->getDefaultChecked();
172            case "checked":
173                return $this->getChecked();
174            case "dirName":
175                return $this->getDirName();
176            case "disabled":
177                return $this->getDisabled();
178            case "form":
179                return $this->getForm();
180            case "formEnctype":
181                return $this->getFormEnctype();
182            case "formMethod":
183                return $this->getFormMethod();
184            case "formNoValidate":
185                return $this->getFormNoValidate();
186            case "formTarget":
187                return $this->getFormTarget();
188            case "indeterminate":
189                return $this->getIndeterminate();
190            case "list":
191                return $this->getList();
192            case "max":
193                return $this->getMax();
194            case "maxLength":
195                return $this->getMaxLength();
196            case "min":
197                return $this->getMin();
198            case "minLength":
199                return $this->getMinLength();
200            case "multiple":
201                return $this->getMultiple();
202            case "name":
203                return $this->getName();
204            case "pattern":
205                return $this->getPattern();
206            case "placeholder":
207                return $this->getPlaceholder();
208            case "readOnly":
209                return $this->getReadOnly();
210            case "required":
211                return $this->getRequired();
212            case "size":
213                return $this->getSize();
214            case "src":
215                return $this->getSrc();
216            case "step":
217                return $this->getStep();
218            case "type":
219                return $this->getType();
220            case "defaultValue":
221                return $this->getDefaultValue();
222            case "value":
223                return $this->getValue();
224            case "valueAsNumber":
225                return $this->getValueAsNumber();
226            case "willValidate":
227                return $this->getWillValidate();
228            case "validity":
229                return $this->getValidity();
230            case "validationMessage":
231                return $this->getValidationMessage();
232            case "labels":
233                return $this->getLabels();
234            case "selectionStart":
235                return $this->getSelectionStart();
236            case "selectionEnd":
237                return $this->getSelectionEnd();
238            case "selectionDirection":
239                return $this->getSelectionDirection();
240            case "align":
241                return $this->getAlign();
242            case "useMap":
243                return $this->getUseMap();
244            default:
245                break;
246        }
247        '@phan-var \Wikimedia\IDLeDOM\Helper\HTMLInputElement $this';
248        // @var \Wikimedia\IDLeDOM\Helper\HTMLInputElement $this
249        return $this->_getMissingProp( $name );
250    }
251
252    /**
253     * @param string $name
254     * @return bool
255     */
256    public function __isset( string $name ): bool {
257        '@phan-var \Wikimedia\IDLeDOM\HTMLInputElement $this';
258        // @var \Wikimedia\IDLeDOM\HTMLInputElement $this
259        switch ( $name ) {
260            case "nodeType":
261                return true;
262            case "nodeName":
263                return true;
264            case "baseURI":
265                return true;
266            case "isConnected":
267                return true;
268            case "ownerDocument":
269                return $this->getOwnerDocument() !== null;
270            case "parentNode":
271                return $this->getParentNode() !== null;
272            case "parentElement":
273                return $this->getParentElement() !== null;
274            case "childNodes":
275                return true;
276            case "firstChild":
277                return $this->getFirstChild() !== null;
278            case "lastChild":
279                return $this->getLastChild() !== null;
280            case "previousSibling":
281                return $this->getPreviousSibling() !== null;
282            case "nextSibling":
283                return $this->getNextSibling() !== null;
284            case "nodeValue":
285                return $this->getNodeValue() !== null;
286            case "textContent":
287                return $this->getTextContent() !== null;
288            case "innerHTML":
289                return true;
290            case "previousElementSibling":
291                return $this->getPreviousElementSibling() !== null;
292            case "nextElementSibling":
293                return $this->getNextElementSibling() !== null;
294            case "children":
295                return true;
296            case "firstElementChild":
297                return $this->getFirstElementChild() !== null;
298            case "lastElementChild":
299                return $this->getLastElementChild() !== null;
300            case "childElementCount":
301                return true;
302            case "assignedSlot":
303                return $this->getAssignedSlot() !== null;
304            case "namespaceURI":
305                return $this->getNamespaceURI() !== null;
306            case "prefix":
307                return $this->getPrefix() !== null;
308            case "localName":
309                return true;
310            case "tagName":
311                return true;
312            case "id":
313                return true;
314            case "className":
315                return true;
316            case "classList":
317                return true;
318            case "slot":
319                return true;
320            case "attributes":
321                return true;
322            case "shadowRoot":
323                return $this->getShadowRoot() !== null;
324            case "outerHTML":
325                return true;
326            case "style":
327                return true;
328            case "contentEditable":
329                return true;
330            case "enterKeyHint":
331                return true;
332            case "isContentEditable":
333                return true;
334            case "inputMode":
335                return true;
336            case "onload":
337                return true;
338            case "dataset":
339                return true;
340            case "nonce":
341                return true;
342            case "tabIndex":
343                return true;
344            case "title":
345                return true;
346            case "lang":
347                return true;
348            case "translate":
349                return true;
350            case "dir":
351                return true;
352            case "hidden":
353                return true;
354            case "accessKey":
355                return true;
356            case "accessKeyLabel":
357                return true;
358            case "draggable":
359                return true;
360            case "spellcheck":
361                return true;
362            case "autocapitalize":
363                return true;
364            case "innerText":
365                return true;
366            case "offsetParent":
367                return $this->getOffsetParent() !== null;
368            case "offsetTop":
369                return true;
370            case "offsetLeft":
371                return true;
372            case "offsetWidth":
373                return true;
374            case "offsetHeight":
375                return true;
376            case "accept":
377                return true;
378            case "alt":
379                return true;
380            case "autocomplete":
381                return true;
382            case "autofocus":
383                return true;
384            case "defaultChecked":
385                return true;
386            case "checked":
387                return true;
388            case "dirName":
389                return true;
390            case "disabled":
391                return true;
392            case "form":
393                return $this->getForm() !== null;
394            case "formEnctype":
395                return true;
396            case "formMethod":
397                return true;
398            case "formNoValidate":
399                return true;
400            case "formTarget":
401                return true;
402            case "indeterminate":
403                return true;
404            case "list":
405                return $this->getList() !== null;
406            case "max":
407                return true;
408            case "maxLength":
409                return true;
410            case "min":
411                return true;
412            case "minLength":
413                return true;
414            case "multiple":
415                return true;
416            case "name":
417                return true;
418            case "pattern":
419                return true;
420            case "placeholder":
421                return true;
422            case "readOnly":
423                return true;
424            case "required":
425                return true;
426            case "size":
427                return true;
428            case "src":
429                return true;
430            case "step":
431                return true;
432            case "type":
433                return true;
434            case "defaultValue":
435                return true;
436            case "value":
437                return true;
438            case "valueAsNumber":
439                return true;
440            case "willValidate":
441                return true;
442            case "validity":
443                return true;
444            case "validationMessage":
445                return true;
446            case "labels":
447                return $this->getLabels() !== null;
448            case "selectionStart":
449                return $this->getSelectionStart() !== null;
450            case "selectionEnd":
451                return $this->getSelectionEnd() !== null;
452            case "selectionDirection":
453                return $this->getSelectionDirection() !== null;
454            case "align":
455                return true;
456            case "useMap":
457                return true;
458            default:
459                break;
460        }
461        return false;
462    }
463
464    /**
465     * @param string $name
466     * @param mixed $value
467     */
468    public function __set( string $name, $value ): void {
469        '@phan-var \Wikimedia\IDLeDOM\HTMLInputElement $this';
470        // @var \Wikimedia\IDLeDOM\HTMLInputElement $this
471        switch ( $name ) {
472            case "nodeValue":
473                $this->setNodeValue( $value );
474                return;
475            case "textContent":
476                $this->setTextContent( $value );
477                return;
478            case "innerHTML":
479                $this->setInnerHTML( $value );
480                return;
481            case "id":
482                $this->setId( $value );
483                return;
484            case "className":
485                $this->setClassName( $value );
486                return;
487            case "classList":
488                $this->setClassList( $value );
489                return;
490            case "slot":
491                $this->setSlot( $value );
492                return;
493            case "outerHTML":
494                $this->setOuterHTML( $value );
495                return;
496            case "style":
497                $this->setStyle( $value );
498                return;
499            case "contentEditable":
500                $this->setContentEditable( $value );
501                return;
502            case "enterKeyHint":
503                $this->setEnterKeyHint( $value );
504                return;
505            case "inputMode":
506                $this->setInputMode( $value );
507                return;
508            case "onload":
509                $this->setOnload( $value );
510                return;
511            case "nonce":
512                $this->setNonce( $value );
513                return;
514            case "tabIndex":
515                $this->setTabIndex( $value );
516                return;
517            case "title":
518                $this->setTitle( $value );
519                return;
520            case "lang":
521                $this->setLang( $value );
522                return;
523            case "translate":
524                $this->setTranslate( $value );
525                return;
526            case "dir":
527                $this->setDir( $value );
528                return;
529            case "hidden":
530                $this->setHidden( $value );
531                return;
532            case "accessKey":
533                $this->setAccessKey( $value );
534                return;
535            case "draggable":
536                $this->setDraggable( $value );
537                return;
538            case "spellcheck":
539                $this->setSpellcheck( $value );
540                return;
541            case "autocapitalize":
542                $this->setAutocapitalize( $value );
543                return;
544            case "innerText":
545                $this->setInnerText( $value );
546                return;
547            case "accept":
548                $this->setAccept( $value );
549                return;
550            case "alt":
551                $this->setAlt( $value );
552                return;
553            case "autocomplete":
554                $this->setAutocomplete( $value );
555                return;
556            case "autofocus":
557                $this->setAutofocus( $value );
558                return;
559            case "defaultChecked":
560                $this->setDefaultChecked( $value );
561                return;
562            case "checked":
563                $this->setChecked( $value );
564                return;
565            case "dirName":
566                $this->setDirName( $value );
567                return;
568            case "disabled":
569                $this->setDisabled( $value );
570                return;
571            case "formEnctype":
572                $this->setFormEnctype( $value );
573                return;
574            case "formMethod":
575                $this->setFormMethod( $value );
576                return;
577            case "formNoValidate":
578                $this->setFormNoValidate( $value );
579                return;
580            case "formTarget":
581                $this->setFormTarget( $value );
582                return;
583            case "indeterminate":
584                $this->setIndeterminate( $value );
585                return;
586            case "max":
587                $this->setMax( $value );
588                return;
589            case "maxLength":
590                $this->setMaxLength( $value );
591                return;
592            case "min":
593                $this->setMin( $value );
594                return;
595            case "minLength":
596                $this->setMinLength( $value );
597                return;
598            case "multiple":
599                $this->setMultiple( $value );
600                return;
601            case "name":
602                $this->setName( $value );
603                return;
604            case "pattern":
605                $this->setPattern( $value );
606                return;
607            case "placeholder":
608                $this->setPlaceholder( $value );
609                return;
610            case "readOnly":
611                $this->setReadOnly( $value );
612                return;
613            case "required":
614                $this->setRequired( $value );
615                return;
616            case "size":
617                $this->setSize( $value );
618                return;
619            case "src":
620                $this->setSrc( $value );
621                return;
622            case "step":
623                $this->setStep( $value );
624                return;
625            case "type":
626                $this->setType( $value );
627                return;
628            case "defaultValue":
629                $this->setDefaultValue( $value );
630                return;
631            case "value":
632                $this->setValue( $value );
633                return;
634            case "valueAsNumber":
635                $this->setValueAsNumber( $value );
636                return;
637            case "selectionStart":
638                $this->setSelectionStart( $value );
639                return;
640            case "selectionEnd":
641                $this->setSelectionEnd( $value );
642                return;
643            case "selectionDirection":
644                $this->setSelectionDirection( $value );
645                return;
646            case "align":
647                $this->setAlign( $value );
648                return;
649            case "useMap":
650                $this->setUseMap( $value );
651                return;
652            default:
653                break;
654        }
655        '@phan-var \Wikimedia\IDLeDOM\Helper\HTMLInputElement $this';
656        // @var \Wikimedia\IDLeDOM\Helper\HTMLInputElement $this
657        $this->_setMissingProp( $name, $value );
658    }
659
660    /**
661     * @param string $name
662     */
663    public function __unset( string $name ): void {
664        '@phan-var \Wikimedia\IDLeDOM\HTMLInputElement $this';
665        // @var \Wikimedia\IDLeDOM\HTMLInputElement $this
666        switch ( $name ) {
667            case "nodeType":
668                break;
669            case "nodeName":
670                break;
671            case "baseURI":
672                break;
673            case "isConnected":
674                break;
675            case "ownerDocument":
676                break;
677            case "parentNode":
678                break;
679            case "parentElement":
680                break;
681            case "childNodes":
682                break;
683            case "firstChild":
684                break;
685            case "lastChild":
686                break;
687            case "previousSibling":
688                break;
689            case "nextSibling":
690                break;
691            case "nodeValue":
692                $this->setNodeValue( null );
693                return;
694            case "textContent":
695                $this->setTextContent( null );
696                return;
697            case "innerHTML":
698                break;
699            case "previousElementSibling":
700                break;
701            case "nextElementSibling":
702                break;
703            case "children":
704                break;
705            case "firstElementChild":
706                break;
707            case "lastElementChild":
708                break;
709            case "childElementCount":
710                break;
711            case "assignedSlot":
712                break;
713            case "namespaceURI":
714                break;
715            case "prefix":
716                break;
717            case "localName":
718                break;
719            case "tagName":
720                break;
721            case "id":
722                break;
723            case "className":
724                break;
725            case "classList":
726                break;
727            case "slot":
728                break;
729            case "attributes":
730                break;
731            case "shadowRoot":
732                break;
733            case "outerHTML":
734                break;
735            case "style":
736                break;
737            case "contentEditable":
738                break;
739            case "enterKeyHint":
740                break;
741            case "isContentEditable":
742                break;
743            case "inputMode":
744                break;
745            case "onload":
746                break;
747            case "dataset":
748                break;
749            case "nonce":
750                break;
751            case "tabIndex":
752                break;
753            case "title":
754                break;
755            case "lang":
756                break;
757            case "translate":
758                break;
759            case "dir":
760                break;
761            case "hidden":
762                break;
763            case "accessKey":
764                break;
765            case "accessKeyLabel":
766                break;
767            case "draggable":
768                break;
769            case "spellcheck":
770                break;
771            case "autocapitalize":
772                break;
773            case "innerText":
774                break;
775            case "offsetParent":
776                break;
777            case "offsetTop":
778                break;
779            case "offsetLeft":
780                break;
781            case "offsetWidth":
782                break;
783            case "offsetHeight":
784                break;
785            case "accept":
786                break;
787            case "alt":
788                break;
789            case "autocomplete":
790                break;
791            case "autofocus":
792                break;
793            case "defaultChecked":
794                break;
795            case "checked":
796                break;
797            case "dirName":
798                break;
799            case "disabled":
800                break;
801            case "form":
802                break;
803            case "formEnctype":
804                break;
805            case "formMethod":
806                break;
807            case "formNoValidate":
808                break;
809            case "formTarget":
810                break;
811            case "indeterminate":
812                break;
813            case "list":
814                break;
815            case "max":
816                break;
817            case "maxLength":
818                break;
819            case "min":
820                break;
821            case "minLength":
822                break;
823            case "multiple":
824                break;
825            case "name":
826                break;
827            case "pattern":
828                break;
829            case "placeholder":
830                break;
831            case "readOnly":
832                break;
833            case "required":
834                break;
835            case "size":
836                break;
837            case "src":
838                break;
839            case "step":
840                break;
841            case "type":
842                break;
843            case "defaultValue":
844                break;
845            case "value":
846                break;
847            case "valueAsNumber":
848                break;
849            case "willValidate":
850                break;
851            case "validity":
852                break;
853            case "validationMessage":
854                break;
855            case "labels":
856                break;
857            case "selectionStart":
858                $this->setSelectionStart( null );
859                return;
860            case "selectionEnd":
861                $this->setSelectionEnd( null );
862                return;
863            case "selectionDirection":
864                $this->setSelectionDirection( null );
865                return;
866            case "align":
867                break;
868            case "useMap":
869                break;
870            default:
871                return;
872        }
873        $trace = debug_backtrace();
874        while (
875            count( $trace ) > 0 &&
876            $trace[0]['function'] !== "__unset"
877        ) {
878            array_shift( $trace );
879        }
880        trigger_error(
881            'Undefined property' .
882            ' via ' . ( $trace[0]['function'] ?? '' ) . '(): ' . $name .
883            ' in ' . ( $trace[0]['file'] ?? '' ) .
884            ' on line ' . ( $trace[0]['line'] ?? '' ),
885            E_USER_NOTICE
886        );
887    }
888
889    /**
890     * @return string
891     */
892    public function getAccept(): string {
893        '@phan-var \Wikimedia\IDLeDOM\Element $this';
894        // @var \Wikimedia\IDLeDOM\Element $this
895        return $this->getAttribute( 'accept' ) ?? '';
896    }
897
898    /**
899     * @param string $val
900     */
901    public function setAccept( string $val ): void {
902        '@phan-var \Wikimedia\IDLeDOM\Element $this';
903        // @var \Wikimedia\IDLeDOM\Element $this
904        $this->setAttribute( 'accept', $val );
905    }
906
907    /**
908     * @return string
909     */
910    public function getAlt(): string {
911        '@phan-var \Wikimedia\IDLeDOM\Element $this';
912        // @var \Wikimedia\IDLeDOM\Element $this
913        return $this->getAttribute( 'alt' ) ?? '';
914    }
915
916    /**
917     * @param string $val
918     */
919    public function setAlt( string $val ): void {
920        '@phan-var \Wikimedia\IDLeDOM\Element $this';
921        // @var \Wikimedia\IDLeDOM\Element $this
922        $this->setAttribute( 'alt', $val );
923    }
924
925    /**
926     * @return string
927     */
928    public function getAutocomplete(): string {
929        '@phan-var \Wikimedia\IDLeDOM\Element $this';
930        // @var \Wikimedia\IDLeDOM\Element $this
931        $val = $this->getAttribute( 'autocomplete' );
932        if ( $val !== null ) {
933            $val = strtr( $val, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz' );
934            switch ( $val ) {
935                case 'on':
936                case 'off':
937                    return $val;
938                default:
939                    return 'on';
940            }
941        }
942        return 'on';
943    }
944
945    /**
946     * @param string $val
947     */
948    public function setAutocomplete( string $val ): void {
949        '@phan-var \Wikimedia\IDLeDOM\Element $this';
950        // @var \Wikimedia\IDLeDOM\Element $this
951        $this->setAttribute( 'autocomplete', $val );
952    }
953
954    /**
955     * @return bool
956     */
957    public function getAutofocus(): bool {
958        '@phan-var \Wikimedia\IDLeDOM\Element $this';
959        // @var \Wikimedia\IDLeDOM\Element $this
960        return $this->hasAttribute( 'autofocus' );
961    }
962
963    /**
964     * @param bool $val
965     */
966    public function setAutofocus( bool $val ): void {
967        '@phan-var \Wikimedia\IDLeDOM\Element $this';
968        // @var \Wikimedia\IDLeDOM\Element $this
969        if ( $val ) {
970            $this->setAttribute( 'autofocus', '' );
971        } else {
972            $this->removeAttribute( 'autofocus' );
973        }
974    }
975
976    /**
977     * @return bool
978     */
979    public function getDefaultChecked(): bool {
980        '@phan-var \Wikimedia\IDLeDOM\Element $this';
981        // @var \Wikimedia\IDLeDOM\Element $this
982        return $this->hasAttribute( 'checked' );
983    }
984
985    /**
986     * @param bool $val
987     */
988    public function setDefaultChecked( bool $val ): void {
989        '@phan-var \Wikimedia\IDLeDOM\Element $this';
990        // @var \Wikimedia\IDLeDOM\Element $this
991        if ( $val ) {
992            $this->setAttribute( 'checked', '' );
993        } else {
994            $this->removeAttribute( 'checked' );
995        }
996    }
997
998    /**
999     * @return string
1000     */
1001    public function getDirName(): string {
1002        '@phan-var \Wikimedia\IDLeDOM\Element $this';
1003        // @var \Wikimedia\IDLeDOM\Element $this
1004        return $this->getAttribute( 'dirname' ) ?? '';
1005    }
1006
1007    /**
1008     * @param string $val
1009     */
1010    public function setDirName( string $val ): void {
1011        '@phan-var \Wikimedia\IDLeDOM\Element $this';
1012        // @var \Wikimedia\IDLeDOM\Element $this
1013        $this->setAttribute( 'dirname', $val );
1014    }
1015
1016    /**
1017     * @return bool
1018     */
1019    public function getDisabled(): bool {
1020        '@phan-var \Wikimedia\IDLeDOM\Element $this';
1021        // @var \Wikimedia\IDLeDOM\Element $this
1022        return $this->hasAttribute( 'disabled' );
1023    }
1024
1025    /**
1026     * @param bool $val
1027     */
1028    public function setDisabled( bool $val ): void {
1029        '@phan-var \Wikimedia\IDLeDOM\Element $this';
1030        // @var \Wikimedia\IDLeDOM\Element $this
1031        if ( $val ) {
1032            $this->setAttribute( 'disabled', '' );
1033        } else {
1034            $this->removeAttribute( 'disabled' );
1035        }
1036    }
1037
1038    /**
1039     * @return string
1040     */
1041    public function getFormEnctype(): string {
1042        '@phan-var \Wikimedia\IDLeDOM\Element $this';
1043        // @var \Wikimedia\IDLeDOM\Element $this
1044        $val = $this->getAttribute( 'formenctype' );
1045        if ( $val !== null ) {
1046            $val = strtr( $val, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz' );
1047            switch ( $val ) {
1048                case 'application/x-www-form-urlencoded':
1049                case 'multipart/form-data':
1050                case 'text/plain':
1051                    return $val;
1052                default:
1053                    return 'application/x-www-form-urlencoded';
1054            }
1055        }
1056        return '';
1057    }
1058
1059    /**
1060     * @param string $val
1061     */
1062    public function setFormEnctype( string $val ): void {
1063        '@phan-var \Wikimedia\IDLeDOM\Element $this';
1064        // @var \Wikimedia\IDLeDOM\Element $this
1065        $this->setAttribute( 'formenctype', $val );
1066    }
1067
1068    /**
1069     * @return string
1070     */
1071    public function getFormMethod(): string {
1072        '@phan-var \Wikimedia\IDLeDOM\Element $this';
1073        // @var \Wikimedia\IDLeDOM\Element $this
1074        $val = $this->getAttribute( 'formmethod' );
1075        if ( $val !== null ) {
1076            $val = strtr( $val, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz' );
1077            switch ( $val ) {
1078                case 'get':
1079                case 'post':
1080                case 'dialog':
1081                    return $val;
1082                default:
1083                    return 'get';
1084            }
1085        }
1086        return '';
1087    }
1088
1089    /**
1090     * @param string $val
1091     */
1092    public function setFormMethod( string $val ): void {
1093        '@phan-var \Wikimedia\IDLeDOM\Element $this';
1094        // @var \Wikimedia\IDLeDOM\Element $this
1095        $this->setAttribute( 'formmethod', $val );
1096    }
1097
1098    /**
1099     * @return bool
1100     */
1101    public function getFormNoValidate(): bool {
1102        '@phan-var \Wikimedia\IDLeDOM\Element $this';
1103        // @var \Wikimedia\IDLeDOM\Element $this
1104        return $this->hasAttribute( 'formnovalidate' );
1105    }
1106
1107    /**
1108     * @param bool $val
1109     */
1110    public function setFormNoValidate( bool $val ): void {
1111        '@phan-var \Wikimedia\IDLeDOM\Element $this';
1112        // @var \Wikimedia\IDLeDOM\Element $this
1113        if ( $val ) {
1114            $this->setAttribute( 'formnovalidate', '' );
1115        } else {
1116            $this->removeAttribute( 'formnovalidate' );
1117        }
1118    }
1119
1120    /**
1121     * @return string
1122     */
1123    public function getFormTarget(): string {
1124        '@phan-var \Wikimedia\IDLeDOM\Element $this';
1125        // @var \Wikimedia\IDLeDOM\Element $this
1126        return $this->getAttribute( 'formtarget' ) ?? '';
1127    }
1128
1129    /**
1130     * @param string $val
1131     */
1132    public function setFormTarget( string $val ): void {
1133        '@phan-var \Wikimedia\IDLeDOM\Element $this';
1134        // @var \Wikimedia\IDLeDOM\Element $this
1135        $this->setAttribute( 'formtarget', $val );
1136    }
1137
1138    /**
1139     * @return string
1140     */
1141    public function getMax(): string {
1142        '@phan-var \Wikimedia\IDLeDOM\Element $this';
1143        // @var \Wikimedia\IDLeDOM\Element $this
1144        return $this->getAttribute( 'max' ) ?? '';
1145    }
1146
1147    /**
1148     * @param string $val
1149     */
1150    public function setMax( string $val ): void {
1151        '@phan-var \Wikimedia\IDLeDOM\Element $this';
1152        // @var \Wikimedia\IDLeDOM\Element $this
1153        $this->setAttribute( 'max', $val );
1154    }
1155
1156    /**
1157     * @return string
1158     */
1159    public function getMin(): string {
1160        '@phan-var \Wikimedia\IDLeDOM\Element $this';
1161        // @var \Wikimedia\IDLeDOM\Element $this
1162        return $this->getAttribute( 'min' ) ?? '';
1163    }
1164
1165    /**
1166     * @param string $val
1167     */
1168    public function setMin( string $val ): void {
1169        '@phan-var \Wikimedia\IDLeDOM\Element $this';
1170        // @var \Wikimedia\IDLeDOM\Element $this
1171        $this->setAttribute( 'min', $val );
1172    }
1173
1174    /**
1175     * @return bool
1176     */
1177    public function getMultiple(): bool {
1178        '@phan-var \Wikimedia\IDLeDOM\Element $this';
1179        // @var \Wikimedia\IDLeDOM\Element $this
1180        return $this->hasAttribute( 'multiple' );
1181    }
1182
1183    /**
1184     * @param bool $val
1185     */
1186    public function setMultiple( bool $val ): void {
1187        '@phan-var \Wikimedia\IDLeDOM\Element $this';
1188        // @var \Wikimedia\IDLeDOM\Element $this
1189        if ( $val ) {
1190            $this->setAttribute( 'multiple', '' );
1191        } else {
1192            $this->removeAttribute( 'multiple' );
1193        }
1194    }
1195
1196    /**
1197     * @return string
1198     */
1199    public function getName(): string {
1200        '@phan-var \Wikimedia\IDLeDOM\Element $this';
1201        // @var \Wikimedia\IDLeDOM\Element $this
1202        return $this->getAttribute( 'name' ) ?? '';
1203    }
1204
1205    /**
1206     * @param string $val
1207     */
1208    public function setName( string $val ): void {
1209        '@phan-var \Wikimedia\IDLeDOM\Element $this';
1210        // @var \Wikimedia\IDLeDOM\Element $this
1211        $this->setAttribute( 'name', $val );
1212    }
1213
1214    /**
1215     * @return string
1216     */
1217    public function getPattern(): string {
1218        '@phan-var \Wikimedia\IDLeDOM\Element $this';
1219        // @var \Wikimedia\IDLeDOM\Element $this
1220        return $this->getAttribute( 'pattern' ) ?? '';
1221    }
1222
1223    /**
1224     * @param string $val
1225     */
1226    public function setPattern( string $val ): void {
1227        '@phan-var \Wikimedia\IDLeDOM\Element $this';
1228        // @var \Wikimedia\IDLeDOM\Element $this
1229        $this->setAttribute( 'pattern', $val );
1230    }
1231
1232    /**
1233     * @return string
1234     */
1235    public function getPlaceholder(): string {
1236        '@phan-var \Wikimedia\IDLeDOM\Element $this';
1237        // @var \Wikimedia\IDLeDOM\Element $this
1238        return $this->getAttribute( 'placeholder' ) ?? '';
1239    }
1240
1241    /**
1242     * @param string $val
1243     */
1244    public function setPlaceholder( string $val ): void {
1245        '@phan-var \Wikimedia\IDLeDOM\Element $this';
1246        // @var \Wikimedia\IDLeDOM\Element $this
1247        $this->setAttribute( 'placeholder', $val );
1248    }
1249
1250    /**
1251     * @return bool
1252     */
1253    public function getReadOnly(): bool {
1254        '@phan-var \Wikimedia\IDLeDOM\Element $this';
1255        // @var \Wikimedia\IDLeDOM\Element $this
1256        return $this->hasAttribute( 'readonly' );
1257    }
1258
1259    /**
1260     * @param bool $val
1261     */
1262    public function setReadOnly( bool $val ): void {
1263        '@phan-var \Wikimedia\IDLeDOM\Element $this';
1264        // @var \Wikimedia\IDLeDOM\Element $this
1265        if ( $val ) {
1266            $this->setAttribute( 'readonly', '' );
1267        } else {
1268            $this->removeAttribute( 'readonly' );
1269        }
1270    }
1271
1272    /**
1273     * @return bool
1274     */
1275    public function getRequired(): bool {
1276        '@phan-var \Wikimedia\IDLeDOM\Element $this';
1277        // @var \Wikimedia\IDLeDOM\Element $this
1278        return $this->hasAttribute( 'required' );
1279    }
1280
1281    /**
1282     * @param bool $val
1283     */
1284    public function setRequired( bool $val ): void {
1285        '@phan-var \Wikimedia\IDLeDOM\Element $this';
1286        // @var \Wikimedia\IDLeDOM\Element $this
1287        if ( $val ) {
1288            $this->setAttribute( 'required', '' );
1289        } else {
1290            $this->removeAttribute( 'required' );
1291        }
1292    }
1293
1294    /**
1295     * @return string
1296     */
1297    public function getStep(): string {
1298        '@phan-var \Wikimedia\IDLeDOM\Element $this';
1299        // @var \Wikimedia\IDLeDOM\Element $this
1300        return $this->getAttribute( 'step' ) ?? '';
1301    }
1302
1303    /**
1304     * @param string $val
1305     */
1306    public function setStep( string $val ): void {
1307        '@phan-var \Wikimedia\IDLeDOM\Element $this';
1308        // @var \Wikimedia\IDLeDOM\Element $this
1309        $this->setAttribute( 'step', $val );
1310    }
1311
1312    /**
1313     * @return string
1314     */
1315    public function getType(): string {
1316        '@phan-var \Wikimedia\IDLeDOM\Element $this';
1317        // @var \Wikimedia\IDLeDOM\Element $this
1318        $val = $this->getAttribute( 'type' );
1319        if ( $val !== null ) {
1320            $val = strtr( $val, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz' );
1321            switch ( $val ) {
1322                case 'hidden':
1323                case 'text':
1324                case 'search':
1325                case 'tel':
1326                case 'url':
1327                case 'email':
1328                case 'password':
1329                case 'date':
1330                case 'month':
1331                case 'week':
1332                case 'time':
1333                case 'datetime-local':
1334                case 'number':
1335                case 'range':
1336                case 'color':
1337                case 'checkbox':
1338                case 'radio':
1339                case 'file':
1340                case 'submit':
1341                case 'image':
1342                case 'reset':
1343                case 'button':
1344                    return $val;
1345                default:
1346                    return 'text';
1347            }
1348        }
1349        return 'text';
1350    }
1351
1352    /**
1353     * @param string $val
1354     */
1355    public function setType( string $val ): void {
1356        '@phan-var \Wikimedia\IDLeDOM\Element $this';
1357        // @var \Wikimedia\IDLeDOM\Element $this
1358        $this->setAttribute( 'type', $val );
1359    }
1360
1361    /**
1362     * @return string
1363     */
1364    public function getDefaultValue(): string {
1365        '@phan-var \Wikimedia\IDLeDOM\Element $this';
1366        // @var \Wikimedia\IDLeDOM\Element $this
1367        return $this->getAttribute( 'value' ) ?? '';
1368    }
1369
1370    /**
1371     * @param string $val
1372     */
1373    public function setDefaultValue( string $val ): void {
1374        '@phan-var \Wikimedia\IDLeDOM\Element $this';
1375        // @var \Wikimedia\IDLeDOM\Element $this
1376        $this->setAttribute( 'value', $val );
1377    }
1378
1379    /**
1380     * @return string
1381     */
1382    public function getAlign(): string {
1383        '@phan-var \Wikimedia\IDLeDOM\Element $this';
1384        // @var \Wikimedia\IDLeDOM\Element $this
1385        return $this->getAttribute( 'align' ) ?? '';
1386    }
1387
1388    /**
1389     * @param string $val
1390     */
1391    public function setAlign( string $val ): void {
1392        '@phan-var \Wikimedia\IDLeDOM\Element $this';
1393        // @var \Wikimedia\IDLeDOM\Element $this
1394        $this->setAttribute( 'align', $val );
1395    }
1396
1397    /**
1398     * @return string
1399     */
1400    public function getUseMap(): string {
1401        '@phan-var \Wikimedia\IDLeDOM\Element $this';
1402        // @var \Wikimedia\IDLeDOM\Element $this
1403        return $this->getAttribute( 'usemap' ) ?? '';
1404    }
1405
1406    /**
1407     * @param string $val
1408     */
1409    public function setUseMap( string $val ): void {
1410        '@phan-var \Wikimedia\IDLeDOM\Element $this';
1411        // @var \Wikimedia\IDLeDOM\Element $this
1412        $this->setAttribute( 'usemap', $val );
1413    }
1414
1415}