1--TEST--
2Class properties declared in eval() must not leak
3--FILE--
4<?php
5
6eval(<<<'EOF'
7class A {
8    public A      $a1;
9    public \B     $b1;
10    public Foo\C  $c1;
11    public ?A     $a2;
12    public ?\B    $b2;
13    public ?Foo\C $c2;
14}
15EOF
16);
17$obj = new A;
18var_dump($obj);
19?>
20--EXPECT--
21object(A)#1 (0) {
22  ["a1"]=>
23  uninitialized(A)
24  ["b1"]=>
25  uninitialized(B)
26  ["c1"]=>
27  uninitialized(Foo\C)
28  ["a2"]=>
29  uninitialized(?A)
30  ["b2"]=>
31  uninitialized(?B)
32  ["c2"]=>
33  uninitialized(?Foo\C)
34}
35