8ca18f1a14
Adds tests for the change to make extension members accessible even for prefixed imports. Also tests that it is an error to import a library with extensions as deferred without hiding the extensions. Change-Id: I3a81c560694d34c8adbb4cc86ca9e6b8a129ae56 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/124589 Commit-Queue: Leaf Petersen <leafp@google.com> Reviewed-by: Bob Nystrom <rnystrom@google.com>
40 lines
1.3 KiB
Dart
40 lines
1.3 KiB
Dart
// 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.
|
|
|
|
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;
|
|
}
|