blob: a612cdce0a23914be380a13e05cc4bfc5a96597f [file] [log] [blame]
library /*isNonNullableByDefault*/;
//
// Problems in library:
//
// pkg/front_end/testcases/constructor_tearoffs/lowering/duplicate_typedefs.dart:14:9: Error: 'AAlias' is already declared in this scope.
// typedef AAlias = A; // error
// ^^^^^^
// pkg/front_end/testcases/constructor_tearoffs/lowering/duplicate_typedefs.dart:11:9: Context: Previous declaration of 'AAlias'.
// typedef AAlias = A;
// ^^^^^^
//
// pkg/front_end/testcases/constructor_tearoffs/lowering/duplicate_typedefs.dart:15:9: Error: 'AAlias' is already declared in this scope.
// typedef AAlias = C<String>; // error
// ^^^^^^
// pkg/front_end/testcases/constructor_tearoffs/lowering/duplicate_typedefs.dart:14:9: Context: Previous declaration of 'AAlias'.
// typedef AAlias = A; // error
// ^^^^^^
//
// pkg/front_end/testcases/constructor_tearoffs/lowering/duplicate_typedefs.dart:16:9: Error: 'CAlias' is already declared in this scope.
// typedef CAlias<T> = C<T>; // error
// ^^^^^^
// pkg/front_end/testcases/constructor_tearoffs/lowering/duplicate_typedefs.dart:12:9: Context: Previous declaration of 'CAlias'.
// typedef CAlias<T> = C<T>;
// ^^^^^^
//
// pkg/front_end/testcases/constructor_tearoffs/lowering/duplicate_typedefs.dart:17:9: Error: 'CAlias' is already declared in this scope.
// typedef CAlias = C<String>; // error
// ^^^^^^
// pkg/front_end/testcases/constructor_tearoffs/lowering/duplicate_typedefs.dart:16:9: Context: Previous declaration of 'CAlias'.
// typedef CAlias<T> = C<T>; // error
// ^^^^^^
//
// pkg/front_end/testcases/constructor_tearoffs/lowering/duplicate_typedefs.dart:18:9: Error: 'CAlias' is already declared in this scope.
// typedef CAlias<T1, T2> = C<T1>; // error
// ^^^^^^
// pkg/front_end/testcases/constructor_tearoffs/lowering/duplicate_typedefs.dart:17:9: Context: Previous declaration of 'CAlias'.
// typedef CAlias = C<String>; // error
// ^^^^^^
//
import self as self;
import "dart:core" as core;
typedef AAlias = self::A;
typedef CAlias<T extends core::Object? = dynamic> = self::C<T%>;
class A extends core::Object {
synthetic constructor •() self::A
: super core::Object::•()
;
static method _#new#tearOff() → self::A
return new self::A::•();
}
class C<T extends core::Object? = dynamic> extends core::Object {
synthetic constructor •() self::C<self::C::T%>
: super core::Object::•()
;
static method _#new#tearOff<T extends core::Object? = dynamic>() → self::C<self::C::_#new#tearOff::T%>
return new self::C::•<self::C::_#new#tearOff::T%>();
}
static method main() dynamic {}