Changeset 12146
- Timestamp:
- 05/21/08 23:16:25 (5 years ago)
- Location:
- lang/php/phptree
- Files:
-
- 1 modified
- 1 moved
-
exchange.php (moved) (moved from lang/php/phptree/jsexchange.php) (20 diffs)
-
metadatas.php (modified) (27 diffs)
Legend:
- Unmodified
- Added
- Removed
-
lang/php/phptree/exchange.php
r12092 r12146 1 1 <?php 2 2 3 interface I JSExchange {3 interface IExchange { 4 4 public function visit(IMetaData $meta); 5 5 public function visitPHPScriptMeta(PHPScriptMetaData $meta); … … 29 29 } 30 30 31 class Buffer {31 class DefaultBuffer { 32 32 private $buf = ''; 33 33 public function write($str){ … … 43 43 } 44 44 45 class StringJSExchange implements IJSExchange {45 class DebugExchange implements IExchange { 46 46 public function visit(IMetaData $meta){ 47 47 throw new Exception('Unsupported type: ' . get_class($meta)); 48 48 } 49 49 public function visitPHPScriptMeta(PHPScriptMetaData $meta){ 50 $buf = new Buffer;50 $buf = new DefaultBuffer; 51 51 $buf->writeln('[' . $meta->getNodeName() . ']'); 52 52 $buf->writeln($meta->getInterfaceList()->toJSValue($this)); … … 55 55 } 56 56 public function visitInterfaceMeta(InterfaceMetaData $meta){ 57 $buf = new Buffer;57 $buf = new DefaultBuffer; 58 58 $buf->writeln('[' . $meta->getNodeName() . ']'); 59 59 $buf->writeln($meta->getToken()->toJSValue($this)); … … 63 63 } 64 64 public function visitClassMeta(ClassMetaData $meta){ 65 $buf = new Buffer;65 $buf = new DefaultBuffer; 66 66 $buf->writeln('[' . $meta->getNodeName() . ']'); 67 67 $buf->writeln($meta->getToken()->toJSValue($this)); … … 71 71 } 72 72 public function visitMethodMeta(MethodMetaData $meta){ 73 $buf = new Buffer;73 $buf = new DefaultBuffer; 74 74 $buf->writeln('[' . $meta->getNodeName() . ']'); 75 75 $buf->writeln($meta->getToken()->toJSValue($this)); … … 78 78 } 79 79 public function visitAttributeMeta(AttributeMetaData $meta){ 80 $buf = new Buffer;80 $buf = new DefaultBuffer; 81 81 $buf->writeln($meta->getToken()->toJSValue($this)); 82 82 $buf->writeln($meta->getAttribute()->toJSValue($this)); … … 84 84 } 85 85 public function visitParameterMeta(ParameterMetaData $meta){ 86 $buf = new Buffer;86 $buf = new DefaultBuffer; 87 87 $buf->writeln('[' . $meta->getNodeName() . ']'); 88 88 $buf->writeln($meta->getType()->toJSValue($this)); … … 91 91 } 92 92 public function visitTypeMeta(TypeMetaData $meta){ 93 $buf = new Buffer;93 $buf = new DefaultBuffer; 94 94 $buf->writeln('[' . $meta->getNodeName() . ']'); 95 95 $buf->writeln($meta->getToken()->toJSValue($this)); … … 97 97 } 98 98 public function visitAttributeValueMeta(AttributeValueMetaData $meta){ 99 $buf = new Buffer;99 $buf = new DefaultBuffer; 100 100 $buf->writeln('[' . $meta->getNodeName() . ']'); 101 101 $buf->writeln($meta->getAttribute()->toJSValue($this)); … … 106 106 } 107 107 public function visitInterfaceTokenMeta(InterfaceTokenMetaData $meta){ 108 $buf = new Buffer;108 $buf = new DefaultBuffer; 109 109 $buf->writeln('[' . $meta->getNodeName() . ': ' . $meta->getValue() . ']'); 110 110 return $buf; 111 111 } 112 112 public function visitClassTokenMeta(ClassTokenMetaData $meta){ 113 $buf = new Buffer;113 $buf = new DefaultBuffer; 114 114 $buf->writeln('[' . $meta->getNodeName() . ': ' . $meta->getValue() . ']'); 115 115 return $buf; 116 116 } 117 117 public function visitMethodTokenMeta(MethodTokenMetaData $meta){ 118 $buf = new Buffer;118 $buf = new DefaultBuffer; 119 119 $buf->writeln('[' . $meta->getNodeName() . ': ' . $meta->getValue() . ']'); 120 120 return $buf; 121 121 } 122 122 public function visitVariableTokenMeta(VariableTokenMetaData $meta){ 123 $buf = new Buffer;123 $buf = new DefaultBuffer; 124 124 $buf->writeln('[' . $meta->getNodeName() . ': ' . $meta->getValue() . ']'); 125 125 return $buf; 126 126 } 127 127 public function visitIntegerAttributeMeta(IntegerAttributeMetaData $meta){ 128 $buf = new Buffer;128 $buf = new DefaultBuffer; 129 129 $buf->writeln('[' . $meta->getNodeName() . ': ' . $meta->getValue() . ']'); 130 130 return $buf; 131 131 } 132 132 public function visitStringAttributeMeta(StringAttributeMetaData $meta){ 133 $buf = new Buffer;133 $buf = new DefaultBuffer; 134 134 $buf->writeln('[' . $meta->getNodeName() . ': ' . $meta->getValue() . ']'); 135 135 return $buf; 136 136 } 137 137 public function visitBooleanAttributeMeta(BooleanAttributeMetaData $meta){ 138 $buf = new Buffer;138 $buf = new DefaultBuffer; 139 139 $buf->writeln('[' . $meta->getNodeName() . ': ' . $meta->getValue() . ']'); 140 140 return $buf; 141 141 } 142 142 public function visitRealAttributeMeta(RealAttributeMetaData $meta){ 143 $buf = new Buffer;143 $buf = new DefaultBuffer; 144 144 $buf->writeln('[' . $meta->getNodeName() . ': ' . $meta->getValue() . ']'); 145 145 return $buf; 146 146 } 147 147 public function visitArrayAttributeMeta(ArrayAttributeMetaData $meta){ 148 $buf = new Buffer;148 $buf = new DefaultBuffer; 149 149 $buf->writeln('[' . $meta->getNodeName() . ']'); 150 150 $buf->writeln($meta->getElementList()->toJSValue($this)); … … 152 152 } 153 153 public function visitArrayElementMeta(ArrayElementMetaData $meta){ 154 $buf = new Buffer;154 $buf = new DefaultBuffer; 155 155 $buf->writeln('[' . $meta->getNodeName() . ']'); 156 156 $buf->writeln($meta->getToken()->toJSValue($this)); … … 158 158 } 159 159 public function visitArrayHashElementMeta(ArrayHashElementMetaData $meta){ 160 $buf = new Buffer;160 $buf = new DefaultBuffer; 161 161 $buf->writeln('[' . $meta->getNodeName() . ']'); 162 162 $buf->writeln($meta->getKeyToken()->toJSValue($this)); … … 165 165 } 166 166 public function visitInterfaceListMeta(InterfaceMetaDataList $meta){ 167 $buf = new Buffer;167 $buf = new DefaultBuffer; 168 168 $buf->writeln('[' . $meta->getNodeName() . ']'); 169 169 $list = $meta->getList(); … … 174 174 } 175 175 public function visitClassListMeta(ClassMetaDataList $meta){ 176 $buf = new Buffer;176 $buf = new DefaultBuffer; 177 177 $buf->writeln('[' . $meta->getNodeName() . ']'); 178 178 $list = $meta->getList(); … … 183 183 } 184 184 public function visitInterfaceTokenListMeta(InterfaceTokenMetaDataList $meta){ 185 $buf = new Buffer;185 $buf = new DefaultBuffer; 186 186 $buf->writeln('[' . $meta->getNodeName() . ']'); 187 187 $list = $meta->getList(); … … 192 192 } 193 193 public function visitMemberListMeta(MemberMetaDataList $meta){ 194 $buf = new Buffer;194 $buf = new DefaultBuffer; 195 195 $buf->writeln('[' . $meta->getNodeName() . ']'); 196 196 $list = $meta->getList(); … … 201 201 } 202 202 public function visitArrayElementListMeta(ArrayElementMetaDataList $meta){ 203 $buf = new Buffer;203 $buf = new DefaultBuffer; 204 204 $buf->writeln('[' . $meta->getNodeName() . ']'); 205 205 $list = $meta->getList(); … … 210 210 } 211 211 public function visitParameterListMeta(ParameterMetaDataList $meta){ 212 $buf = new Buffer;212 $buf = new DefaultBuffer; 213 213 $buf->writeln('[' . $meta->getNodeName() . ']'); 214 214 $list = $meta->getList(); … … 219 219 } 220 220 } 221 222 class JSExchange implements IExchange { 223 public function visit(IMetaData $meta){ 224 throw new Exception('Unsupported type: ' . get_class($meta)); 225 } 226 public function visitPHPScriptMeta(PHPScriptMetaData $meta){ 227 $buf = new DefaultBuffer; 228 $buf->writeln('[' . $meta->getNodeName() . ']'); 229 $buf->writeln($meta->getInterfaceList()->toJSValue($this)); 230 $buf->writeln($meta->getClassList()->toJSValue($this)); 231 return $buf; 232 } 233 public function visitInterfaceMeta(InterfaceMetaData $meta){ 234 $buf = new DefaultBuffer; 235 $buf->writeln('[' . $meta->getNodeName() . ']'); 236 $buf->writeln($meta->getToken()->toJSValue($this)); 237 $buf->writeln($meta->getInterfaceList()->toJSValue($this)); 238 $buf->writeln($meta->getMemberList()->toJSValue($this)); 239 return $buf; 240 } 241 public function visitClassMeta(ClassMetaData $meta){ 242 $buf = new DefaultBuffer; 243 $buf->writeln('[' . $meta->getNodeName() . ']'); 244 $buf->writeln($meta->getToken()->toJSValue($this)); 245 $buf->writeln($meta->getInterfaceList()->toJSValue($this)); 246 $buf->writeln($meta->getMemberList()->toJSValue($this)); 247 return $buf; 248 } 249 public function visitMethodMeta(MethodMetaData $meta){ 250 $buf = new DefaultBuffer; 251 $buf->writeln('[' . $meta->getNodeName() . ']'); 252 $buf->writeln($meta->getToken()->toJSValue($this)); 253 $buf->writeln($meta->getParameterList()->toJSValue($this)); 254 return $buf; 255 } 256 public function visitAttributeMeta(AttributeMetaData $meta){ 257 $buf = new DefaultBuffer; 258 $buf->writeln($meta->getToken()->toJSValue($this)); 259 $buf->writeln($meta->getAttribute()->toJSValue($this)); 260 return $buf; 261 } 262 public function visitParameterMeta(ParameterMetaData $meta){ 263 $buf = new DefaultBuffer; 264 $buf->writeln('[' . $meta->getNodeName() . ']'); 265 $buf->writeln($meta->getType()->toJSValue($this)); 266 $buf->writeln($meta->getToken()->toJSValue($this)); 267 return $buf; 268 } 269 public function visitTypeMeta(TypeMetaData $meta){ 270 $buf = new DefaultBuffer; 271 $buf->writeln('[' . $meta->getNodeName() . ']'); 272 $buf->writeln($meta->getToken()->toJSValue($this)); 273 return $buf; 274 } 275 public function visitAttributeValueMeta(AttributeValueMetaData $meta){ 276 $buf = new DefaultBuffer; 277 $buf->writeln('[' . $meta->getNodeName() . ']'); 278 $buf->writeln($meta->getAttribute()->toJSValue($this)); 279 return $buf; 280 } 281 public function visitNopAttributeValueMeta(NopAttributeValueMetaData $meta){ 282 return ''; 283 } 284 public function visitInterfaceTokenMeta(InterfaceTokenMetaData $meta){ 285 $buf = new DefaultBuffer; 286 $buf->writeln('[' . $meta->getNodeName() . ': ' . $meta->getValue() . ']'); 287 return $buf; 288 } 289 public function visitClassTokenMeta(ClassTokenMetaData $meta){ 290 $buf = new DefaultBuffer; 291 $buf->writeln('[' . $meta->getNodeName() . ': ' . $meta->getValue() . ']'); 292 return $buf; 293 } 294 public function visitMethodTokenMeta(MethodTokenMetaData $meta){ 295 $buf = new DefaultBuffer; 296 $buf->writeln('[' . $meta->getNodeName() . ': ' . $meta->getValue() . ']'); 297 return $buf; 298 } 299 public function visitVariableTokenMeta(VariableTokenMetaData $meta){ 300 $buf = new DefaultBuffer; 301 $buf->writeln('[' . $meta->getNodeName() . ': ' . $meta->getValue() . ']'); 302 return $buf; 303 } 304 public function visitIntegerAttributeMeta(IntegerAttributeMetaData $meta){ 305 $buf = new DefaultBuffer; 306 $buf->writeln('[' . $meta->getNodeName() . ': ' . $meta->getValue() . ']'); 307 return $buf; 308 } 309 public function visitStringAttributeMeta(StringAttributeMetaData $meta){ 310 $buf = new DefaultBuffer; 311 $buf->writeln('[' . $meta->getNodeName() . ': ' . $meta->getValue() . ']'); 312 return $buf; 313 } 314 public function visitBooleanAttributeMeta(BooleanAttributeMetaData $meta){ 315 $buf = new DefaultBuffer; 316 $buf->writeln('[' . $meta->getNodeName() . ': ' . $meta->getValue() . ']'); 317 return $buf; 318 } 319 public function visitRealAttributeMeta(RealAttributeMetaData $meta){ 320 $buf = new DefaultBuffer; 321 $buf->writeln('[' . $meta->getNodeName() . ': ' . $meta->getValue() . ']'); 322 return $buf; 323 } 324 public function visitArrayAttributeMeta(ArrayAttributeMetaData $meta){ 325 $buf = new DefaultBuffer; 326 $buf->writeln('[' . $meta->getNodeName() . ']'); 327 $buf->writeln($meta->getElementList()->toJSValue($this)); 328 return $buf; 329 } 330 public function visitArrayElementMeta(ArrayElementMetaData $meta){ 331 $buf = new DefaultBuffer; 332 $buf->writeln('[' . $meta->getNodeName() . ']'); 333 $buf->writeln($meta->getToken()->toJSValue($this)); 334 return $buf; 335 } 336 public function visitArrayHashElementMeta(ArrayHashElementMetaData $meta){ 337 $buf = new DefaultBuffer; 338 $buf->writeln('[' . $meta->getNodeName() . ']'); 339 $buf->writeln($meta->getKeyToken()->toJSValue($this)); 340 $buf->writeln($meta->getValueToken()->toJSValue($this)); 341 return $buf; 342 } 343 public function visitInterfaceListMeta(InterfaceMetaDataList $meta){ 344 $buf = new DefaultBuffer; 345 $buf->writeln('[' . $meta->getNodeName() . ']'); 346 $list = $meta->getList(); 347 foreach($list as $interface){ 348 $buf->writeln($interface->toJSValue($this)); 349 } 350 return $buf; 351 } 352 public function visitClassListMeta(ClassMetaDataList $meta){ 353 $buf = new DefaultBuffer; 354 $buf->writeln('[' . $meta->getNodeName() . ']'); 355 $list = $meta->getList(); 356 foreach($list as $class){ 357 $buf->writeln($class->toJSValue($this)); 358 } 359 return $buf; 360 } 361 public function visitInterfaceTokenListMeta(InterfaceTokenMetaDataList $meta){ 362 $buf = new DefaultBuffer; 363 $buf->writeln('[' . $meta->getNodeName() . ']'); 364 $list = $meta->getList(); 365 foreach($list as $interface){ 366 $buf->writeln($interface->toJSValue($this)); 367 } 368 return $buf; 369 } 370 public function visitMemberListMeta(MemberMetaDataList $meta){ 371 $buf = new DefaultBuffer; 372 $buf->writeln('[' . $meta->getNodeName() . ']'); 373 $list = $meta->getList(); 374 foreach($list as $member){ 375 $buf->writeln($member->toJSValue($this)); 376 } 377 return $buf; 378 } 379 public function visitArrayElementListMeta(ArrayElementMetaDataList $meta){ 380 $buf = new DefaultBuffer; 381 $buf->writeln('[' . $meta->getNodeName() . ']'); 382 $list = $meta->getList(); 383 foreach($list as $arrayElement){ 384 $buf->writeln($arrayElement->toJSValue($this)); 385 } 386 return $buf; 387 } 388 public function visitParameterListMeta(ParameterMetaDataList $meta){ 389 $buf = new DefaultBuffer; 390 $buf->writeln('[' . $meta->getNodeName() . ']'); 391 $list = $meta->getList(); 392 foreach($list as $parameter){ 393 $buf->writeln($parameter->toJSValue($this)); 394 } 395 return $buf; 396 } 397 } -
lang/php/phptree/metadatas.php
r12092 r12146 3 3 interface IMetaData { 4 4 public function getNodeName(); 5 public function toJSValue(I JSExchange $exchange);5 public function toJSValue(IExchange $exchange); 6 6 } 7 7 … … 25 25 return $this->classList; 26 26 } 27 public function toJSValue(I JSExchange $exchange){27 public function toJSValue(IExchange $exchange){ 28 28 return $exchange->visitPHPScriptMeta($this); 29 29 } … … 56 56 return $this->memberList; 57 57 } 58 public function toJSValue(I JSExchange $exchange){58 public function toJSValue(IExchange $exchange){ 59 59 return $exchange->visitInterfaceMeta($this); 60 60 } … … 87 87 return $this->memberList; 88 88 } 89 public function toJSValue(I JSExchange $exchange){89 public function toJSValue(IExchange $exchange){ 90 90 return $exchange->visitClassMeta($this); 91 91 } … … 111 111 return $this->parameterList; 112 112 } 113 public function toJSValue(I JSExchange $exchange){113 public function toJSValue(IExchange $exchange){ 114 114 return $exchange->visitMethodMeta($this); 115 115 } … … 135 135 return $this->attribute; 136 136 } 137 public function toJSValue(I JSExchange $exchange){137 public function toJSValue(IExchange $exchange){ 138 138 return $exchange->visitAttributeMeta($this); 139 139 } … … 159 159 return $this->token; 160 160 } 161 public function toJSValue(I JSExchange $exchange){161 public function toJSValue(IExchange $exchange){ 162 162 return $exchange->visitParameterMeta($this); 163 163 } … … 176 176 return $this->token; 177 177 } 178 public function toJSValue(I JSExchange $exchange){178 public function toJSValue(IExchange $exchange){ 179 179 return $exchange->visitTypeMeta($this); 180 180 } … … 192 192 return $this->attribute; 193 193 } 194 public function toJSValue(I JSExchange $exchange){194 public function toJSValue(IExchange $exchange){ 195 195 return $exchange->visitAttributeValueMeta($this); 196 196 } … … 205 205 * override 206 206 */ 207 public function toJSValue(I JSExchange $exchange){207 public function toJSValue(IExchange $exchange){ 208 208 return $exchange->visitNopAttributeValueMeta($this); 209 209 } … … 222 222 return $this->value; 223 223 } 224 public function toJSValue(I JSExchange $exchange){224 public function toJSValue(IExchange $exchange){ 225 225 return $exchange->visitInterfaceTokenMeta($this); 226 226 } … … 238 238 return $this->value; 239 239 } 240 public function toJSValue(I JSExchange $exchange){240 public function toJSValue(IExchange $exchange){ 241 241 return $exchange->visitClassTokenMeta($this); 242 242 } … … 254 254 return $this->value; 255 255 } 256 public function toJSValue(I JSExchange $exchange){256 public function toJSValue(IExchange $exchange){ 257 257 return $exchange->visitMethodTokenMeta($this); 258 258 } … … 272 272 $this->value = $value; 273 273 } 274 public function toJSValue(I JSExchange $exchange){274 public function toJSValue(IExchange $exchange){ 275 275 return $exchange->visitVariableTokenMeta($this); 276 276 } … … 291 291 return $this->value; 292 292 } 293 public function toJSValue(I JSExchange $exchange){293 public function toJSValue(IExchange $exchange){ 294 294 return $exchange->visitIntegerAttributeMeta($this); 295 295 } … … 307 307 return $this->value; 308 308 } 309 public function toJSValue(I JSExchange $exchange){309 public function toJSValue(IExchange $exchange){ 310 310 return $exchange->visitStringAttributeMeta($this); 311 311 } … … 323 323 return $this->value; 324 324 } 325 public function toJSValue(I JSExchange $exchange){325 public function toJSValue(IExchange $exchange){ 326 326 return $exchange->visitBooleanAttributeMeta($this); 327 327 } … … 339 339 return $this->value; 340 340 } 341 public function toJSValue(I JSExchange $exchange){341 public function toJSValue(IExchange $exchange){ 342 342 return $exchange->visitRealAttributeMeta($this); 343 343 } … … 355 355 return $this->elementList; 356 356 } 357 public function toJSValue(I JSExchange $exchange){357 public function toJSValue(IExchange $exchange){ 358 358 return $exchange->visitArrayAttributeMeta($this); 359 359 } … … 371 371 return $this->token; 372 372 } 373 public function toJSValue(I JSExchange $exchange){373 public function toJSValue(IExchange $exchange){ 374 374 return $exchange->visitArrayElementMeta($this); 375 375 } … … 392 392 return $this->valueToken; 393 393 } 394 public function toJSValue(I JSExchange $exchange){394 public function toJSValue(IExchange $exchange){ 395 395 return $exchange->visitArrayHashElementMeta($this); 396 396 } … … 413 413 return $this->metas; 414 414 } 415 public function toJSValue(I JSExchange $exchange){415 public function toJSValue(IExchange $exchange){ 416 416 return $exchange->visitInterfaceListMeta($this); 417 417 } … … 429 429 return $this->metas; 430 430 } 431 public function toJSValue(I JSExchange $exchange){431 public function toJSValue(IExchange $exchange){ 432 432 return $exchange->visitClassListMeta($this); 433 433 } … … 445 445 return $this->metas; 446 446 } 447 public function toJSValue(I JSExchange $exchange){447 public function toJSValue(IExchange $exchange){ 448 448 return $exchange->visitInterfaceTokenListMeta($this); 449 449 } … … 461 461 return $this->metas; 462 462 } 463 public function toJSValue(I JSExchange $exchange){463 public function toJSValue(IExchange $exchange){ 464 464 return $exchange->visitMemberListMeta($this); 465 465 } … … 477 477 return $this->metas; 478 478 } 479 public function toJSValue(I JSExchange $exchange){479 public function toJSValue(IExchange $exchange){ 480 480 return $exchange->visitArrayElementListMeta($this); 481 481 } … … 493 493 return $this->metas; 494 494 } 495 public function toJSValue(I JSExchange $exchange){495 public function toJSValue(IExchange $exchange){ 496 496 return $exchange->visitParameterListMeta($this); 497 497 }
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)