File tree Expand file tree Collapse file tree 8 files changed +3
-16
lines changed Expand file tree Collapse file tree 8 files changed +3
-16
lines changed Original file line number Diff line number Diff line change @@ -4034,7 +4034,8 @@ static void preload_link(void)
4034
4034
if (ce -> type == ZEND_INTERNAL_CLASS ) {
4035
4035
break ;
4036
4036
}
4037
- if (!(ce -> ce_flags & ZEND_ACC_LINKED )) {
4037
+ if ((ce -> ce_flags & (ZEND_ACC_TOP_LEVEL |ZEND_ACC_ANON_CLASS ))
4038
+ && !(ce -> ce_flags & ZEND_ACC_LINKED )) {
4038
4039
zend_string * key = zend_string_tolower (ce -> name );
4039
4040
if (!(ce -> ce_flags & ZEND_ACC_ANON_CLASS )
4040
4041
&& zend_hash_exists (EG (class_table ), key )) {
Original file line number Diff line number Diff line change @@ -18,8 +18,6 @@ class Bar {
18
18
var_dump (foo ());
19
19
?>
20
20
--EXPECTF--
21
- Warning: Can't preload unlinked class Foo: Unknown parent Bar in %spreload_bug78937.inc on line 6
22
-
23
21
Warning: Can't preload unlinked class Bar@anonymous: Unknown parent Bar in %spreload_bug78937.inc on line 3
24
22
object(Bar@anonymous)#%d (0) {
25
23
}
Original file line number Diff line number Diff line change @@ -19,8 +19,6 @@ class Bar {
19
19
var_dump (foo ());
20
20
?>
21
21
--EXPECTF--
22
- Warning: Can't preload unlinked class Foo: Unknown parent Bar in %spreload_bug78937.inc on line 6
23
-
24
22
Warning: Can't preload unlinked class Bar@anonymous: Unknown parent Bar in %spreload_bug78937.inc on line 3
25
23
object(Bar@anonymous)#%d (0) {
26
24
}
Original file line number Diff line number Diff line change @@ -17,8 +17,6 @@ include(__DIR__ . "/preload_bug78937.inc");
17
17
var_dump (foo ());
18
18
?>
19
19
--EXPECTF--
20
- Warning: Can't preload unlinked class Foo: Unknown parent Bar in %spreload_bug78937.inc on line 6
21
-
22
20
Warning: Can't preload unlinked class Bar@anonymous: Unknown parent Bar in %spreload_bug78937.inc on line 3
23
21
24
22
Fatal error: Uncaught Error: Class "Bar" not found in %spreload_bug78937.inc:3
Original file line number Diff line number Diff line change 19
19
var_dump (new Foo );
20
20
?>
21
21
--EXPECTF--
22
- Warning: Can't preload unlinked class Foo: Unknown parent Bar in %spreload_bug78937.inc on line 6
23
-
24
22
Warning: Can't preload unlinked class Bar@anonymous: Unknown parent Bar in %spreload_bug78937.inc on line 3
25
23
object(Foo)#%d (0) {
26
24
}
Original file line number Diff line number Diff line change 20
20
var_dump (new Foo );
21
21
?>
22
22
--EXPECTF--
23
- Warning: Can't preload unlinked class Foo: Unknown parent Bar in %spreload_bug78937.inc on line 6
24
-
25
23
Warning: Can't preload unlinked class Bar@anonymous: Unknown parent Bar in %spreload_bug78937.inc on line 3
26
24
object(Foo)#%d (0) {
27
25
}
Original file line number Diff line number Diff line change 18
18
var_dump (new Foo );
19
19
?>
20
20
--EXPECTF--
21
- Warning: Can't preload unlinked class Foo: Unknown parent Bar in %spreload_bug78937.inc on line 6
22
-
23
21
Warning: Can't preload unlinked class Bar@anonymous: Unknown parent Bar in %spreload_bug78937.inc on line 3
24
22
25
23
Fatal error: Uncaught Error: Class "Bar" not found in %spreload_bug78937.inc:6
Original file line number Diff line number Diff line change @@ -17,9 +17,7 @@ var_dump(MyEnum::Foo);
17
17
var_dump (MyEnum::Bar);
18
18
19
19
?>
20
- --EXPECTF --
20
+ --EXPECT --
21
21
enum(MyEnum::Bar)
22
-
23
- Warning: Can't preload unlinked class MyEnum2: Unknown reason in %s on line %d
24
22
enum(MyEnum::Foo)
25
23
enum(MyEnum::Bar)
You can’t perform that action at this time.
0 commit comments