Files
sdk/tests/language/private/main.dart
T
Robert Nystrom 1f0b2313c2 Migrate language_2/private to NNBD.
Change-Id: I3159397ed9007a97f69053fd2634db37ea2af494
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/150288
Auto-Submit: Bob Nystrom <rnystrom@google.com>
Commit-Queue: Erik Ernst <eernst@google.com>
Reviewed-by: Erik Ernst <eernst@google.com>
2020-06-08 23:39:05 +00:00

62 lines
1.3 KiB
Dart

// Copyright (c) 2011, 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 test for testing access to private fields.
part of Private3Test.dart;
main() {
PrivateMain.main();
}
class PrivateMain {
static const _myPrecious = "A Ring";
static accessMyPrivates() {
var value;
value = 0;
try {
value = _myPrecious;
} catch (e) {
value = -1;
}
Expect.equals("A Ring", value);
}
static accessMyLibPrivates() {
var value;
value = 0;
var the_other = new PrivateOther();
try {
value = the_other._myPrecious;
} catch (e, trace) {
print(e);
print(trace);
Expect.equals(true, e is NoSuchMethodError);
value = -1;
}
Expect.equals("Another Ring", value);
}
static accessOtherLibPrivates() {
var value;
value = 0;
var the_other = new PrivateLib();
try {
value = (the_other as dynamic)._myPrecious;
} catch (e, trace) {
print(e);
print(trace);
Expect.equals(true, e is NoSuchMethodError);
value = -1;
}
Expect.equals(-1, value);
}
static main() {
accessMyPrivates();
accessMyLibPrivates();
accessOtherLibPrivates();
}
}