blob: ecca5397f96fbe8a99f8c92da7aeffda5b0c7778 [file] [log] [blame]
// Copyright (c) 2019, 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 {
this_access() {
if (this is D) {
this;
}
}
Object x = 'foo';
field_by_scope() {
if (x is String) {
x;
}
}
Object get y => 'foo';
getter_by_scope() {
if (y is String) {
y;
}
}
}
class D extends C {}
field_by_access(C c) {
if (c.x is String) {
c.x;
}
}
getter_by_access(C c) {
if (c.y is String) {
c.y;
}
}
Object f() => 'foo';
top_level_function() {
if (f is int Function()) {
f;
}
}
local_function() {
Object g() => 'foo';
if (g is int Function()) {
g;
}
}
Object a = 'foo';
top_level_variable() {
if (a is String) {
a;
}
}
Object get b => 'foo';
top_level_getter() {
if (b is String) {
b;
}
}