view vendor/nikic/php-parser/test/code/parser/expr/fetchAndCall/newDeref.test @ 16:c2387f117808

Routine composer update
author Chris Cannam
date Tue, 10 Jul 2018 15:07:59 +0100
parents 5fb285c0d0e3
children
line wrap: on
line source
New expression dereferencing
-----
<?php

(new A)->b;
(new A)->b();
(new A)['b'];
(new A)['b']['c'];
-----
array(
    0: Stmt_Expression(
        expr: Expr_PropertyFetch(
            var: Expr_New(
                class: Name(
                    parts: array(
                        0: A
                    )
                )
                args: array(
                )
            )
            name: Identifier(
                name: b
            )
        )
    )
    1: Stmt_Expression(
        expr: Expr_MethodCall(
            var: Expr_New(
                class: Name(
                    parts: array(
                        0: A
                    )
                )
                args: array(
                )
            )
            name: Identifier(
                name: b
            )
            args: array(
            )
        )
    )
    2: Stmt_Expression(
        expr: Expr_ArrayDimFetch(
            var: Expr_New(
                class: Name(
                    parts: array(
                        0: A
                    )
                )
                args: array(
                )
            )
            dim: Scalar_String(
                value: b
            )
        )
    )
    3: Stmt_Expression(
        expr: Expr_ArrayDimFetch(
            var: Expr_ArrayDimFetch(
                var: Expr_New(
                    class: Name(
                        parts: array(
                            0: A
                        )
                    )
                    args: array(
                    )
                )
                dim: Scalar_String(
                    value: b
                )
            )
            dim: Scalar_String(
                value: c
            )
        )
    )
)