blob: ac2b5792233a1525aa9c70ec48c4646cb6794cf9 [file] [log] [blame]
// Copyright (c) 2018, 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.7
/*member: main:[null]*/
main() {
test1();
test2();
test3();
test4();
test5();
test6();
test7();
test8();
test9();
test10();
test11();
test12();
test13();
test14();
test15();
test16();
test17();
test18();
test19();
}
/*member: A1.:[exact=A1]*/
class A1 {
/*member: A1.x1:Value([exact=JSString], value: "s")*/
x1(
/*Value([exact=JSString], value: "s")*/ p) =>
p;
}
/*member: test1:[null]*/
test1() {
new A1(). /*invoke: [exact=A1]*/ x1("s");
}
/*member: A2.:[exact=A2]*/
class A2 {
/*member: A2.x2:[exact=JSUInt31]*/
x2(/*[exact=JSUInt31]*/ p) => p;
}
/*member: test2:[null]*/
test2() {
new A2(). /*invoke: [exact=A2]*/ x2(1);
}
/*member: A3.:[exact=A3]*/
class A3 {
/*member: A3.x3:[empty]*/
x3(/*[subclass=JSInt]*/ p) => /*invoke: [exact=A3]*/ x3(
p /*invoke: [subclass=JSInt]*/ - 1);
}
/*member: test3:[null]*/
test3() {
new A3(). /*invoke: [exact=A3]*/ x3(1);
}
/*member: A4.:[exact=A4]*/
class A4 {
/*member: A4.x4:[empty]*/
x4(/*[subclass=JSNumber]*/ p) => /*invoke: [exact=A4]*/ x4(
p /*invoke: [subclass=JSNumber]*/ - 1);
}
/*member: test4:[null]*/
test4() {
new A4(). /*invoke: [exact=A4]*/ x4(1.5);
}
/*member: A5.:[exact=A5]*/
class A5 {
/*member: A5.x5:Union([exact=JSDouble], [exact=JSUInt31])*/
x5(
/*Union([exact=JSDouble], [exact=JSUInt31])*/ p) =>
p;
}
/*member: test5:[null]*/
test5() {
new A5(). /*invoke: [exact=A5]*/ x5(1);
new A5(). /*invoke: [exact=A5]*/ x5(1.5);
}
/*member: A6.:[exact=A6]*/
class A6 {
/*member: A6.x6:Union([exact=JSDouble], [exact=JSUInt31])*/
x6(
/*Union([exact=JSDouble], [exact=JSUInt31])*/ p) =>
p;
}
/*member: test6:[null]*/
test6() {
new A6(). /*invoke: [exact=A6]*/ x6(1.5);
new A6(). /*invoke: [exact=A6]*/ x6(1);
}
/*member: A7.:[exact=A7]*/
class A7 {
/*member: A7.x7:[empty]*/
x7(
/*Union([exact=JSString], [exact=JSUInt31])*/ p) => /*invoke: [exact=A7]*/ x7("x");
}
/*member: test7:[null]*/
test7() {
new A7(). /*invoke: [exact=A7]*/ x7(1);
}
/*member: A8.:[exact=A8]*/
class A8 {
/*member: A8.x8:[empty]*/
x8(
/*Union([exact=JSString], [subclass=JsLinkedHashMap])*/ p) =>
/*invoke: [exact=A8]*/ x8("x");
}
/*member: test8:[null]*/
test8() {
new A8(). /*invoke: [exact=A8]*/ x8({});
}
/*member: A9.:[exact=A9]*/
class A9 {
/*member: A9.x9:[empty]*/ x9(
/*[exact=JSUInt31]*/ p1,
/*Union([exact=JSString], [exact=JSUInt31])*/ p2,
/*Union([exact=JSUInt31], [subclass=JsLinkedHashMap])*/ p3) =>
/*invoke: [exact=A9]*/ x9(p1, "x", {});
}
/*member: test9:[null]*/
test9() {
new A9(). /*invoke: [exact=A9]*/ x9(1, 2, 3);
}
/*member: A10.:[exact=A10]*/
class A10 {
/*member: A10.x10:[empty]*/ x10(
/*[exact=JSUInt31]*/ p1,
/*[exact=JSUInt31]*/ p2) => /*invoke: [exact=A10]*/ x10(p1, p2);
}
/*member: test10:[null]*/
test10() {
new A10(). /*invoke: [exact=A10]*/ x10(1, 2);
}
/*member: A11.:[exact=A11]*/
class A11 {
/*member: A11.x11:[empty]*/
x11(
/*[exact=JSUInt31]*/ p1,
/*[exact=JSUInt31]*/ p2) => /*invoke: [exact=A11]*/ x11(p1, p2);
}
/*member: f11:[null]*/
void f11(/*[null]*/ p) {
p. /*invoke: [null]*/ x11("x", "y");
}
/*member: test11:[null]*/
test11() {
f11(null);
new A11(). /*invoke: [exact=A11]*/ x11(1, 2);
}
/*member: A12.:[exact=A12]*/
class A12 {
/*member: A12.x12:[empty]*/
x12(
/*Union([exact=JSString], [exact=JSUInt31])*/ p1,
/*Union([exact=JSString], [exact=JSUInt31])*/ p2) =>
/*invoke: [exact=A12]*/ x12(1, 2);
}
/*member: test12:[null]*/
test12() {
new A12(). /*invoke: [exact=A12]*/ x12("x", "y");
}
/*member: A13.:[exact=A13]*/
class A13 {
/*member: A13.x13:[exact=JSUInt31]*/
x13(
/*Value([exact=JSString], value: "x")*/ p1,
[/*[exact=JSUInt31]*/ p2 = 1]) =>
1;
}
/*member: test13:[null]*/
test13() {
new A13(). /*invoke: [exact=A13]*/ x13("x", 1);
new A13(). /*invoke: [exact=A13]*/ x13("x");
}
/*member: A14.:[exact=A14]*/
class A14 {
/*member: A14.x14:[exact=JSUInt31]*/
x14(
/*Union([exact=JSDouble], [exact=JSUInt31])*/ p) =>
1;
}
/*member: f14:[exact=JSUInt31]*/
f14(/*[exact=A14]*/ p) => p. /*invoke: [exact=A14]*/ x14(2.2);
/*member: test14:[null]*/
test14() {
new A14(). /*invoke: [exact=A14]*/ x14(1);
f14(new A14());
}
/*member: A15.:[exact=A15]*/
class A15 {
/*member: A15.x15:[exact=JSUInt31]*/
x15(/*[exact=JSUInt31]*/ p1,
[/*Value([exact=JSString], value: "s")*/ p2 = "s"]) {
p2. /*Value([exact=JSString], value: "s")*/ length;
return 1;
}
}
/*member: test15:[null]*/
test15() {
new A15(). /*invoke: [exact=A15]*/ x15(1);
}
/*member: A16.:[exact=A16]*/
class A16 {
/*member: A16.x16:[exact=JSUInt31]*/
x16(
/*Value([exact=JSString], value: "x")*/ p1,
[/*[exact=JSBool]*/ p2 = true]) =>
1;
}
/*member: f16:[empty]*/
f16(/*[null]*/ p) => p. /*invoke: [null]*/ a("x");
/*member: test16:[null]*/
test16() {
new A16(). /*invoke: [exact=A16]*/ x16("x");
new A16(). /*invoke: [exact=A16]*/ x16("x", false);
f16(null);
}
/*member: A17.:[exact=A17]*/
class A17 {
/*member: A17.x17:[exact=JSUInt31]*/
x17(/*[exact=JSUInt31]*/ p1,
[/*[exact=JSUInt31]*/ p2 = 1, /*[exact=JSString]*/ p3 = "s"]) =>
1;
}
/*member: test17:[null]*/
test17() {
new A17(). /*invoke: [exact=A17]*/ x17(1);
new A17(). /*invoke: [exact=A17]*/ x17(1, 2);
new A17(). /*invoke: [exact=A17]*/ x17(1, 2, "x");
dynamic a = new A17();
a. /*invoke: [exact=A17]*/ x17(1, p2: 2);
dynamic b = new A17();
b. /*invoke: [exact=A17]*/ x17(1, p3: "x");
dynamic c = new A17();
c. /*invoke: [exact=A17]*/ x17(1, p3: "x", p2: 2);
dynamic d = new A17();
d. /*invoke: [exact=A17]*/ x17(1, p2: 2, p3: "x");
}
/*member: A18.:[exact=A18]*/
class A18 {
/*member: A18.x18:[exact=JSUInt31]*/
x18(/*[exact=JSUInt31]*/ p1,
[/*[exact=JSBool]*/ p2 = 1, /*[exact=JSDouble]*/ p3 = "s"]) =>
1;
}
/*member: test18:[null]*/
test18() {
new A18(). /*invoke: [exact=A18]*/ x18(1, true, 1.1);
new A18(). /*invoke: [exact=A18]*/ x18(1, false, 2.2);
dynamic a = new A18();
a. /*invoke: [exact=A18]*/ x18(1, p3: 3.3, p2: true);
dynamic b = new A18();
b. /*invoke: [exact=A18]*/ x18(1, p2: false, p3: 4.4);
}
/*member: A19.:[exact=A19]*/
class A19 {
/*member: A19.x19:[empty]*/
x19(
/*Union([exact=JSString], [exact=JSUInt31])*/ p1,
/*Union([exact=JSString], [exact=JSUInt31])*/ p2) =>
/*invoke: [subclass=A19]*/ x19(p1, p2);
}
/*member: B19.:[exact=B19]*/
class B19 extends A19 {}
/*member: test19:[null]*/
test19() {
new B19(). /*invoke: [exact=B19]*/ x19("a", "b");
new A19(). /*invoke: [exact=A19]*/ x19(1, 2);
}