blob: c1dc7d13e153954121be508046e07f81203fba09 [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.
// @dart = 2.9
/// @assertion Like for a class or mixin member declaration, the names of the
/// extension members, both static and instance, are in the lexical scope of the
/// extension member body. That is why MySmart above can invoke the static
/// smartHelper without prefixing it by the extension name. In the same way,
/// instance member declarations (the extension members) are in the lexical scope
///
/// @description Check that extension static member cannot access referred class
/// static member without prefix
/// @author sgrekhov@unipro.ru
class C {
static String cStaticMember = "Lily was here";
}
extension ExtendedC on C {
static String st = cStaticMember; //# 01: compile-time error
void test() {
cStaticMember; //# 02: compile-time error
}
}
main() {
C c = new C();
c.test();
}