library /*isNonNullableByDefault*/; // // Problems in library: // // pkg/front_end/testcases/nnbd/null_aware_this_access.dart:12:5: Warning: The receiver 'this' cannot be null. // Try replacing '?.' with '.' // this?.m1; // ^^^^ // // pkg/front_end/testcases/nnbd/null_aware_this_access.dart:13:5: Warning: The receiver 'this' cannot be null. // Try replacing '?.' with '.' // this?.m1 = 42; // ^^^^ // // pkg/front_end/testcases/nnbd/null_aware_this_access.dart:14:5: Warning: The receiver 'this' cannot be null. // Try replacing '?.' with '.' // this?.method(); // ^^^^ // // pkg/front_end/testcases/nnbd/null_aware_this_access.dart:15:5: Warning: The receiver 'this' cannot be null. // Try replacing '?.' with '.' // this?.property.m1; // ^^^^ // // pkg/front_end/testcases/nnbd/null_aware_this_access.dart:16:5: Warning: The receiver 'this' cannot be null. // Try replacing '?.' with '.' // this?.property.method(); // ^^^^ // // pkg/front_end/testcases/nnbd/null_aware_this_access.dart:17:5: Warning: The receiver 'this' cannot be null. // Try replacing '?.' with '.' // this?[0]; // ^^^^ // // pkg/front_end/testcases/nnbd/null_aware_this_access.dart:18:5: Warning: The receiver 'this' cannot be null. // Try replacing '?.' with '.' // this?[0] = 0; // ^^^^ // // pkg/front_end/testcases/nnbd/null_aware_this_access.dart:19:5: Warning: The receiver 'this' cannot be null. // Try replacing '?.' with '.' // this?[0] ??= 0; // ^^^^ // // pkg/front_end/testcases/nnbd/null_aware_this_access.dart:20:5: Warning: The receiver 'this' cannot be null. // Try replacing '?.' with '.' // this?.property[0]; // ^^^^ // // pkg/front_end/testcases/nnbd/null_aware_this_access.dart:21:5: Warning: The receiver 'this' cannot be null. // Try replacing '?.' with '.' // this?.property[0] = 0; // ^^^^ // // pkg/front_end/testcases/nnbd/null_aware_this_access.dart:22:5: Warning: The receiver 'this' cannot be null. // Try replacing '?.' with '.' // this?.property[0] ??= 0; // ^^^^ // // pkg/front_end/testcases/nnbd/null_aware_this_access.dart:23:5: Warning: The receiver 'this' cannot be null. // Try replacing '?.' with '.' // this?.m1 ??= 42; // ^^^^ // // pkg/front_end/testcases/nnbd/null_aware_this_access.dart:24:5: Warning: The receiver 'this' cannot be null. // Try replacing '?.' with '.' // this?.m2 += 2; // ^^^^ // // pkg/front_end/testcases/nnbd/null_aware_this_access.dart:25:5: Warning: The receiver 'this' cannot be null. // Try replacing '?.' with '.' // this?.m2++; // ^^^^ // // pkg/front_end/testcases/nnbd/null_aware_this_access.dart:26:7: Warning: The receiver 'this' cannot be null. // Try replacing '?.' with '.' // --this?.m2; // ^^^^ // // pkg/front_end/testcases/nnbd/null_aware_this_access.dart:27:5: Warning: Operand of null-aware operation '??' has type 'C' which excludes null. // - 'C' is from 'pkg/front_end/testcases/nnbd/null_aware_this_access.dart'. // this ?? new C(); // ^ // // pkg/front_end/testcases/nnbd/null_aware_this_access.dart:41:5: Warning: The receiver 'this' cannot be null. // Try replacing '?.' with '.' // this?[0]; // ^^^^ // // pkg/front_end/testcases/nnbd/null_aware_this_access.dart:42:5: Warning: The receiver 'this' cannot be null. // Try replacing '?.' with '.' // this?[0] = 0; // ^^^^ // // pkg/front_end/testcases/nnbd/null_aware_this_access.dart:43:5: Warning: The receiver 'this' cannot be null. // Try replacing '?.' with '.' // this?[0] += 0; // ^^^^ // // pkg/front_end/testcases/nnbd/null_aware_this_access.dart:44:5: Warning: The receiver 'this' cannot be null. // Try replacing '?.' with '.' // this?.property[0]; // ^^^^ // // pkg/front_end/testcases/nnbd/null_aware_this_access.dart:45:5: Warning: The receiver 'this' cannot be null. // Try replacing '?.' with '.' // this?.property[0] = 0; // ^^^^ // // pkg/front_end/testcases/nnbd/null_aware_this_access.dart:46:5: Warning: The receiver 'this' cannot be null. // Try replacing '?.' with '.' // this?.property[0] += 0; // ^^^^ // import self as self; import "dart:core" as core; class C extends core::Object { field core::int? m1 = null; field core::int m2 = 0; synthetic constructor •() → self::C : super core::Object::•() ; get property() → self::C return this; method test() → dynamic { this.{self::C::m1}; this.{self::C::m1} = 42; this.{self::C::method}(); this.{self::C::property}.{self::C::m1}; this.{self::C::property}.{self::C::method}(); this.{self::C::[]}(0); this.{self::C::[]=}(0, 0); let final core::int #t1 = 0 in this.{self::C::[]}(#t1).{core::num::==}(null) ?{core::int} this.{self::C::[]=}(#t1, 0) : null; this.{self::C::property}.{self::C::[]}(0); this.{self::C::property}.{self::C::[]=}(0, 0); let final self::C #t2 = this.{self::C::property} in let final core::int #t3 = 0 in #t2.{self::C::[]}(#t3).{core::num::==}(null) ?{core::int} #t2.{self::C::[]=}(#t3, 0) : null; this.{self::C::m1}.{core::num::==}(null) ?{core::int} this.{self::C::m1} = 42 : null; this.{self::C::m2} = this.{self::C::m2}.{core::num::+}(2); this.{self::C::m2} = this.{self::C::m2}.{core::num::+}(1); this.{self::C::m2} = this.{self::C::m2}.{core::num::-}(1); this; } operator [](core::int index) → core::int? return 0; operator []=(core::int index, core::int value) → void {} method method() → dynamic {} } class D extends core::Object { synthetic constructor •() → self::D : super core::Object::•() ; get property() → self::D return this; method test() → dynamic { this.{self::D::[]}(0); this.{self::D::[]=}(0, 0); let final core::int #t4 = 0 in this.{self::D::[]=}(#t4, this.{self::D::[]}(#t4).{core::num::+}(0)); this.{self::D::property}.{self::D::[]}(0); this.{self::D::property}.{self::D::[]=}(0, 0); let final self::D #t5 = this.{self::D::property} in let final core::int #t6 = 0 in #t5.{self::D::[]=}(#t6, #t5.{self::D::[]}(#t6).{core::num::+}(0)); } operator [](core::int index) → core::int return 0; operator []=(core::int index, core::int value) → void {} } static method main() → dynamic { new self::C::•().{self::C::test}(); new self::D::•().{self::D::test}(); }