| | |
| | | || p instanceof AST_Unary // !(foo, bar, baz) |
| | | || p instanceof AST_Binary // 1 + (2, 3) + 4 ==> 8 |
| | | || p instanceof AST_VarDefLike // var a = (1, 2), b = a + a; ==> b == 4 |
| | | || p instanceof AST_PropAccess // (1, {foo:2}).foo or (1, {foo:2})["foo"] ==> 2 |
| | | || p instanceof AST_PropAccess && this !== p.property // (1, {foo:2}).foo, (1, {foo:2})["foo"], not foo[1, 2] |
| | | || p instanceof AST_Array // [ 1, (2, 3), 4 ] ==> [ 1, 3, 4 ] |
| | | || p instanceof AST_ObjectProperty // { foo: (1, 2) }.foo ==> 2 |
| | | || p instanceof AST_Conditional /* (false, true) ? (a = 10, b = 20) : (c = 30) |