Mercurial > hg > isophonics-drupal-site
diff vendor/nikic/php-parser/test/code/parser/stmt/class/anonymous.test @ 0:4c8ae668cc8c
Initial import (non-working)
author | Chris Cannam |
---|---|
date | Wed, 29 Nov 2017 16:09:58 +0000 |
parents | |
children | 5fb285c0d0e3 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/vendor/nikic/php-parser/test/code/parser/stmt/class/anonymous.test Wed Nov 29 16:09:58 2017 +0000 @@ -0,0 +1,195 @@ +Anonymous classes +----- +<?php + +new class { + public function test() {} +}; +new class extends A implements B, C {}; +new class() { + public $foo; +}; +new class($a, $b) extends A { + use T; +}; + +class A { + public function test() { + return new class($this) extends A { + const A = 'B'; + }; + } +} +----- +array( + 0: Expr_New( + class: Stmt_Class( + flags: 0 + name: null + extends: null + implements: array( + ) + stmts: array( + 0: Stmt_ClassMethod( + flags: MODIFIER_PUBLIC (1) + byRef: false + name: test + params: array( + ) + returnType: null + stmts: array( + ) + ) + ) + ) + args: array( + ) + ) + 1: Expr_New( + class: Stmt_Class( + flags: 0 + name: null + extends: Name( + parts: array( + 0: A + ) + ) + implements: array( + 0: Name( + parts: array( + 0: B + ) + ) + 1: Name( + parts: array( + 0: C + ) + ) + ) + stmts: array( + ) + ) + args: array( + ) + ) + 2: Expr_New( + class: Stmt_Class( + flags: 0 + name: null + extends: null + implements: array( + ) + stmts: array( + 0: Stmt_Property( + flags: MODIFIER_PUBLIC (1) + props: array( + 0: Stmt_PropertyProperty( + name: foo + default: null + ) + ) + ) + ) + ) + args: array( + ) + ) + 3: Expr_New( + class: Stmt_Class( + flags: 0 + name: null + extends: Name( + parts: array( + 0: A + ) + ) + implements: array( + ) + stmts: array( + 0: Stmt_TraitUse( + traits: array( + 0: Name( + parts: array( + 0: T + ) + ) + ) + adaptations: array( + ) + ) + ) + ) + args: array( + 0: Arg( + value: Expr_Variable( + name: a + ) + byRef: false + unpack: false + ) + 1: Arg( + value: Expr_Variable( + name: b + ) + byRef: false + unpack: false + ) + ) + ) + 4: Stmt_Class( + flags: 0 + name: A + extends: null + implements: array( + ) + stmts: array( + 0: Stmt_ClassMethod( + flags: MODIFIER_PUBLIC (1) + byRef: false + name: test + params: array( + ) + returnType: null + stmts: array( + 0: Stmt_Return( + expr: Expr_New( + class: Stmt_Class( + flags: 0 + name: null + extends: Name( + parts: array( + 0: A + ) + ) + implements: array( + ) + stmts: array( + 0: Stmt_ClassConst( + flags: 0 + consts: array( + 0: Const( + name: A + value: Scalar_String( + value: B + ) + ) + ) + ) + ) + ) + args: array( + 0: Arg( + value: Expr_Variable( + name: this + ) + byRef: false + unpack: false + ) + ) + ) + ) + ) + ) + ) + ) +) \ No newline at end of file