diff --git a/Zend/tests/type_declarations/typed_properties_006.phpt b/Zend/tests/type_declarations/typed_properties_006.phpt index 493b64fb865..71bd6716664 100644 --- a/Zend/tests/type_declarations/typed_properties_006.phpt +++ b/Zend/tests/type_declarations/typed_properties_006.phpt @@ -11,4 +11,4 @@ class Bar extends Foo { } ?> --EXPECTF-- -Fatal error: Type of Bar::$qux must be int (as in class Foo) in %s on line 8 +Fatal error: Type of Bar::$qux must be int (as in class Foo) in %s on line 6 diff --git a/Zend/tests/type_declarations/typed_properties_007.phpt b/Zend/tests/type_declarations/typed_properties_007.phpt index 90d53b46ade..5d50a9db4fb 100644 --- a/Zend/tests/type_declarations/typed_properties_007.phpt +++ b/Zend/tests/type_declarations/typed_properties_007.phpt @@ -14,4 +14,4 @@ class Bar extends Foo { } ?> --EXPECTF-- -Fatal error: Type of Bar::$qux must be Whatever (as in class Foo) in %s on line 11 +Fatal error: Type of Bar::$qux must be Whatever (as in class Foo) in %s on line 9 diff --git a/Zend/tests/type_declarations/typed_properties_008.phpt b/Zend/tests/type_declarations/typed_properties_008.phpt index 3f82d6161dc..529d549e683 100644 --- a/Zend/tests/type_declarations/typed_properties_008.phpt +++ b/Zend/tests/type_declarations/typed_properties_008.phpt @@ -11,4 +11,4 @@ class Bar extends Foo { } ?> --EXPECTF-- -Fatal error: Type of Bar::$qux must be int (as in class Foo) in %s on line 8 +Fatal error: Type of Bar::$qux must be int (as in class Foo) in %s on line 6 diff --git a/Zend/tests/type_declarations/typed_properties_035.phpt b/Zend/tests/type_declarations/typed_properties_035.phpt index 2fde156371e..165479021a7 100644 --- a/Zend/tests/type_declarations/typed_properties_035.phpt +++ b/Zend/tests/type_declarations/typed_properties_035.phpt @@ -11,4 +11,4 @@ class Baz extends Foo{ } ?> --EXPECTF-- -Fatal error: Type of Baz::$bar must not be defined (as in class Foo) in %s on line 8 +Fatal error: Type of Baz::$bar must not be defined (as in class Foo) in %s on line 6 diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c index 09e58aa98ae..86363bdee0a 100644 --- a/Zend/zend_compile.c +++ b/Zend/zend_compile.c @@ -7761,13 +7761,10 @@ void zend_compile_class_decl(znode *result, zend_ast *ast, bool toplevel) /* {{{ && ((parent_ce->type != ZEND_INTERNAL_CLASS) || !(CG(compiler_options) & ZEND_COMPILE_IGNORE_INTERNAL_CLASSES)) && ((parent_ce->type != ZEND_USER_CLASS) || !(CG(compiler_options) & ZEND_COMPILE_IGNORE_OTHER_FILES) || (parent_ce->info.user.filename == ce->info.user.filename))) { - CG(zend_lineno) = decl->end_lineno; if (zend_try_early_bind(ce, parent_ce, lcname, NULL)) { - CG(zend_lineno) = ast->lineno; zend_string_release(lcname); return; } - CG(zend_lineno) = ast->lineno; } } else if (EXPECTED(zend_hash_add_ptr(CG(class_table), lcname, ce) != NULL)) { zend_string_release(lcname); diff --git a/ext/opcache/ZendAccelerator.c b/ext/opcache/ZendAccelerator.c index 0f209059635..55efd62236d 100644 --- a/ext/opcache/ZendAccelerator.c +++ b/ext/opcache/ZendAccelerator.c @@ -3983,16 +3983,7 @@ static void preload_link(void) /* Set filename & lineno information for inheritance errors */ CG(in_compilation) = 1; CG(compiled_filename) = ce->info.user.filename; - if (ce->parent_name - && !ce->num_interfaces - && !ce->num_traits - && (parent->type == ZEND_INTERNAL_CLASS - || parent->info.user.filename == ce->info.user.filename)) { - /* simulate early binding */ - CG(zend_lineno) = ce->info.user.line_end; - } else { - CG(zend_lineno) = ce->info.user.line_start; - } + CG(zend_lineno) = ce->info.user.line_start; ce = zend_do_link_class(ce, NULL, key); if (!ce) { ZEND_ASSERT(0 && "Class linking failed?"); diff --git a/tests/classes/constants_visibility_error_003.phpt b/tests/classes/constants_visibility_error_003.phpt index 44b1e1c5f9f..97f257a9240 100644 --- a/tests/classes/constants_visibility_error_003.phpt +++ b/tests/classes/constants_visibility_error_003.phpt @@ -12,4 +12,4 @@ class B extends A { } ?> --EXPECTF-- -Fatal error: Access level to B::publicConst must be public (as in class A) in %s on line 9 +Fatal error: Access level to B::publicConst must be public (as in class A) in %s on line 7 diff --git a/tests/classes/constants_visibility_error_004.phpt b/tests/classes/constants_visibility_error_004.phpt index 72da6446cad..53240184144 100644 --- a/tests/classes/constants_visibility_error_004.phpt +++ b/tests/classes/constants_visibility_error_004.phpt @@ -12,4 +12,4 @@ class B extends A { } ?> --EXPECTF-- -Fatal error: Access level to B::protectedConst must be protected (as in class A) or weaker in %s on line 9 +Fatal error: Access level to B::protectedConst must be protected (as in class A) or weaker in %s on line 7 diff --git a/tests/classes/property_override_protectedStatic_private.phpt b/tests/classes/property_override_protectedStatic_private.phpt index 1914825804d..973b6421373 100644 --- a/tests/classes/property_override_protectedStatic_private.phpt +++ b/tests/classes/property_override_protectedStatic_private.phpt @@ -28,4 +28,4 @@ Redeclare inherited protected static property as private. $b->showB(); ?> --EXPECTF-- -Fatal error: Cannot redeclare static A::$p as non static B::$p in %s on line 18 +Fatal error: Cannot redeclare static A::$p as non static B::$p in %s on line 11 diff --git a/tests/classes/property_override_protectedStatic_privateStatic.phpt b/tests/classes/property_override_protectedStatic_privateStatic.phpt index 126afb36a77..c81c1d49319 100644 --- a/tests/classes/property_override_protectedStatic_privateStatic.phpt +++ b/tests/classes/property_override_protectedStatic_privateStatic.phpt @@ -27,4 +27,4 @@ Redeclare inherited protected static property as private static. B::showB(); ?> --EXPECTF-- -Fatal error: Access level to B::$p must be protected (as in class A) or weaker in %s on line 18 +Fatal error: Access level to B::$p must be protected (as in class A) or weaker in %s on line 11 diff --git a/tests/classes/property_override_protectedStatic_protected.phpt b/tests/classes/property_override_protectedStatic_protected.phpt index 4706115724e..95b05350a2e 100644 --- a/tests/classes/property_override_protectedStatic_protected.phpt +++ b/tests/classes/property_override_protectedStatic_protected.phpt @@ -28,4 +28,4 @@ Redeclare inherited protected static property as protected. $b->showB(); ?> --EXPECTF-- -Fatal error: Cannot redeclare static A::$p as non static B::$p in %s on line 18 +Fatal error: Cannot redeclare static A::$p as non static B::$p in %s on line 11 diff --git a/tests/classes/property_override_protectedStatic_public.phpt b/tests/classes/property_override_protectedStatic_public.phpt index a0a68eebbda..b00de44a5c5 100644 --- a/tests/classes/property_override_protectedStatic_public.phpt +++ b/tests/classes/property_override_protectedStatic_public.phpt @@ -28,4 +28,4 @@ Redeclare inherited protected static property as public. $b->showB(); ?> --EXPECTF-- -Fatal error: Cannot redeclare static A::$p as non static B::$p in %s on line 18 +Fatal error: Cannot redeclare static A::$p as non static B::$p in %s on line 11 diff --git a/tests/classes/property_override_protected_private.phpt b/tests/classes/property_override_protected_private.phpt index b19185d5417..300c72a8f5b 100644 --- a/tests/classes/property_override_protected_private.phpt +++ b/tests/classes/property_override_protected_private.phpt @@ -29,4 +29,4 @@ Redeclare inherited protected property as private (duplicates Zend/tests/errmsg_ $b->showB(); ?> --EXPECTF-- -Fatal error: Access level to B::$p must be protected (as in class A) or weaker in %s on line 18 +Fatal error: Access level to B::$p must be protected (as in class A) or weaker in %s on line 11 diff --git a/tests/classes/property_override_protected_privateStatic.phpt b/tests/classes/property_override_protected_privateStatic.phpt index 149107424c9..70f3287e896 100644 --- a/tests/classes/property_override_protected_privateStatic.phpt +++ b/tests/classes/property_override_protected_privateStatic.phpt @@ -29,4 +29,4 @@ Redeclare inherited protected property as private static. B::showB(); ?> --EXPECTF-- -Fatal error: Cannot redeclare non static A::$p as static B::$p in %s on line 18 +Fatal error: Cannot redeclare non static A::$p as static B::$p in %s on line 11 diff --git a/tests/classes/property_override_protected_protectedStatic.phpt b/tests/classes/property_override_protected_protectedStatic.phpt index e05b5f6f683..f9a3aa4c07b 100644 --- a/tests/classes/property_override_protected_protectedStatic.phpt +++ b/tests/classes/property_override_protected_protectedStatic.phpt @@ -29,4 +29,4 @@ Redeclare inherited protected property as protected static. B::showB(); ?> --EXPECTF-- -Fatal error: Cannot redeclare non static A::$p as static B::$p in %s on line 18 +Fatal error: Cannot redeclare non static A::$p as static B::$p in %s on line 11 diff --git a/tests/classes/property_override_protected_publicStatic.phpt b/tests/classes/property_override_protected_publicStatic.phpt index 59132bf6ce0..fed7adf58fc 100644 --- a/tests/classes/property_override_protected_publicStatic.phpt +++ b/tests/classes/property_override_protected_publicStatic.phpt @@ -29,4 +29,4 @@ Redeclare inherited protected property as public static. B::showB(); ?> --EXPECTF-- -Fatal error: Cannot redeclare non static A::$p as static B::$p in %s on line 18 +Fatal error: Cannot redeclare non static A::$p as static B::$p in %s on line 11 diff --git a/tests/classes/property_override_publicStatic_private.phpt b/tests/classes/property_override_publicStatic_private.phpt index 1e5d28680ca..52fcc8343a0 100644 --- a/tests/classes/property_override_publicStatic_private.phpt +++ b/tests/classes/property_override_publicStatic_private.phpt @@ -28,4 +28,4 @@ Redeclare inherited public static property as private. $b->showB(); ?> --EXPECTF-- -Fatal error: Cannot redeclare static A::$p as non static B::$p in %s on line 18 +Fatal error: Cannot redeclare static A::$p as non static B::$p in %s on line 11 diff --git a/tests/classes/property_override_publicStatic_privateStatic.phpt b/tests/classes/property_override_publicStatic_privateStatic.phpt index 12b0c3fcaa9..ae1c5fb286e 100644 --- a/tests/classes/property_override_publicStatic_privateStatic.phpt +++ b/tests/classes/property_override_publicStatic_privateStatic.phpt @@ -27,4 +27,4 @@ Redeclare inherited public static property as private static. B::showB(); ?> --EXPECTF-- -Fatal error: Access level to B::$p must be public (as in class A) in %s on line 18 +Fatal error: Access level to B::$p must be public (as in class A) in %s on line 11 diff --git a/tests/classes/property_override_publicStatic_protected.phpt b/tests/classes/property_override_publicStatic_protected.phpt index 1b0fd0bdf15..fba0756acd9 100644 --- a/tests/classes/property_override_publicStatic_protected.phpt +++ b/tests/classes/property_override_publicStatic_protected.phpt @@ -28,4 +28,4 @@ Redeclare inherited public static property as protected. $b->showB(); ?> --EXPECTF-- -Fatal error: Cannot redeclare static A::$p as non static B::$p in %s on line 18 +Fatal error: Cannot redeclare static A::$p as non static B::$p in %s on line 11 diff --git a/tests/classes/property_override_publicStatic_protectedStatic.phpt b/tests/classes/property_override_publicStatic_protectedStatic.phpt index c1f6f8ff1d8..e50c19c0a73 100644 --- a/tests/classes/property_override_publicStatic_protectedStatic.phpt +++ b/tests/classes/property_override_publicStatic_protectedStatic.phpt @@ -27,4 +27,4 @@ Redeclare inherited public static property as protected static. B::showB(); ?> --EXPECTF-- -Fatal error: Access level to B::$p must be public (as in class A) in %s on line 18 +Fatal error: Access level to B::$p must be public (as in class A) in %s on line 11 diff --git a/tests/classes/property_override_publicStatic_public.phpt b/tests/classes/property_override_publicStatic_public.phpt index c6b6bf1b249..557bab8f15e 100644 --- a/tests/classes/property_override_publicStatic_public.phpt +++ b/tests/classes/property_override_publicStatic_public.phpt @@ -28,4 +28,4 @@ Redeclare inherited public static property as public. $b->showB(); ?> --EXPECTF-- -Fatal error: Cannot redeclare static A::$p as non static B::$p in %s on line 18 +Fatal error: Cannot redeclare static A::$p as non static B::$p in %s on line 11 diff --git a/tests/classes/property_override_public_private.phpt b/tests/classes/property_override_public_private.phpt index fe4df691ccb..9a780f4f74e 100644 --- a/tests/classes/property_override_public_private.phpt +++ b/tests/classes/property_override_public_private.phpt @@ -29,4 +29,4 @@ Redeclare inherited public property as private. $b->showB(); ?> --EXPECTF-- -Fatal error: Access level to B::$p must be public (as in class A) in %s on line 18 +Fatal error: Access level to B::$p must be public (as in class A) in %s on line 11 diff --git a/tests/classes/property_override_public_privateStatic.phpt b/tests/classes/property_override_public_privateStatic.phpt index 41daac4503c..36040709445 100644 --- a/tests/classes/property_override_public_privateStatic.phpt +++ b/tests/classes/property_override_public_privateStatic.phpt @@ -29,4 +29,4 @@ Redeclare inherited public property as private static. B::showB(); ?> --EXPECTF-- -Fatal error: Cannot redeclare non static A::$p as static B::$p in %s on line 18 +Fatal error: Cannot redeclare non static A::$p as static B::$p in %s on line 11 diff --git a/tests/classes/property_override_public_protected.phpt b/tests/classes/property_override_public_protected.phpt index eb7f1d7b2c3..2a0111a6743 100644 --- a/tests/classes/property_override_public_protected.phpt +++ b/tests/classes/property_override_public_protected.phpt @@ -29,4 +29,4 @@ Redeclare inherited public property as protected. $b->showB(); ?> --EXPECTF-- -Fatal error: Access level to B::$p must be public (as in class A) in %s on line 18 +Fatal error: Access level to B::$p must be public (as in class A) in %s on line 11 diff --git a/tests/classes/property_override_public_protectedStatic.phpt b/tests/classes/property_override_public_protectedStatic.phpt index 2582305471b..06b73bfbbbb 100644 --- a/tests/classes/property_override_public_protectedStatic.phpt +++ b/tests/classes/property_override_public_protectedStatic.phpt @@ -29,4 +29,4 @@ Redeclare inherited public property as protected static. B::showB(); ?> --EXPECTF-- -Fatal error: Cannot redeclare non static A::$p as static B::$p in %s on line 18 +Fatal error: Cannot redeclare non static A::$p as static B::$p in %s on line 11 diff --git a/tests/classes/property_override_public_publicStatic.phpt b/tests/classes/property_override_public_publicStatic.phpt index bb6021454cd..2d9a44ede9e 100644 --- a/tests/classes/property_override_public_publicStatic.phpt +++ b/tests/classes/property_override_public_publicStatic.phpt @@ -29,4 +29,4 @@ Redeclare inherited public property as public static. B::showB(); ?> --EXPECTF-- -Fatal error: Cannot redeclare non static A::$p as static B::$p in %s on line 18 +Fatal error: Cannot redeclare non static A::$p as static B::$p in %s on line 11