blob: a7bbb4c882b26e0c430e651fe934b92f6b58d4e2 [file] [log] [blame]
library /*isNonNullableByDefault*/;
//
// Problems in library:
//
// pkg/front_end/testcases/extension_types/simple_show_hide.dart:9:3: Error: Undefined name 'e2'.
// e2.floor(); // Ok.
// ^^
//
// pkg/front_end/testcases/extension_types/simple_show_hide.dart:10:6: Error: The getter 'isEven' isn't defined for the extension 'E1'.
// Try correcting the name to the name of an existing getter, or defining a getter or field named 'isEven'.
// e1.isEven; // Error.
// ^^^^^^
//
// pkg/front_end/testcases/extension_types/simple_show_hide.dart:16:6: Error: The method 'ceil' isn't defined for the extension 'E2'.
// Try correcting the name to the name of an existing method, or defining a method name 'ceil'.
// e2.ceil(); // Error.
// ^^^^
//
// pkg/front_end/testcases/extension_types/simple_show_hide.dart:18:6: Error: The getter 'isEven' isn't defined for the extension 'E2'.
// Try correcting the name to the name of an existing getter, or defining a getter or field named 'isEven'.
// e2.isEven; // Error.
// ^^^^^^
//
// pkg/front_end/testcases/extension_types/simple_show_hide.dart:24:6: Error: The getter 'isOdd' isn't defined for the extension 'E3'.
// Try correcting the name to the name of an existing getter, or defining a getter or field named 'isOdd'.
// e3.isOdd; // Ok.
// ^^^^^
//
// pkg/front_end/testcases/extension_types/simple_show_hide.dart:25:6: Error: The getter 'isEven' isn't defined for the extension 'E3'.
// Try correcting the name to the name of an existing getter, or defining a getter or field named 'isEven'.
// e3.isEven; // Error.
// ^^^^^^
//
// pkg/front_end/testcases/extension_types/simple_show_hide.dart:38:5: Error: The method 'floor' isn't defined for the extension 'MyInt'.
// Try correcting the name to the name of an existing method, or defining a method name 'floor'.
// m.floor(); // Error, hidden.
// ^^^^^
//
import self as self;
import "dart:core" as core;
extension E1 on core::int show-types core::num {
}
extension E2 on core::int show-types core::num hide-methods core::int::ceil hide-getters core::int::ceil {
}
extension E3 on core::int hide-getters core::int::isEven {
}
extension type MyInt on core::int show-types core::num show-getters core::int::isEven hide-methods core::int::floor hide-getters core::int::floor {
get twice = self::MyInt|get#twice;
}
static method test1(self::E1 e1) dynamic {
e1.{core::num::ceil}(){() core::int};
invalid-expression "pkg/front_end/testcases/extension_types/simple_show_hide.dart:9:3: Error: Undefined name 'e2'.
e2.floor(); // Ok.
^^"{dynamic}.floor();
invalid-expression "pkg/front_end/testcases/extension_types/simple_show_hide.dart:10:6: Error: The getter 'isEven' isn't defined for the extension 'E1'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'isEven'.
e1.isEven; // Error.
^^^^^^" in e1{<unresolved>}.isEven;
}
static method test2(self::E2 e2) dynamic {
invalid-expression "pkg/front_end/testcases/extension_types/simple_show_hide.dart:16:6: Error: The method 'ceil' isn't defined for the extension 'E2'.
Try correcting the name to the name of an existing method, or defining a method name 'ceil'.
e2.ceil(); // Error.
^^^^" in e2{<unresolved>}.ceil();
e2.{core::num::floor}(){() core::int};
invalid-expression "pkg/front_end/testcases/extension_types/simple_show_hide.dart:18:6: Error: The getter 'isEven' isn't defined for the extension 'E2'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'isEven'.
e2.isEven; // Error.
^^^^^^" in e2{<unresolved>}.isEven;
}
static method test3(self::E3 e3) dynamic {
invalid-expression "pkg/front_end/testcases/extension_types/simple_show_hide.dart:24:6: Error: The getter 'isOdd' isn't defined for the extension 'E3'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'isOdd'.
e3.isOdd; // Ok.
^^^^^" in e3{<unresolved>}.isOdd;
invalid-expression "pkg/front_end/testcases/extension_types/simple_show_hide.dart:25:6: Error: The getter 'isEven' isn't defined for the extension 'E3'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'isEven'.
e3.isEven; // Error.
^^^^^^" in e3{<unresolved>}.isEven;
}
static method MyInt|get#twice(lowered final core::int #this) → core::int
return 2.{core::num::*}(#this){(core::num) core::int};
static method test() dynamic {
self::MyInt m = 42;
self::MyInt|get#twice(m);
m.{core::int::isEven}{core::bool};
m.{core::num::ceil}(){() core::int};
m.{core::Object::toString}(){() core::String};
invalid-expression "pkg/front_end/testcases/extension_types/simple_show_hide.dart:38:5: Error: The method 'floor' isn't defined for the extension 'MyInt'.
Try correcting the name to the name of an existing method, or defining a method name 'floor'.
m.floor(); // Error, hidden.
^^^^^" in m{<unresolved>}.floor();
}
static method main() dynamic {}