blob: 75dd9c657f720fed5afbc8fba726e8d90c7d8fdb [file] [log] [blame]
library;
//
// Problems in library:
//
// pkg/front_end/testcases/extension_types/issue53212.dart:6:28: Error: Extension type constructors can't declare super formal parameters.
// E1.named(this.foo, super.bar); // Error.
// ^^^
//
// pkg/front_end/testcases/extension_types/issue53212.dart:10:38: Error: Extension type constructors can't declare super formal parameters.
// E2.named(this.foo, {required super.bar}); // Error.
// ^^^
//
// pkg/front_end/testcases/extension_types/issue53212.dart:14:29: Error: Extension type constructors can't declare super formal parameters.
// E3.named(this.foo, [super.bar = null]);
// ^^^
//
// pkg/front_end/testcases/extension_types/issue53212.dart:17:25: Error: Extension type constructors can't declare super formal parameters.
// extension type E4(super.foo) {} // Error.
// ^^^
//
// pkg/front_end/testcases/extension_types/issue53212.dart:17:25: Error: Expected a representation type.
// extension type E4(super.foo) {} // Error.
// ^^^
//
import self as self;
import "dart:core" as core;
extension type E1(core::int foo) {
abstract extension-type-member representation-field get foo() core::int;
constructor = self::E1|constructor#;
constructor tearoff = self::E1|constructor#_#new#tearOff;
constructor named = self::E1|constructor#named;
constructor tearoff named = self::E1|constructor#_#named#tearOff;
}
extension type E2(core::int foo) {
abstract extension-type-member representation-field get foo() core::int;
constructor = self::E2|constructor#;
constructor tearoff = self::E2|constructor#_#new#tearOff;
constructor named = self::E2|constructor#named;
constructor tearoff named = self::E2|constructor#_#named#tearOff;
}
extension type E3(core::int foo) {
abstract extension-type-member representation-field get foo() core::int;
constructor = self::E3|constructor#;
constructor tearoff = self::E3|constructor#_#new#tearOff;
constructor named = self::E3|constructor#named;
constructor tearoff named = self::E3|constructor#_#named#tearOff;
}
extension type E4(invalid-type foo) {
abstract extension-type-member representation-field get foo() invalid-type;
constructor = self::E4|constructor#;
constructor tearoff = self::E4|constructor#_#new#tearOff;
}
static extension-type-member method E1|constructor#(core::int foo) → self::E1% /* erasure=core::int, declared=! */
;
static extension-type-member method E1|constructor#_#new#tearOff(core::int foo) → self::E1% /* erasure=core::int, declared=! */
return self::E1|constructor#(foo);
static extension-type-member method E1|constructor#named(core::int foo, invalid-type bar) → self::E1% /* erasure=core::int, declared=! */
;
static extension-type-member method E1|constructor#_#named#tearOff(core::int foo, invalid-type bar) → self::E1% /* erasure=core::int, declared=! */
return self::E1|constructor#named(foo, bar);
static extension-type-member method E2|constructor#(core::int foo) → self::E2% /* erasure=core::int, declared=! */
;
static extension-type-member method E2|constructor#_#new#tearOff(core::int foo) → self::E2% /* erasure=core::int, declared=! */
return self::E2|constructor#(foo);
static extension-type-member method E2|constructor#named(core::int foo, {required invalid-type bar}) → self::E2% /* erasure=core::int, declared=! */
;
static extension-type-member method E2|constructor#_#named#tearOff(core::int foo, {required invalid-type bar}) → self::E2% /* erasure=core::int, declared=! */
return self::E2|constructor#named(foo, bar: bar);
static extension-type-member method E3|constructor#(core::int foo) → self::E3% /* erasure=core::int, declared=! */
;
static extension-type-member method E3|constructor#_#new#tearOff(core::int foo) → self::E3% /* erasure=core::int, declared=! */
return self::E3|constructor#(foo);
static extension-type-member method E3|constructor#named(core::int foo, [has-declared-initializer invalid-type bar = null]) → self::E3% /* erasure=core::int, declared=! */
;
static extension-type-member method E3|constructor#_#named#tearOff(core::int foo, [has-declared-initializer invalid-type bar]) → self::E3% /* erasure=core::int, declared=! */
return self::E3|constructor#named(foo, bar);
static extension-type-member method E4|constructor#(invalid-type foo) → self::E4% /* erasure=invalid-type, declared=! */
;
static extension-type-member method E4|constructor#_#new#tearOff(invalid-type foo) → self::E4% /* erasure=invalid-type, declared=! */
return self::E4|constructor#(foo);