| library test.qualified.main /*isNonNullableByDefault*/; |
| // |
| // Problems in library: |
| // |
| // pkg/front_end/testcases/general/qualified.dart:13:11: Error: The name of a constructor must match the name of the enclosing class. |
| // factory WrongName() => throw ''; |
| // ^^^^^^^^^ |
| // pkg/front_end/testcases/general/qualified.dart:11:7: Context: The name of the enclosing class is 'Bad'. |
| // class Bad extends lib.Missing { |
| // ^^^ |
| // |
| // pkg/front_end/testcases/general/qualified.dart:11:19: Error: Type 'lib.Missing' not found. |
| // class Bad extends lib.Missing { |
| // ^^^^^^^^^^^ |
| // |
| // pkg/front_end/testcases/general/qualified.dart:12:3: Error: Type 'lib.Missing' not found. |
| // lib.Missing method() {} |
| // ^^^^^^^^^^^ |
| // |
| // pkg/front_end/testcases/general/qualified.dart:18:32: Error: The type 'lib.VoidFunction' which is an alias of 'void Function()' can't be used as supertype. |
| // class IllegalSupertype extends lib.VoidFunction {} |
| // ^ |
| // pkg/front_end/testcases/general/qualified_lib.dart:27:9: Context: The issue arises via this type alias. |
| // typedef VoidFunction = void Function(); |
| // ^ |
| // |
| import self as self; |
| import "dart:core" as core; |
| import "qualified_lib.dart" as lib; |
| |
| import "org-dartlang-testcase:///qualified_lib.dart" as lib; |
| |
| part qualified_part.dart; |
| class Bad extends core::Object { |
| method method() → invalid-type |
| ; |
| static factory WrongName() → self::Bad |
| ; |
| } |
| abstract class _WithMixin&Supertype&Mixin = lib::Supertype with lib::Mixin /*isAnonymousMixin*/ { |
| synthetic constructor •() → self::_WithMixin&Supertype&Mixin |
| : super lib::Supertype::•() |
| ; |
| mixin-super-stub method foo() → dynamic |
| return super.{lib::Mixin::foo}(); |
| } |
| class WithMixin extends self::_WithMixin&Supertype&Mixin { |
| synthetic constructor •() → self::WithMixin |
| ; |
| } |
| class IllegalSupertype extends core::Object { |
| synthetic constructor •() → self::IllegalSupertype |
| ; |
| } |
| class C<T extends core::Object? = dynamic> extends core::Object { // from org-dartlang-testcase:///qualified_part.dart |
| static final field dynamic _redirecting# = <dynamic>[self::C::b]/*isLegacy*/; |
| constructor •() → self::C<self::C::T%> |
| ; |
| constructor a() → self::C<self::C::T%> |
| ; |
| static factory b<T extends core::Object? = dynamic>() → self::C<self::C::b::T%> |
| return lib::C::b<self::C::b::T%>(); |
| } |
| static method main() → dynamic |
| ; |
| |
| library test.qualified.lib /*isNonNullableByDefault*/; |
| import self as lib; |
| import "dart:core" as core; |
| import "qualified.dart" as self; |
| |
| import "org-dartlang-testcase:///qualified.dart" as main; |
| |
| typedef VoidFunction = () → void; |
| class C<T extends core::Object? = dynamic> extends self::C<lib::C::T%> { |
| static final field dynamic _redirecting# = <dynamic>[lib::C::b]/*isLegacy*/; |
| constructor •() → lib::C<lib::C::T%> |
| ; |
| constructor a() → lib::C<lib::C::T%> |
| ; |
| static factory b<T extends core::Object? = dynamic>() → lib::C<lib::C::b::T%> |
| return new lib::C::a<lib::C::b::T%>(); |
| } |
| class Supertype extends core::Object { |
| synthetic constructor •() → lib::Supertype |
| ; |
| method supertypeMethod() → dynamic |
| ; |
| } |
| abstract class Mixin extends core::Object { |
| synthetic constructor •() → lib::Mixin |
| ; |
| method foo() → dynamic |
| ; |
| } |
| |
| |
| Extra constant evaluation status: |
| Evaluated: ConstructorTearOff @ org-dartlang-testcase:///qualified_part.dart:7:7 -> ConstructorTearOffConstant(C.b) |
| Evaluated: ConstructorTearOff @ org-dartlang-testcase:///qualified_lib.dart:9:7 -> ConstructorTearOffConstant(C.b) |
| Extra constant evaluation: evaluated: 7, effectively constant: 2 |