1<?php 2 3// AUTOMATICALLY GENERATED. DO NOT EDIT. 4// Use `composer build` to regenerate. 5 6namespace Wikimedia\IDLeDOM\Helper; 7 8trait CSSImportRule { 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\CSSImportRule $this'; 44 // @var \Wikimedia\IDLeDOM\CSSImportRule $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 "href": 55 return $this->getHref(); 56 case "media": 57 return $this->getMedia(); 58 case "styleSheet": 59 return $this->getStyleSheet(); 60 default: 61 break; 62 } 63 '@phan-var \Wikimedia\IDLeDOM\Helper\CSSImportRule $this'; 64 // @var \Wikimedia\IDLeDOM\Helper\CSSImportRule $this 65 return $this->_getMissingProp( $name ); 66 } 67 68 /** 69 * @param string $name 70 * @return bool 71 */ 72 public function __isset( string $name ): bool { 73 '@phan-var \Wikimedia\IDLeDOM\CSSImportRule $this'; 74 // @var \Wikimedia\IDLeDOM\CSSImportRule $this 75 switch ( $name ) { 76 case "cssText": 77 return true; 78 case "parentRule": 79 return $this->getParentRule() !== null; 80 case "parentStyleSheet": 81 return $this->getParentStyleSheet() !== null; 82 case "type": 83 return true; 84 case "href": 85 return true; 86 case "media": 87 return true; 88 case "styleSheet": 89 return true; 90 default: 91 break; 92 } 93 return false; 94 } 95 96 /** 97 * @param string $name 98 * @param mixed $value 99 */ 100 public function __set( string $name, $value ): void { 101 '@phan-var \Wikimedia\IDLeDOM\CSSImportRule $this'; 102 // @var \Wikimedia\IDLeDOM\CSSImportRule $this 103 switch ( $name ) { 104 case "cssText": 105 $this->setCssText( $value ); 106 return; 107 case "media": 108 $this->setMedia( $value ); 109 return; 110 default: 111 break; 112 } 113 '@phan-var \Wikimedia\IDLeDOM\Helper\CSSImportRule $this'; 114 // @var \Wikimedia\IDLeDOM\Helper\CSSImportRule $this 115 $this->_setMissingProp( $name, $value ); 116 } 117 118 /** 119 * @param string $name 120 */ 121 public function __unset( string $name ): void { 122 '@phan-var \Wikimedia\IDLeDOM\CSSImportRule $this'; 123 // @var \Wikimedia\IDLeDOM\CSSImportRule $this 124 switch ( $name ) { 125 case "cssText": 126 break; 127 case "parentRule": 128 break; 129 case "parentStyleSheet": 130 break; 131 case "type": 132 break; 133 case "href": 134 break; 135 case "media": 136 break; 137 case "styleSheet": 138 break; 139 default: 140 return; 141 } 142 $trace = debug_backtrace(); 143 while ( 144 count( $trace ) > 0 && 145 $trace[0]['function'] !== "__unset" 146 ) { 147 array_shift( $trace ); 148 } 149 trigger_error( 150 'Undefined property' . 151 ' via ' . ( $trace[0]['function'] ?? '' ) . '(): ' . $name . 152 ' in ' . ( $trace[0]['file'] ?? '' ) . 153 ' on line ' . ( $trace[0]['line'] ?? '' ), 154 E_USER_NOTICE 155 ); 156 } 157 158 /** 159 * @param ?string $val 160 */ 161 public function setMedia( ?string $val ): void { 162 '@phan-var \Wikimedia\IDLeDOM\CSSImportRule $this'; 163 // @var \Wikimedia\IDLeDOM\CSSImportRule $this 164 $this->getMedia()->setMediaText( $val ); 165 } 166 167} 168