blob: 53ea9c9835293590cee1565e026e9e48ae0d5a32 [file] [log] [blame]
library;
import self as self;
import "non_nullable_from_opt_out_lib.dart" as non;
import "dart:core" as core;
import "org-dartlang-testcase:///non_nullable_from_opt_out_lib.dart";
static method main() dynamic {
non::topLevelField = null;
non::finalTopLevelField = null;
non::Class<core::int*>* c = new non::Class::•<core::int*>();
c.{non::Class::instanceField} = null;
c.{non::Class::finalInstanceField} = null;
c.{non::Class::instanceTypeVariable} = null;
c.{non::Class::finalInstanceTypeVariable} = null;
non::Class::staticField = null;
non::Class::staticFinalField = null;
non::expect(null, non::topLevelField);
non::expect(null, non::finalTopLevelField);
non::expect(null, c.{non::Class::instanceField});
non::expect(null, c.{non::Class::finalInstanceField});
non::expect(null, c.{non::Class::instanceTypeVariable});
non::expect(null, c.{non::Class::finalInstanceTypeVariable});
non::expect(null, non::Class::staticField);
non::expect(null, non::Class::staticFinalField);
non::throws(() Null => non::finalTopLevelField = null);
non::throws(() Null => c.{non::Class::finalInstanceField} = null);
non::throws(() Null => c.{non::Class::finalInstanceTypeVariable} = null);
non::throws(() Null => non::Class::staticFinalField = null);
non::method<Null>(true, null, null);
}
library /*isNonNullableByDefault*/;
import self as non;
import "dart:core" as core;
import "dart:_internal" as _in;
class Class<T extends core::Object = core::Object> extends core::Object {
field core::int? _#Class#instanceField = null;
field core::bool _#Class#instanceField#isSet = false;
field dynamic _#Class#finalInstanceField = null;
field core::bool _#Class#finalInstanceField#isSet = false;
generic-covariant-impl field non::Class::T? _#Class#instanceTypeVariable = null;
field core::bool _#Class#instanceTypeVariable#isSet = false;
field non::Class::T? _#Class#finalInstanceTypeVariable = null;
field core::bool _#Class#finalInstanceTypeVariable#isSet = false;
static field core::int? _#staticField = null;
static field core::bool _#staticField#isSet = false;
static field dynamic _#staticFinalField = null;
static field core::bool _#staticFinalField#isSet = false;
synthetic constructor •() non::Class<non::Class::T>
: super core::Object::•()
;
get instanceField() core::int
return this.{non::Class::_#Class#instanceField#isSet} ?{core::int} let final core::int? #t1 = this.{non::Class::_#Class#instanceField} in #t1{core::int} : throw new _in::LateError::fieldNI("instanceField");
set instanceField(core::int #t2) → void {
this.{non::Class::_#Class#instanceField#isSet} = true;
this.{non::Class::_#Class#instanceField} = #t2;
}
get finalInstanceField() dynamic
return this.{non::Class::_#Class#finalInstanceField#isSet} ?{dynamic} this.{non::Class::_#Class#finalInstanceField} : throw new _in::LateError::fieldNI("finalInstanceField");
set finalInstanceField(dynamic #t3) → void
if(this.{non::Class::_#Class#finalInstanceField#isSet})
throw new _in::LateError::fieldAI("finalInstanceField");
else {
this.{non::Class::_#Class#finalInstanceField#isSet} = true;
this.{non::Class::_#Class#finalInstanceField} = #t3;
}
get instanceTypeVariable() non::Class::T
return this.{non::Class::_#Class#instanceTypeVariable#isSet} ?{non::Class::T} let final non::Class::T? #t4 = this.{non::Class::_#Class#instanceTypeVariable} in #t4{non::Class::T} : throw new _in::LateError::fieldNI("instanceTypeVariable");
set instanceTypeVariable(generic-covariant-impl non::Class::T #t5) → void {
this.{non::Class::_#Class#instanceTypeVariable#isSet} = true;
this.{non::Class::_#Class#instanceTypeVariable} = #t5;
}
get finalInstanceTypeVariable() non::Class::T
return this.{non::Class::_#Class#finalInstanceTypeVariable#isSet} ?{non::Class::T} let final non::Class::T? #t6 = this.{non::Class::_#Class#finalInstanceTypeVariable} in #t6{non::Class::T} : throw new _in::LateError::fieldNI("finalInstanceTypeVariable");
set finalInstanceTypeVariable(non::Class::T #t7) → void
if(this.{non::Class::_#Class#finalInstanceTypeVariable#isSet})
throw new _in::LateError::fieldAI("finalInstanceTypeVariable");
else {
this.{non::Class::_#Class#finalInstanceTypeVariable#isSet} = true;
this.{non::Class::_#Class#finalInstanceTypeVariable} = #t7;
}
static get staticField() core::int
return non::Class::_#staticField#isSet ?{core::int} let final core::int? #t8 = non::Class::_#staticField in #t8{core::int} : throw new _in::LateError::fieldNI("staticField");
static set staticField(core::int #t9) → void {
non::Class::_#staticField#isSet = true;
non::Class::_#staticField = #t9;
}
static get staticFinalField() dynamic
return non::Class::_#staticFinalField#isSet ?{dynamic} non::Class::_#staticFinalField : throw new _in::LateError::fieldNI("staticFinalField");
static set staticFinalField(dynamic #t10) → void
if(non::Class::_#staticFinalField#isSet)
throw new _in::LateError::fieldAI("staticFinalField");
else {
non::Class::_#staticFinalField#isSet = true;
non::Class::_#staticFinalField = #t10;
}
}
static field core::int? _#topLevelField = null;
static field core::bool _#topLevelField#isSet = false;
static field dynamic _#finalTopLevelField = null;
static field core::bool _#finalTopLevelField#isSet = false;
static get topLevelField() core::int
return non::_#topLevelField#isSet ?{core::int} let final core::int? #t11 = non::_#topLevelField in #t11{core::int} : throw new _in::LateError::fieldNI("topLevelField");
static set topLevelField(core::int #t12) → void {
non::_#topLevelField#isSet = true;
non::_#topLevelField = #t12;
}
static get finalTopLevelField() dynamic
return non::_#finalTopLevelField#isSet ?{dynamic} non::_#finalTopLevelField : throw new _in::LateError::fieldNI("finalTopLevelField");
static set finalTopLevelField(dynamic #t13) → void
if(non::_#finalTopLevelField#isSet)
throw new _in::LateError::fieldAI("finalTopLevelField");
else {
non::_#finalTopLevelField#isSet = true;
non::_#finalTopLevelField = #t13;
}
static method method<T extends core::Object = core::Object>(core::bool b, core::int i, non::method::T t) dynamic {
core::int? local;
core::bool #local#isSet = false;
function #local#get() → core::int
return #local#isSet ?{core::int} local{core::int} : throw new _in::LateError::localNI("local");
function #local#set(core::int #t14) → dynamic {
#local#isSet = true;
return local = #t14;
}
final dynamic finalLocal;
core::bool #finalLocal#isSet = false;
function #finalLocal#get() → dynamic
return #finalLocal#isSet ?{dynamic} finalLocal : throw new _in::LateError::localNI("finalLocal");
function #finalLocal#set(dynamic #t15) → dynamic
if(#finalLocal#isSet)
throw new _in::LateError::localAI("finalLocal");
else {
#finalLocal#isSet = true;
return finalLocal = #t15;
}
non::method::T? localTypeVariable;
core::bool #localTypeVariable#isSet = false;
function #localTypeVariable#get() → non::method::T
return #localTypeVariable#isSet ?{non::method::T} localTypeVariable{non::method::T} : throw new _in::LateError::localNI("localTypeVariable");
function #localTypeVariable#set(non::method::T #t16) → dynamic {
#localTypeVariable#isSet = true;
return localTypeVariable = #t16;
}
final non::method::T? finalLocalTypeVariable;
core::bool #finalLocalTypeVariable#isSet = false;
function #finalLocalTypeVariable#get() → non::method::T
return #finalLocalTypeVariable#isSet ?{non::method::T} finalLocalTypeVariable{non::method::T} : throw new _in::LateError::localNI("finalLocalTypeVariable");
function #finalLocalTypeVariable#set(non::method::T #t17) → dynamic
if(#finalLocalTypeVariable#isSet)
throw new _in::LateError::localAI("finalLocalTypeVariable");
else {
#finalLocalTypeVariable#isSet = true;
return finalLocalTypeVariable = #t17;
}
if(b) {
#local#set.call(i);
#finalLocal#set.call(i);
#localTypeVariable#set.call(t);
#finalLocalTypeVariable#set.call(t);
non::expect(i, #local#get.call());
non::expect(i, #finalLocal#get.call());
non::expect(t, #localTypeVariable#get.call());
non::expect(t, #finalLocalTypeVariable#get.call());
}
non::throws(() void => #finalLocal#set.call(i));
non::throws(() void => #finalLocalTypeVariable#set.call(t));
}
static method expect(dynamic expected, dynamic actual) dynamic {
if(!expected.{core::Object::==}(actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() void f) dynamic {
try {
f.call();
}
on core::Object catch(final core::Object _) {
return;
}
throw "Missing exception";
}