blob: bc19cfd438c26ed8235e6c6a350b34ea1b99cf60 [file] [log] [blame]
// Unhandled errors:
//
// pkg/front_end/testcases/qualified.dart:13:11: Error: The name of a constructor must match the name of the enclosing class.
// factory WrongName() {}
// ^^^^^^^^^
//
// pkg/front_end/testcases/qualified.dart:11:19: Error: Type 'lib.Missing' not found.
// class Bad extends lib.Missing {
// ^
//
// pkg/front_end/testcases/qualified.dart:18:7: Error: The type 'lib.VoidFunction' can't be used as supertype.
// class IllegalSupertype extends lib.VoidFunction {}
// ^
library test.qualified.main;
import self as self;
import "dart:core" as core;
import "./qualified_lib.dart" as lib;
class Bad extends core::Object {
method method() invalid-type {}
static factory WrongName() self::Bad {}
}
abstract class _WithMixin&Supertype&Mixin extends lib::Supertype implements lib::Mixin {
synthetic constructor •() void
: super lib::Supertype::•()
;
method /* from org-dartlang-testcase:///qualified_lib.dart */ foo() dynamic {
core::print("I'm Mixin.foo");
}
}
class WithMixin extends self::_WithMixin&Supertype&Mixin {
synthetic constructor •() void
: super lib::Supertype::•()
;
}
class IllegalSupertype extends core::Object {
synthetic constructor •() void
: super core::Object::•()
;
}
class C<T extends core::Object = dynamic> extends core::Object { // from org-dartlang-testcase:///qualified_part.dart
static field dynamic _redirecting# = <dynamic>[self::C::b];
constructor •() void
: super core::Object::•()
;
constructor a() void
: super core::Object::•()
;
static factory b<T extends core::Object = dynamic>() self::C<self::C::b::T>
let dynamic #redirecting_factory = lib::C::b in let self::C::b::T #typeArg0 = null in invalid-expression;
}
static method main() dynamic {
new self::C::•<core::String>();
new self::C::a<core::String>();
new lib::C::a<core::String>();
new lib::C::•<core::String>();
new lib::C::a<core::String>();
new lib::C::a<core::String>();
new self::WithMixin::•().supertypeMethod();
new self::WithMixin::•().foo();
new self::IllegalSupertype::•();
}