Chris@0: UVS new expressions Chris@0: ----- Chris@0: className; Chris@0: new Test::$className; Chris@0: new $test::$className; Chris@0: new $weird[0]->foo::$className; Chris@0: ----- Chris@0: !!php7 Chris@0: array( Chris@13: 0: Stmt_Expression( Chris@13: expr: Expr_New( Chris@13: class: Expr_Variable( Chris@13: name: className Chris@13: ) Chris@13: args: array( Chris@13: ) Chris@0: ) Chris@0: ) Chris@13: 1: Stmt_Expression( Chris@13: expr: Expr_New( Chris@13: class: Expr_ArrayDimFetch( Chris@13: var: Expr_Variable( Chris@13: name: array Chris@13: ) Chris@13: dim: Scalar_String( Chris@13: value: className Chris@13: ) Chris@0: ) Chris@13: args: array( Chris@0: ) Chris@0: ) Chris@13: ) Chris@13: 2: Stmt_Expression( Chris@13: expr: Expr_New( Chris@13: class: Expr_ArrayDimFetch( Chris@13: var: Expr_Variable( Chris@13: name: array Chris@13: ) Chris@13: dim: Scalar_String( Chris@13: value: className Chris@13: ) Chris@13: ) Chris@13: args: array( Chris@13: ) Chris@0: ) Chris@0: ) Chris@13: 3: Stmt_Expression( Chris@13: expr: Expr_New( Chris@13: class: Expr_PropertyFetch( Chris@13: var: Expr_Variable( Chris@13: name: obj Chris@13: ) Chris@13: name: Identifier( Chris@13: name: className Chris@13: ) Chris@0: ) Chris@13: args: array( Chris@0: ) Chris@0: ) Chris@13: ) Chris@13: 4: Stmt_Expression( Chris@13: expr: Expr_New( Chris@13: class: Expr_StaticPropertyFetch( Chris@13: class: Name( Chris@13: parts: array( Chris@13: 0: Test Chris@13: ) Chris@13: ) Chris@13: name: VarLikeIdentifier( Chris@13: name: className Chris@13: ) Chris@13: ) Chris@13: args: array( Chris@13: ) Chris@0: ) Chris@0: ) Chris@13: 5: Stmt_Expression( Chris@13: expr: Expr_New( Chris@13: class: Expr_StaticPropertyFetch( Chris@13: class: Expr_Variable( Chris@13: name: test Chris@13: ) Chris@13: name: VarLikeIdentifier( Chris@13: name: className Chris@13: ) Chris@0: ) Chris@13: args: array( Chris@13: ) Chris@0: ) Chris@0: ) Chris@13: 6: Stmt_Expression( Chris@13: expr: Expr_New( Chris@13: class: Expr_StaticPropertyFetch( Chris@13: class: Expr_PropertyFetch( Chris@13: var: Expr_ArrayDimFetch( Chris@13: var: Expr_Variable( Chris@13: name: weird Chris@13: ) Chris@13: dim: Scalar_LNumber( Chris@13: value: 0 Chris@13: ) Chris@13: ) Chris@13: name: Identifier( Chris@13: name: foo Chris@13: ) Chris@13: ) Chris@13: name: VarLikeIdentifier( Chris@13: name: className Chris@0: ) Chris@0: ) Chris@13: args: array( Chris@13: ) Chris@0: ) Chris@0: ) Chris@13: )