Chris@0: New Chris@0: ----- Chris@0: b(); Chris@0: new $a->b->c(); Chris@0: new $a->b['c'](); Chris@0: new $a->b{'c'}(); Chris@0: Chris@0: // test regression introduces by new dereferencing syntax Chris@0: (new A); Chris@0: ----- Chris@0: array( Chris@0: 0: Expr_New( Chris@0: class: Name( Chris@0: parts: array( Chris@0: 0: A Chris@0: ) Chris@0: ) Chris@0: args: array( Chris@0: ) Chris@0: ) Chris@0: 1: Expr_New( Chris@0: class: Name( Chris@0: parts: array( Chris@0: 0: A Chris@0: ) Chris@0: ) Chris@0: args: array( Chris@0: 0: Arg( Chris@0: value: Expr_Variable( Chris@0: name: b Chris@0: ) Chris@0: byRef: false Chris@0: unpack: false Chris@0: ) Chris@0: ) Chris@0: ) Chris@0: 2: Expr_New( Chris@0: class: Expr_Variable( Chris@0: name: a Chris@0: ) Chris@0: args: array( Chris@0: ) Chris@0: comments: array( Chris@0: 0: // class name variations Chris@0: ) Chris@0: ) Chris@0: 3: Expr_New( Chris@0: class: Expr_ArrayDimFetch( Chris@0: var: Expr_Variable( Chris@0: name: a Chris@0: ) Chris@0: dim: Scalar_String( Chris@0: value: b Chris@0: ) Chris@0: ) Chris@0: args: array( Chris@0: ) Chris@0: ) Chris@0: 4: Expr_New( Chris@0: class: Expr_StaticPropertyFetch( Chris@0: class: Name( Chris@0: parts: array( Chris@0: 0: A Chris@0: ) Chris@0: ) Chris@0: name: b Chris@0: ) Chris@0: args: array( Chris@0: ) Chris@0: ) Chris@0: 5: Expr_New( Chris@0: class: Expr_PropertyFetch( Chris@0: var: Expr_Variable( Chris@0: name: a Chris@0: ) Chris@0: name: b Chris@0: ) Chris@0: args: array( Chris@0: ) Chris@0: comments: array( Chris@0: 0: // DNCR object access Chris@0: ) Chris@0: ) Chris@0: 6: Expr_New( Chris@0: class: Expr_PropertyFetch( Chris@0: var: Expr_PropertyFetch( Chris@0: var: Expr_Variable( Chris@0: name: a Chris@0: ) Chris@0: name: b Chris@0: ) Chris@0: name: c Chris@0: ) Chris@0: args: array( Chris@0: ) Chris@0: ) Chris@0: 7: Expr_New( Chris@0: class: Expr_ArrayDimFetch( Chris@0: var: Expr_PropertyFetch( Chris@0: var: Expr_Variable( Chris@0: name: a Chris@0: ) Chris@0: name: b Chris@0: ) Chris@0: dim: Scalar_String( Chris@0: value: c Chris@0: ) Chris@0: ) Chris@0: args: array( Chris@0: ) Chris@0: ) Chris@0: 8: Expr_New( Chris@0: class: Expr_ArrayDimFetch( Chris@0: var: Expr_PropertyFetch( Chris@0: var: Expr_Variable( Chris@0: name: a Chris@0: ) Chris@0: name: b Chris@0: ) Chris@0: dim: Scalar_String( Chris@0: value: c Chris@0: ) Chris@0: ) Chris@0: args: array( Chris@0: ) Chris@0: ) Chris@0: 9: Expr_New( Chris@0: class: Name( Chris@0: parts: array( Chris@0: 0: A Chris@0: ) Chris@0: ) Chris@0: args: array( Chris@0: ) Chris@0: ) Chris@0: )