$a && $b ?? $c;
-----
array(
- 0: Expr_Ternary(
- cond: Expr_Variable(
- name: a
+ 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
)
)
- if: Expr_Variable(
- name: b
- )
- else: Expr_Variable(
- name: c
- )
comments: array(
0: // ternary
)
)
- 1: Expr_Ternary(
- cond: Expr_Variable(
- name: a
- )
- if: null
- else: Expr_Variable(
- name: c
- )
- )
- 2: Expr_Ternary(
- cond: Expr_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: b
+ name: d
)
else: Expr_Variable(
- name: c
+ name: e
)
comments: array(
0: // precedence
)
)
- if: Expr_Variable(
- name: d
- )
- else: Expr_Variable(
- name: e
- )
comments: array(
0: // precedence
)
)
- 3: Expr_Ternary(
- cond: Expr_Variable(
- name: a
- )
- if: Expr_Variable(
- name: b
- )
- else: Expr_Ternary(
+ 3: Stmt_Expression(
+ expr: Expr_Ternary(
cond: Expr_Variable(
- name: c
+ name: a
)
if: Expr_Variable(
- name: d
+ name: b
)
- else: Expr_Variable(
- name: e
+ else: Expr_Ternary(
+ cond: Expr_Variable(
+ name: c
+ )
+ if: Expr_Variable(
+ name: d
+ )
+ else: Expr_Variable(
+ name: e
+ )
)
)
)
- 4: Expr_BinaryOp_Coalesce(
- left: Expr_Variable(
- name: a
+ 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
)
)
- right: Expr_Variable(
- name: b
- )
comments: array(
0: // null coalesce
)
)
- 5: Expr_BinaryOp_Coalesce(
- left: Expr_Variable(
- name: a
- )
- right: Expr_BinaryOp_Coalesce(
+ 5: Stmt_Expression(
+ expr: Expr_BinaryOp_Coalesce(
left: Expr_Variable(
- name: b
+ name: a
)
- right: Expr_Variable(
- name: c
+ right: Expr_BinaryOp_Coalesce(
+ left: Expr_Variable(
+ name: b
+ )
+ right: Expr_Variable(
+ name: c
+ )
)
)
)
- 6: Expr_Ternary(
- cond: Expr_BinaryOp_Coalesce(
- left: Expr_Variable(
- name: a
+ 6: Stmt_Expression(
+ expr: Expr_Ternary(
+ cond: Expr_BinaryOp_Coalesce(
+ left: Expr_Variable(
+ name: a
+ )
+ right: Expr_Variable(
+ name: b
+ )
)
- right: Expr_Variable(
- name: b
+ if: Expr_Variable(
+ name: c
+ )
+ else: Expr_Variable(
+ name: d
)
- )
- if: Expr_Variable(
- name: c
- )
- else: Expr_Variable(
- name: d
)
)
- 7: Expr_BinaryOp_Coalesce(
- left: Expr_BinaryOp_BooleanAnd(
- left: Expr_Variable(
- name: a
+ 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: b
+ name: c
)
)
- right: Expr_Variable(
- name: c
- )
)
)
\ No newline at end of file