Mercurial > hg > isophonics-drupal-site
view 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 source
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 ) ) ) ) ) ) ) ) )