annotate vendor/nikic/php-parser/test/code/parser/expr/new.test @ 0:4c8ae668cc8c

Initial import (non-working)
author Chris Cannam
date Wed, 29 Nov 2017 16:09:58 +0000
parents
children 5fb285c0d0e3
rev   line source
Chris@0 1 New
Chris@0 2 -----
Chris@0 3 <?php
Chris@0 4
Chris@0 5 new A;
Chris@0 6 new A($b);
Chris@0 7
Chris@0 8 // class name variations
Chris@0 9 new $a();
Chris@0 10 new $a['b']();
Chris@0 11 new A::$b();
Chris@0 12 // DNCR object access
Chris@0 13 new $a->b();
Chris@0 14 new $a->b->c();
Chris@0 15 new $a->b['c']();
Chris@0 16 new $a->b{'c'}();
Chris@0 17
Chris@0 18 // test regression introduces by new dereferencing syntax
Chris@0 19 (new A);
Chris@0 20 -----
Chris@0 21 array(
Chris@0 22 0: Expr_New(
Chris@0 23 class: Name(
Chris@0 24 parts: array(
Chris@0 25 0: A
Chris@0 26 )
Chris@0 27 )
Chris@0 28 args: array(
Chris@0 29 )
Chris@0 30 )
Chris@0 31 1: Expr_New(
Chris@0 32 class: Name(
Chris@0 33 parts: array(
Chris@0 34 0: A
Chris@0 35 )
Chris@0 36 )
Chris@0 37 args: array(
Chris@0 38 0: Arg(
Chris@0 39 value: Expr_Variable(
Chris@0 40 name: b
Chris@0 41 )
Chris@0 42 byRef: false
Chris@0 43 unpack: false
Chris@0 44 )
Chris@0 45 )
Chris@0 46 )
Chris@0 47 2: Expr_New(
Chris@0 48 class: Expr_Variable(
Chris@0 49 name: a
Chris@0 50 )
Chris@0 51 args: array(
Chris@0 52 )
Chris@0 53 comments: array(
Chris@0 54 0: // class name variations
Chris@0 55 )
Chris@0 56 )
Chris@0 57 3: Expr_New(
Chris@0 58 class: Expr_ArrayDimFetch(
Chris@0 59 var: Expr_Variable(
Chris@0 60 name: a
Chris@0 61 )
Chris@0 62 dim: Scalar_String(
Chris@0 63 value: b
Chris@0 64 )
Chris@0 65 )
Chris@0 66 args: array(
Chris@0 67 )
Chris@0 68 )
Chris@0 69 4: Expr_New(
Chris@0 70 class: Expr_StaticPropertyFetch(
Chris@0 71 class: Name(
Chris@0 72 parts: array(
Chris@0 73 0: A
Chris@0 74 )
Chris@0 75 )
Chris@0 76 name: b
Chris@0 77 )
Chris@0 78 args: array(
Chris@0 79 )
Chris@0 80 )
Chris@0 81 5: Expr_New(
Chris@0 82 class: Expr_PropertyFetch(
Chris@0 83 var: Expr_Variable(
Chris@0 84 name: a
Chris@0 85 )
Chris@0 86 name: b
Chris@0 87 )
Chris@0 88 args: array(
Chris@0 89 )
Chris@0 90 comments: array(
Chris@0 91 0: // DNCR object access
Chris@0 92 )
Chris@0 93 )
Chris@0 94 6: Expr_New(
Chris@0 95 class: Expr_PropertyFetch(
Chris@0 96 var: Expr_PropertyFetch(
Chris@0 97 var: Expr_Variable(
Chris@0 98 name: a
Chris@0 99 )
Chris@0 100 name: b
Chris@0 101 )
Chris@0 102 name: c
Chris@0 103 )
Chris@0 104 args: array(
Chris@0 105 )
Chris@0 106 )
Chris@0 107 7: Expr_New(
Chris@0 108 class: Expr_ArrayDimFetch(
Chris@0 109 var: Expr_PropertyFetch(
Chris@0 110 var: Expr_Variable(
Chris@0 111 name: a
Chris@0 112 )
Chris@0 113 name: b
Chris@0 114 )
Chris@0 115 dim: Scalar_String(
Chris@0 116 value: c
Chris@0 117 )
Chris@0 118 )
Chris@0 119 args: array(
Chris@0 120 )
Chris@0 121 )
Chris@0 122 8: Expr_New(
Chris@0 123 class: Expr_ArrayDimFetch(
Chris@0 124 var: Expr_PropertyFetch(
Chris@0 125 var: Expr_Variable(
Chris@0 126 name: a
Chris@0 127 )
Chris@0 128 name: b
Chris@0 129 )
Chris@0 130 dim: Scalar_String(
Chris@0 131 value: c
Chris@0 132 )
Chris@0 133 )
Chris@0 134 args: array(
Chris@0 135 )
Chris@0 136 )
Chris@0 137 9: Expr_New(
Chris@0 138 class: Name(
Chris@0 139 parts: array(
Chris@0 140 0: A
Chris@0 141 )
Chris@0 142 )
Chris@0 143 args: array(
Chris@0 144 )
Chris@0 145 )
Chris@0 146 )