blob: 0bbec4e7c6ea644ab1b854d61b975eee4e29dcf4 [file] [log] [blame]
// Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
class C {
int? i;
int? j;
get_field_via_explicit_this() {
if (this.i == null) return;
this.i. /*notPromoted(fieldNotPromoted(i))*/ isEven;
}
get_field_via_explicit_this_parenthesized() {
if ((this).i == null) return;
(this).i. /*notPromoted(fieldNotPromoted(i))*/ isEven;
}
get_field_by_implicit_this() {
if (i == null) return;
i. /*notPromoted(fieldNotPromoted(i))*/ isEven;
}
}
class D extends C {
get_field_via_explicit_super() {
if (super.i == null) return;
super.i. /*notPromoted(fieldNotPromoted(i))*/ isEven;
}
get_field_by_implicit_super() {
if (i == null) return;
i. /*notPromoted(fieldNotPromoted(i))*/ isEven;
}
}
get_field_via_prefixed_identifier(C c) {
if (c.i == null) return;
c.i. /*notPromoted(fieldNotPromoted(i))*/ isEven;
}
get_field_via_prefixed_identifier_mismatched_target(C c1, C c2) {
if (c1.i == null) return;
c2.i.isEven;
}
get_field_via_prefixed_identifier_mismatched_property(C c) {
if (c.i == null) return;
c.j.isEven;
}