Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 61
0.00% covered (danger)
0.00%
0 / 5
CRAP
0.00% covered (danger)
0.00%
0 / 1
CSSMarginRule
0.00% covered (danger)
0.00%
0 / 61
0.00% covered (danger)
0.00%
0 / 5
992
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 / 14
0.00% covered (danger)
0.00%
0 / 1
72
 __isset
0.00% covered (danger)
0.00%
0 / 14
0.00% covered (danger)
0.00%
0 / 1
72
 __set
0.00% covered (danger)
0.00%
0 / 8
0.00% covered (danger)
0.00%
0 / 1
20
 __unset
0.00% covered (danger)
0.00%
0 / 24
0.00% covered (danger)
0.00%
0 / 1
110
 setStyle
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 CSSMarginRule {
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\CSSMarginRule $this';
44        // @var \Wikimedia\IDLeDOM\CSSMarginRule $this
45        switch ( $name ) {
46            case "cssText":
47                return $this->getCssText();
48            case "parentRule":
49                return $this->getParentRule();
50            case "parentStyleSheet":
51                return $this->getParentStyleSheet();
52            case "type":
53                return $this->getType();
54            case "name":
55                return $this->getName();
56            case "style":
57                return $this->getStyle();
58            default:
59                break;
60        }
61        '@phan-var \Wikimedia\IDLeDOM\Helper\CSSMarginRule $this';
62        // @var \Wikimedia\IDLeDOM\Helper\CSSMarginRule $this
63        return $this->_getMissingProp( $name );
64    }
65
66    /**
67     * @param string $name
68     * @return bool
69     */
70    public function __isset( string $name ): bool {
71        '@phan-var \Wikimedia\IDLeDOM\CSSMarginRule $this';
72        // @var \Wikimedia\IDLeDOM\CSSMarginRule $this
73        switch ( $name ) {
74            case "cssText":
75                return true;
76            case "parentRule":
77                return $this->getParentRule() !== null;
78            case "parentStyleSheet":
79                return $this->getParentStyleSheet() !== null;
80            case "type":
81                return true;
82            case "name":
83                return true;
84            case "style":
85                return true;
86            default:
87                break;
88        }
89        return false;
90    }
91
92    /**
93     * @param string $name
94     * @param mixed $value
95     */
96    public function __set( string $name, $value ): void {
97        '@phan-var \Wikimedia\IDLeDOM\CSSMarginRule $this';
98        // @var \Wikimedia\IDLeDOM\CSSMarginRule $this
99        switch ( $name ) {
100            case "cssText":
101                $this->setCssText( $value );
102                return;
103            case "style":
104                $this->setStyle( $value );
105                return;
106            default:
107                break;
108        }
109        '@phan-var \Wikimedia\IDLeDOM\Helper\CSSMarginRule $this';
110        // @var \Wikimedia\IDLeDOM\Helper\CSSMarginRule $this
111        $this->_setMissingProp( $name, $value );
112    }
113
114    /**
115     * @param string $name
116     */
117    public function __unset( string $name ): void {
118        '@phan-var \Wikimedia\IDLeDOM\CSSMarginRule $this';
119        // @var \Wikimedia\IDLeDOM\CSSMarginRule $this
120        switch ( $name ) {
121            case "cssText":
122                break;
123            case "parentRule":
124                break;
125            case "parentStyleSheet":
126                break;
127            case "type":
128                break;
129            case "name":
130                break;
131            case "style":
132                break;
133            default:
134                return;
135        }
136        $trace = debug_backtrace();
137        while (
138            count( $trace ) > 0 &&
139            $trace[0]['function'] !== "__unset"
140        ) {
141            array_shift( $trace );
142        }
143        trigger_error(
144            'Undefined property' .
145            ' via ' . ( $trace[0]['function'] ?? '' ) . '(): ' . $name .
146            ' in ' . ( $trace[0]['file'] ?? '' ) .
147            ' on line ' . ( $trace[0]['line'] ?? '' ),
148            E_USER_NOTICE
149        );
150    }
151
152    /**
153     * @param string $val
154     */
155    public function setStyle( string $val ): void {
156        '@phan-var \Wikimedia\IDLeDOM\CSSMarginRule $this';
157        // @var \Wikimedia\IDLeDOM\CSSMarginRule $this
158        $this->getStyle()->setCssText( $val );
159    }
160
161}