1Arbitrary expressions in new and instanceof
2-----
3<?php
4
5new ('Foo' . $bar);
6new ('Foo' . $bar)($arg);
7$obj instanceof ('Foo' . $bar);
8-----
9array(
10    0: Stmt_Expression(
11        expr: Expr_New(
12            class: Expr_BinaryOp_Concat(
13                left: Scalar_String(
14                    value: Foo
15                )
16                right: Expr_Variable(
17                    name: bar
18                )
19            )
20            args: array(
21            )
22        )
23    )
24    1: Stmt_Expression(
25        expr: Expr_New(
26            class: Expr_BinaryOp_Concat(
27                left: Scalar_String(
28                    value: Foo
29                )
30                right: Expr_Variable(
31                    name: bar
32                )
33            )
34            args: array(
35                0: Arg(
36                    name: null
37                    value: Expr_Variable(
38                        name: arg
39                    )
40                    byRef: false
41                    unpack: false
42                )
43            )
44        )
45    )
46    2: Stmt_Expression(
47        expr: Expr_Instanceof(
48            expr: Expr_Variable(
49                name: obj
50            )
51            class: Expr_BinaryOp_Concat(
52                left: Scalar_String(
53                    value: Foo
54                )
55                right: Expr_Variable(
56                    name: bar
57                )
58            )
59        )
60    )
61)
62