blob: 775165189e7ac49fb8ca02c3b159650db3e32674 [file] [log] [blame]
library;
//
// Problems in library:
//
// pkg/front_end/testcases/general/extension_type_declaration_disabled.dart:7:11: Error: The 'inline-class' language feature is disabled for this library.
// Try removing the `@dart=` annotation or setting the language version to 3.3 or higher.
// extension type ExtensionType1(int it) {}
// ^^^^
// pkg/front_end/testcases/general/extension_type_declaration_disabled.dart:5:1: Context: This is the annotation that opts out this library from the 'inline-class' language feature.
// // @dart=2.18
// ^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/extension_type_declaration_disabled.dart:8:11: Error: The 'inline-class' language feature is disabled for this library.
// Try removing the `@dart=` annotation or setting the language version to 3.3 or higher.
// extension type ExtensionType2<T>._(int it) implements int, ExtensionType1 {}
// ^^^^
// pkg/front_end/testcases/general/extension_type_declaration_disabled.dart:5:1: Context: This is the annotation that opts out this library from the 'inline-class' language feature.
// // @dart=2.18
// ^^^^^^^^^^^^^
//
import self as self;
import "dart:core" as core;
extension type ExtensionType1(core::int it) {
abstract extension-type-member representation-field get it() core::int;
constructor = self::ExtensionType1|constructor#;
constructor tearoff = self::ExtensionType1|constructor#_#new#tearOff;
}
extension type ExtensionType2<T extends core::Object? = dynamic>(core::int it) implements core::int, self::ExtensionType1% /* erasure=core::int, declared=! */ {
abstract extension-type-member representation-field get it() core::int;
constructor _ = self::ExtensionType2|constructor#_;
constructor tearoff _ = self::ExtensionType2|constructor#_#_#tearOff;
}
static extension-type-member method ExtensionType1|constructor#(core::int it) → self::ExtensionType1% /* erasure=core::int, declared=! */ {
lowered final self::ExtensionType1% /* erasure=core::int, declared=! */ #this = it;
return #this;
}
static extension-type-member method ExtensionType1|constructor#_#new#tearOff(core::int it) → self::ExtensionType1% /* erasure=core::int, declared=! */
return self::ExtensionType1|constructor#(it);
static extension-type-member method ExtensionType2|constructor#_<T extends core::Object? = dynamic>(core::int it) → self::ExtensionType2<self::ExtensionType2|constructor#_::T%> /* erasure=core::int */ {
lowered final self::ExtensionType2<self::ExtensionType2|constructor#_::T%> /* erasure=core::int */ #this = it;
return #this;
}
static extension-type-member method ExtensionType2|constructor#_#_#tearOff<T extends core::Object? = dynamic>(core::int it) → self::ExtensionType2<self::ExtensionType2|constructor#_#_#tearOff::T%> /* erasure=core::int */
return self::ExtensionType2|constructor#_<self::ExtensionType2|constructor#_#_#tearOff::T%>(it);