blob: 3da5a9af780ccd00cb516cb4be02234101827897 [file] [log] [blame]
library;
import self as self;
import "dart:core" as core;
import "field_promotion_and_no_such_method_lib.dart" as fie;
import "org-dartlang-testcase:///field_promotion_and_no_such_method_lib.dart" as otherLib;
abstract class C extends core::Object {
final field core::int? _f1;
final field core::int? _f2;
constructor •(core::int? i) self::C
: self::C::_f1 = i, self::C::_f2 = i, super core::Object::•()
;
}
abstract class D extends core::Object {
final field core::int? _f1;
constructor •(core::int? i) self::D
: self::D::_f1 = i, super core::Object::•()
;
}
class E extends core::Object implements self::D {
synthetic constructor •() self::E
: super core::Object::•()
;
@#C1
method noSuchMethod(core::Invocation invocation) dynamic
return super.{core::Object::noSuchMethod}(invocation);
no-such-method-forwarder get _f1() core::int?
return this.{self::E::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol, dynamic>(#C5))){(core::Invocation) → dynamic} as{TypeError,ForDynamic} core::int?;
}
class F extends core::Object implements fie::C {
synthetic constructor •() self::F
: super core::Object::•()
;
@#C1
method noSuchMethod(core::Invocation invocation) dynamic
return super.{core::Object::noSuchMethod}(invocation);
no-such-method-forwarder get _f2() core::int?
return throw{for-error-handling} core::NoSuchMethodError::withInvocation(this, new core::_InvocationMirror::_withType(#C6, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol, dynamic>(#C5)));
}
static method acceptsInt(core::int x) void {}
static method testConflictsWithNoSuchMethodForwarder(self::C c) void {
if(!(c.{self::C::_f1}{core::int?} == null)) {
core::int? x = c.{self::C::_f1}{core::int?};
x = null;
}
}
static method testNoConflictWithNoSuchMethodForwarderForDifferentLib(self::C c) void {
if(!(c.{self::C::_f2}{core::int?} == null)) {
core::int x = let core::int? #t1 = c.{self::C::_f2}{core::int?} in #t1 == null ?{core::int} #t1 as{Unchecked} core::int : #t1{core::int};
self::acceptsInt(x);
}
}
library;
import self as fie;
import "dart:core" as core;
class C extends core::Object {
synthetic constructor •() fie::C
: super core::Object::•()
;
get _f2() core::int?
return 0;
}
constants {
#C1 = core::_Override {}
#C2 = #org-dartlang-testcase:///field_promotion_and_no_such_method.dart::_f1
#C3 = <core::Type>[]
#C4 = <dynamic>[]
#C5 = <core::Symbol, dynamic>{}
#C6 = #org-dartlang-testcase:///field_promotion_and_no_such_method.dart::_f2
}