view vendor/nikic/php-parser/test/code/parser/expr/uvs/isset.test @ 17:129ea1e6d783

Update, including to Drupal core 8.6.10
author Chris Cannam
date Thu, 28 Feb 2019 13:21:36 +0000
parents 5fb285c0d0e3
children
line wrap: on
line source
UVS isset() on temporaries
-----
<?php

isset(([0, 1] + [])[0]);
isset(['a' => 'b']->a);
isset("str"->a);
-----
!!php7
array(
    0: Stmt_Expression(
        expr: Expr_Isset(
            vars: array(
                0: Expr_ArrayDimFetch(
                    var: Expr_BinaryOp_Plus(
                        left: Expr_Array(
                            items: array(
                                0: Expr_ArrayItem(
                                    key: null
                                    value: Scalar_LNumber(
                                        value: 0
                                    )
                                    byRef: false
                                )
                                1: Expr_ArrayItem(
                                    key: null
                                    value: Scalar_LNumber(
                                        value: 1
                                    )
                                    byRef: false
                                )
                            )
                        )
                        right: Expr_Array(
                            items: array(
                            )
                        )
                    )
                    dim: Scalar_LNumber(
                        value: 0
                    )
                )
            )
        )
    )
    1: Stmt_Expression(
        expr: Expr_Isset(
            vars: array(
                0: Expr_PropertyFetch(
                    var: Expr_Array(
                        items: array(
                            0: Expr_ArrayItem(
                                key: Scalar_String(
                                    value: a
                                )
                                value: Scalar_String(
                                    value: b
                                )
                                byRef: false
                            )
                        )
                    )
                    name: Identifier(
                        name: a
                    )
                )
            )
        )
    )
    2: Stmt_Expression(
        expr: Expr_Isset(
            vars: array(
                0: Expr_PropertyFetch(
                    var: Scalar_String(
                        value: str
                    )
                    name: Identifier(
                        name: a
                    )
                )
            )
        )
    )
)