Mercurial > hg > isophonics-drupal-site
view vendor/nikic/php-parser/test/code/parser/expr/ternaryAndCoalesce.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
Ternary operator ----- <?php // ternary $a ? $b : $c; $a ?: $c; // precedence $a ? $b : $c ? $d : $e; $a ? $b : ($c ? $d : $e); // null coalesce $a ?? $b; $a ?? $b ?? $c; $a ?? $b ? $c : $d; $a && $b ?? $c; ----- array( 0: Stmt_Expression( expr: Expr_Ternary( cond: Expr_Variable( name: a comments: array( 0: // ternary ) ) if: Expr_Variable( name: b ) else: Expr_Variable( name: c ) comments: array( 0: // ternary ) ) comments: array( 0: // ternary ) ) 1: Stmt_Expression( expr: Expr_Ternary( cond: Expr_Variable( name: a ) if: null else: Expr_Variable( name: c ) ) ) 2: Stmt_Expression( expr: Expr_Ternary( cond: Expr_Ternary( cond: Expr_Variable( name: a comments: array( 0: // precedence ) ) if: Expr_Variable( name: b ) else: Expr_Variable( name: c ) comments: array( 0: // precedence ) ) if: Expr_Variable( name: d ) else: Expr_Variable( name: e ) comments: array( 0: // precedence ) ) comments: array( 0: // precedence ) ) 3: Stmt_Expression( expr: Expr_Ternary( cond: Expr_Variable( name: a ) if: Expr_Variable( name: b ) else: Expr_Ternary( cond: Expr_Variable( name: c ) if: Expr_Variable( name: d ) else: Expr_Variable( name: e ) ) ) ) 4: Stmt_Expression( expr: Expr_BinaryOp_Coalesce( left: Expr_Variable( name: a comments: array( 0: // null coalesce ) ) right: Expr_Variable( name: b ) comments: array( 0: // null coalesce ) ) comments: array( 0: // null coalesce ) ) 5: Stmt_Expression( expr: Expr_BinaryOp_Coalesce( left: Expr_Variable( name: a ) right: Expr_BinaryOp_Coalesce( left: Expr_Variable( name: b ) right: Expr_Variable( name: c ) ) ) ) 6: Stmt_Expression( expr: Expr_Ternary( cond: Expr_BinaryOp_Coalesce( left: Expr_Variable( name: a ) right: Expr_Variable( name: b ) ) if: Expr_Variable( name: c ) else: Expr_Variable( name: d ) ) ) 7: Stmt_Expression( expr: Expr_BinaryOp_Coalesce( left: Expr_BinaryOp_BooleanAnd( left: Expr_Variable( name: a ) right: Expr_Variable( name: b ) ) right: Expr_Variable( name: c ) ) ) )