blob: 028fcc1d11c7581cfcb002f83ec14c3a89b7dd3b [file] [log] [blame]
library;
//
// Problems in library:
//
// pkg/front_end/testcases/extension_types/representation.dart:5:23: Error: Expected a representation field.
// extension type Missing() {} // Error
// ^
//
// pkg/front_end/testcases/extension_types/representation.dart:7:24: Error: Each extension type should have exactly one representation field.
// extension type Multiple(bool instanceField1, int instanceField2) {} // Error
// ^
//
// pkg/front_end/testcases/extension_types/representation.dart:9:50: Error: Duplicated parameter name 'instanceField'.
// extension type Duplicate(bool instanceField, int instanceField) {} // Error
// ^^^^^^^^^^^^^
// pkg/front_end/testcases/extension_types/representation.dart:9:31: Context: Other parameter named 'instanceField'.
// extension type Duplicate(bool instanceField, int instanceField) {} // Error
// ^^^^^^^^^^^^^
//
// pkg/front_end/testcases/extension_types/representation.dart:9:50: Error: 'instanceField' is already declared in this scope.
// extension type Duplicate(bool instanceField, int instanceField) {} // Error
// ^^^^^^^^^^^^^
// pkg/front_end/testcases/extension_types/representation.dart:9:31: Context: Previous declaration of 'instanceField'.
// extension type Duplicate(bool instanceField, int instanceField) {} // Error
// ^^^^^^^^^^^^^
//
// pkg/front_end/testcases/extension_types/representation.dart:9:25: Error: Each extension type should have exactly one representation field.
// extension type Duplicate(bool instanceField, int instanceField) {} // Error
// ^
//
import self as self;
import "dart:core" as core;
extension type Missing(invalid-type #) {
constructor = self::Missing|constructor#;
constructor tearoff = self::Missing|constructor#_#new#tearOff;
}
extension type Multiple(core::bool instanceField1) {
abstract extension-type-member representation-field get instanceField1() core::bool;
abstract extension-type-member representation-field get instanceField2() core::int;
constructor = self::Multiple|constructor#;
constructor tearoff = self::Multiple|constructor#_#new#tearOff;
}
extension type Duplicate(core::bool instanceField) {
abstract extension-type-member representation-field get instanceField() core::bool;
constructor = self::Duplicate|constructor#;
constructor tearoff = self::Duplicate|constructor#_#new#tearOff;
}
static extension-type-member method Missing|constructor#() → self::Missing% /* erasure=invalid-type, declared=! */
;
static extension-type-member method Missing|constructor#_#new#tearOff() → self::Missing% /* erasure=invalid-type, declared=! */
return self::Missing|constructor#();
static extension-type-member method Multiple|constructor#(core::bool instanceField1, core::int instanceField2) → self::Multiple% /* erasure=core::bool, declared=! */
;
static extension-type-member method Multiple|constructor#_#new#tearOff(core::bool instanceField1, core::int instanceField2) → self::Multiple% /* erasure=core::bool, declared=! */
return self::Multiple|constructor#(instanceField1, instanceField2);
static extension-type-member method Duplicate|constructor#(core::int instanceField, core::int instanceField) → self::Duplicate% /* erasure=core::bool, declared=! */
;
static extension-type-member method Duplicate|constructor#_#new#tearOff(core::int instanceField, core::int instanceField) → self::Duplicate% /* erasure=core::bool, declared=! */
return self::Duplicate|constructor#(instanceField, instanceField);