blob: 9205b448ff666dd7bc10f6aa6d8da79da3a4e2cf [file] [log] [blame] [edit]
library;
//
// Problems in library:
//
// pkg/front_end/testcases/extensions/issue38745.dart:9:7: Error: Extensions can't declare instance fields
// Try removing the field declaration or making it a static field
// int field;
// ^^^^^
//
// pkg/front_end/testcases/extensions/issue38745.dart:11:13: Error: Extensions can't declare instance fields
// Try removing the field declaration or making it a static field
// final int property = 42;
// ^^^^^^^^
//
// pkg/front_end/testcases/extensions/issue38745.dart:15:13: Error: Extensions can't declare instance fields
// Try removing the field declaration or making it a static field
// final int property2 = 42;
// ^^^^^^^^^
//
// pkg/front_end/testcases/extensions/issue38745.dart:17:19: Error: Static property 'property2' conflicts with instance property of the same name.
// static void set property2(int value) {}
// ^^^^^^^^^
// pkg/front_end/testcases/extensions/issue38745.dart:15:13: Context: Conflicting instance property 'property2'.
// final int property2 = 42;
// ^^^^^^^^^
//
// pkg/front_end/testcases/extensions/issue38745.dart:20:5: Error: Undefined name 'field'.
// field;
// ^^^^^
//
// pkg/front_end/testcases/extensions/issue38745.dart:21:5: Error: Setter not found: 'field'.
// field = 23;
// ^^^^^
//
// pkg/front_end/testcases/extensions/issue38745.dart:22:5: Error: Undefined name 'property'.
// property;
// ^^^^^^^^
//
// pkg/front_end/testcases/extensions/issue38745.dart:23:5: Error: Setter not found: 'property'.
// property = 23;
// ^^^^^^^^
//
// pkg/front_end/testcases/extensions/issue38745.dart:38:5: Error: The getter 'property2' isn't defined for the type 'C<int>'.
// - 'C' is from 'pkg/front_end/testcases/extensions/issue38745.dart'.
// Try correcting the name to the name of an existing getter, or defining a getter or field named 'property2'.
// c.property2;
// ^^^^^^^^^
//
// pkg/front_end/testcases/extensions/issue38745.dart:39:5: Error: The setter 'property2' isn't defined for the type 'C<int>'.
// - 'C' is from 'pkg/front_end/testcases/extensions/issue38745.dart'.
// Try correcting the name to the name of an existing setter, or defining a setter or field named 'property2'.
// c.property2 = 23;
// ^^^^^^^^^
//
import self as self;
import "dart:core" as core;
class C<T extends core::Object? = dynamic> extends core::Object {
synthetic constructor •() self::C<self::C::T%>
: super core::Object::•()
;
}
extension ext<T extends core::Object? = dynamic> on self::C<T%> {
get field = self::ext|get#field;
set field = self::ext|set#field;
get property = self::ext|get#property;
set property = self::ext|set#property;
get property2 = self::ext|get#property2;
method method = self::ext|method;
method tearoff method = self::ext|get#method;
}
static abstract extension-member method ext|get#field<T extends core::Object? = dynamic>(lowered self::C<self::ext|get#field::T%> #this) → core::int;
static abstract extension-member method ext|set#field<T extends core::Object? = dynamic>(lowered self::C<self::ext|set#field::T%> #this, synthesized core::int #externalFieldValue) → void;
static abstract extension-member method ext|get#property<T extends core::Object? = dynamic>(lowered self::C<self::ext|get#property::T%> #this) → core::int;
static extension-member method ext|set#property<T extends core::Object? = dynamic>(lowered final self::C<self::ext|set#property::T%> #this, core::int value) → void {}
static abstract extension-member method ext|get#property2<T extends core::Object? = dynamic>(lowered self::C<self::ext|get#property2::T%> #this) → core::int;
static extension-member method ext|method<T extends core::Object? = dynamic>(lowered final self::C<self::ext|method::T%> #this) → dynamic {
invalid-expression "pkg/front_end/testcases/extensions/issue38745.dart:20:5: Error: Undefined name 'field'.
field;
^^^^^";
invalid-expression "pkg/front_end/testcases/extensions/issue38745.dart:21:5: Error: Setter not found: 'field'.
field = 23;
^^^^^";
invalid-expression "pkg/front_end/testcases/extensions/issue38745.dart:22:5: Error: Undefined name 'property'.
property;
^^^^^^^^";
invalid-expression "pkg/front_end/testcases/extensions/issue38745.dart:23:5: Error: Setter not found: 'property'.
property = 23;
^^^^^^^^";
invalid-expression "pkg/front_end/testcases/extensions/issue38745.dart:24:5: Error: Can't use 'property2' because it is declared more than once.
property2;
^^^^^^^^^";
invalid-expression "pkg/front_end/testcases/extensions/issue38745.dart:25:5: Error: Can't use 'property2' because it is declared more than once.
property2 = 23;
^^^^^^^^^";
}
static extension-member method ext|get#method<T extends core::Object? = dynamic>(lowered final self::C<self::ext|get#method::T%> #this) → () → dynamic
return () dynamic => self::ext|method<self::ext|get#method::T%>(#this);
static method main() dynamic {}
static method errors() dynamic {
self::C<core::int> c = new self::C::•<core::int>();
self::ext|get#field<core::int>(c);
self::ext|set#field<core::int>(c, 23);
self::ext|get#property<core::int>(c);
self::ext|set#property<core::int>(c, 23);
invalid-expression "pkg/front_end/testcases/extensions/issue38745.dart:38:5: Error: The getter 'property2' isn't defined for the type 'C<int>'.
- 'C' is from 'pkg/front_end/testcases/extensions/issue38745.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'property2'.
c.property2;
^^^^^^^^^" in c{<unresolved>}.property2;
invalid-expression "pkg/front_end/testcases/extensions/issue38745.dart:39:5: Error: The setter 'property2' isn't defined for the type 'C<int>'.
- 'C' is from 'pkg/front_end/testcases/extensions/issue38745.dart'.
Try correcting the name to the name of an existing setter, or defining a setter or field named 'property2'.
c.property2 = 23;
^^^^^^^^^" in c.{<unresolved>}property2 = 23;
self::ext|get#field<core::int>(c);
self::ext|set#field<core::int>(c, 23);
self::ext|get#property<core::int>(c);
self::ext|set#property<core::int>(c, 23);
invalid-expression "pkg/front_end/testcases/extensions/issue38745.dart:44:10: Error: Member not found: 'property2'.
ext(c).property2;
^^^^^^^^^";
invalid-expression "pkg/front_end/testcases/extensions/issue38745.dart:45:10: Error: Setter not found: 'property2'.
ext(c).property2 = 23;
^^^^^^^^^";
self::ext|method<core::int>(c);
}