annotate vendor/nikic/php-parser/test/code/parser/expr/ternaryAndCoalesce.test @ 2:92f882872392

Trusted hosts, + remove migration modules
author Chris Cannam
date Tue, 05 Dec 2017 09:26:43 +0000
parents 4c8ae668cc8c
children 5fb285c0d0e3
rev   line source
Chris@0 1 Ternary operator
Chris@0 2 -----
Chris@0 3 <?php
Chris@0 4
Chris@0 5 // ternary
Chris@0 6 $a ? $b : $c;
Chris@0 7 $a ?: $c;
Chris@0 8
Chris@0 9 // precedence
Chris@0 10 $a ? $b : $c ? $d : $e;
Chris@0 11 $a ? $b : ($c ? $d : $e);
Chris@0 12
Chris@0 13 // null coalesce
Chris@0 14 $a ?? $b;
Chris@0 15 $a ?? $b ?? $c;
Chris@0 16 $a ?? $b ? $c : $d;
Chris@0 17 $a && $b ?? $c;
Chris@0 18 -----
Chris@0 19 array(
Chris@0 20 0: Expr_Ternary(
Chris@0 21 cond: Expr_Variable(
Chris@0 22 name: a
Chris@0 23 comments: array(
Chris@0 24 0: // ternary
Chris@0 25 )
Chris@0 26 )
Chris@0 27 if: Expr_Variable(
Chris@0 28 name: b
Chris@0 29 )
Chris@0 30 else: Expr_Variable(
Chris@0 31 name: c
Chris@0 32 )
Chris@0 33 comments: array(
Chris@0 34 0: // ternary
Chris@0 35 )
Chris@0 36 )
Chris@0 37 1: Expr_Ternary(
Chris@0 38 cond: Expr_Variable(
Chris@0 39 name: a
Chris@0 40 )
Chris@0 41 if: null
Chris@0 42 else: Expr_Variable(
Chris@0 43 name: c
Chris@0 44 )
Chris@0 45 )
Chris@0 46 2: Expr_Ternary(
Chris@0 47 cond: Expr_Ternary(
Chris@0 48 cond: Expr_Variable(
Chris@0 49 name: a
Chris@0 50 comments: array(
Chris@0 51 0: // precedence
Chris@0 52 )
Chris@0 53 )
Chris@0 54 if: Expr_Variable(
Chris@0 55 name: b
Chris@0 56 )
Chris@0 57 else: Expr_Variable(
Chris@0 58 name: c
Chris@0 59 )
Chris@0 60 comments: array(
Chris@0 61 0: // precedence
Chris@0 62 )
Chris@0 63 )
Chris@0 64 if: Expr_Variable(
Chris@0 65 name: d
Chris@0 66 )
Chris@0 67 else: Expr_Variable(
Chris@0 68 name: e
Chris@0 69 )
Chris@0 70 comments: array(
Chris@0 71 0: // precedence
Chris@0 72 )
Chris@0 73 )
Chris@0 74 3: Expr_Ternary(
Chris@0 75 cond: Expr_Variable(
Chris@0 76 name: a
Chris@0 77 )
Chris@0 78 if: Expr_Variable(
Chris@0 79 name: b
Chris@0 80 )
Chris@0 81 else: Expr_Ternary(
Chris@0 82 cond: Expr_Variable(
Chris@0 83 name: c
Chris@0 84 )
Chris@0 85 if: Expr_Variable(
Chris@0 86 name: d
Chris@0 87 )
Chris@0 88 else: Expr_Variable(
Chris@0 89 name: e
Chris@0 90 )
Chris@0 91 )
Chris@0 92 )
Chris@0 93 4: Expr_BinaryOp_Coalesce(
Chris@0 94 left: Expr_Variable(
Chris@0 95 name: a
Chris@0 96 comments: array(
Chris@0 97 0: // null coalesce
Chris@0 98 )
Chris@0 99 )
Chris@0 100 right: Expr_Variable(
Chris@0 101 name: b
Chris@0 102 )
Chris@0 103 comments: array(
Chris@0 104 0: // null coalesce
Chris@0 105 )
Chris@0 106 )
Chris@0 107 5: Expr_BinaryOp_Coalesce(
Chris@0 108 left: Expr_Variable(
Chris@0 109 name: a
Chris@0 110 )
Chris@0 111 right: Expr_BinaryOp_Coalesce(
Chris@0 112 left: Expr_Variable(
Chris@0 113 name: b
Chris@0 114 )
Chris@0 115 right: Expr_Variable(
Chris@0 116 name: c
Chris@0 117 )
Chris@0 118 )
Chris@0 119 )
Chris@0 120 6: Expr_Ternary(
Chris@0 121 cond: Expr_BinaryOp_Coalesce(
Chris@0 122 left: Expr_Variable(
Chris@0 123 name: a
Chris@0 124 )
Chris@0 125 right: Expr_Variable(
Chris@0 126 name: b
Chris@0 127 )
Chris@0 128 )
Chris@0 129 if: Expr_Variable(
Chris@0 130 name: c
Chris@0 131 )
Chris@0 132 else: Expr_Variable(
Chris@0 133 name: d
Chris@0 134 )
Chris@0 135 )
Chris@0 136 7: Expr_BinaryOp_Coalesce(
Chris@0 137 left: Expr_BinaryOp_BooleanAnd(
Chris@0 138 left: Expr_Variable(
Chris@0 139 name: a
Chris@0 140 )
Chris@0 141 right: Expr_Variable(
Chris@0 142 name: b
Chris@0 143 )
Chris@0 144 )
Chris@0 145 right: Expr_Variable(
Chris@0 146 name: c
Chris@0 147 )
Chris@0 148 )
Chris@0 149 )