blob: 6dbdf97516357ccea84b78147104105001180e9b [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.
/// @assertion Even though you can access this, you cannot use super inside an
/// extension method.
///
/// @description Check that it is a compile error to access super inside an
/// extension method
/// @author sgrekhov@unipro.ru
class A {
String get a => "a";
}
class C extends A {
String get c => "c";
}
extension ExtendedC on C {
String m() => super.a;
// ^^^^^
// [analyzer] COMPILE_TIME_ERROR.SUPER_IN_EXTENSION
// [cfe] Expected identifier, but got 'super'.
String get getter => super.a;
// ^^^^^
// [analyzer] COMPILE_TIME_ERROR.SUPER_IN_EXTENSION
// [cfe] Expected identifier, but got 'super'.
String operator-() => super.a;
// ^^^^^
// [analyzer] COMPILE_TIME_ERROR.SUPER_IN_EXTENSION
// [cfe] Expected identifier, but got 'super'.
}
main() {
new C();
}