blob: 4f5f78061720dda53101e3ef8c99e997129460c4 [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
extension _PrivateExtension on String {
int publicMethod1() => 42;
int _privateMethod1() => 87;
static int publicStaticMethod1() => 24;
static int _privateStaticMethod1() => 78;
test1() {
expect(42, publicMethod1());
expect(87, _privateMethod1());
expect(24, publicStaticMethod1());
expect(78, _privateStaticMethod1());
}
}
extension PublicExtension on String {
int publicMethod2() => 123;
int _privateMethod2() => 237;
static int publicStaticMethod2() => 321;
static int _privateStaticMethod2() => 732;
test2() {
expect(123, publicMethod2());
expect(237, _privateMethod2());
expect(321, publicStaticMethod2());
expect(732, _privateStaticMethod2());
}
}
extension on String {
int publicMethod3() => 473;
int _privateMethod3() => 586;
static int publicStaticMethod3() => 374;
static int _privateStaticMethod3() => 685;
test3() {
expect(473, publicMethod3());
expect(586, _privateMethod3());
expect(374, publicStaticMethod3());
expect(685, _privateStaticMethod3());
}
}
test() {
expect(42, "".publicMethod1());
expect(87, ""._privateMethod1());
expect(123, "".publicMethod2());
expect(237, ""._privateMethod2());
expect(473, "".publicMethod3());
expect(586, ""._privateMethod3());
expect(42, _PrivateExtension("").publicMethod1());
expect(87, _PrivateExtension("")._privateMethod1());
expect(123, PublicExtension("").publicMethod2());
expect(237, PublicExtension("")._privateMethod2());
expect(24, _PrivateExtension.publicStaticMethod1());
expect(78, _PrivateExtension._privateStaticMethod1());
expect(321, PublicExtension.publicStaticMethod2());
expect(732, PublicExtension._privateStaticMethod2());
"".test1();
"".test2();
"".test3();
}
expect(expected, actual) {
if (expected != actual) {
throw 'Mismatch: expected=$expected, actual=$actual';
}
}