blob: fd33bcbffa7c4a6fab699b98919998b8eec54991 [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.
// SharedOptions=--enable-experiment=extension-methods
import "package:expect/expect.dart";
import "class_no_shadow.dart";
const double otherExtensionValue = 1.234;
void checkOtherExtensionValue(double other) {
Expect.equals(other, otherExtensionValue);
}
// An extension which defines only global, instance and its own symbols
extension ExtraExt on A {
double get fieldInGlobalScope => otherExtensionValue;
double get getterInGlobalScope => otherExtensionValue;
set setterInGlobalScope(double x) {
checkOtherExtensionValue(x);
}
double methodInGlobalScope() => otherExtensionValue;
double get fieldInInstanceScope => otherExtensionValue;
double get getterInInstanceScope => otherExtensionValue;
set setterInInstanceScope(double x) {
checkOtherExtensionValue(x);
}
double methodInInstanceScope() => otherExtensionValue;
double get fieldInOtherExtensionScope => otherExtensionValue;
double get getterInOtherExtensionScope => otherExtensionValue;
set setterInOtherExtensionScope(double x) {
checkOtherExtensionValue(x);
}
double methodInOtherExtensionScope() => otherExtensionValue;
}