Skip to content

Commit

Permalink
Fix language_2/mixin_constructor_forwarding/* tests.
Browse files Browse the repository at this point in the history
Change-Id: I9d6cf8236d3549a799ee2b499cafd4ad40f445a9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/116720
Reviewed-by: Bob Nystrom <rnystrom@google.com>
Commit-Queue: Mayank Patke <fishythefish@google.com>
  • Loading branch information
fishythefish authored and commit-bot@chromium.org committed Sep 12, 2019
1 parent 24f45d6 commit 531cb02
Show file tree
Hide file tree
Showing 5 changed files with 12 additions and 120 deletions.
6 changes: 0 additions & 6 deletions tests/language_2/language_2.status
Original file line number Diff line number Diff line change
Expand Up @@ -53,12 +53,6 @@ partial_instantiation_static_bounds_check_test/01: MissingCompileTimeError # Iss
partial_instantiation_static_bounds_check_test/02: MissingCompileTimeError # Issue 34327
partial_instantiation_static_bounds_check_test/03: MissingCompileTimeError # Issue 34327

[ $compiler != compare_analyzer_cfe && $compiler != spec_parser ]
mixin_constructor_forwarding/const_constructor_test/none: CompileTimeError # Issue 32223
mixin_constructor_forwarding/const_constructor_with_field_test/none: CompileTimeError # Issue 32223
mixin_constructor_forwarding/optional_named_parameters_test/none: CompileTimeError # Issue 31543
mixin_constructor_forwarding/optional_positional_parameters_test/none: CompileTimeError # Issue 31543

[ $compiler != dart2js && $compiler != dartdevc && !$checked ]
function_type/*: Skip # Needs checked mode.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,6 @@ class Base {

class Application = Base with Mixin;

class Application2 extends Base with Mixin {}

main() {
Expect.equals(42, new Application.c1(42).m);
Expect.equals(42, new Application.c2(42).m);
Expand All @@ -59,53 +57,22 @@ main() {
Expect.equals(42, const Application.c14(42).m);
Expect.equals(42, const Application.c15(x: 42).m);

Expect.equals(37, new Application.c2().m);
Expect.equals(37, new Application.c2().m); //# issue38304: ok
Expect.equals(37, new Application.c3().m);
Expect.equals(37, const Application.c5().m);
Expect.equals(37, const Application.c5().m); //# issue38304: continued
Expect.equals(37, const Application.c6().m);
Expect.equals(87, const Application.c8().m);
Expect.equals(87, const Application.c8().m); //# issue38304: continued
Expect.equals(87, const Application.c9().m);
Expect.equals(87, const Application.c11().m);
Expect.equals(87, const Application.c11().m); //# issue38304: continued
Expect.equals(87, const Application.c12().m);
Expect.equals(87, const Application.c14().m);
Expect.equals(87, const Application.c14().m); //# issue38304: continued
Expect.equals(87, const Application.c15().m);

Expect.equals(42, new Application2.c1(42).m);
Expect.equals(42, new Application2.c2(42).m);
Expect.equals(42, new Application2.c3(x: 42).m);
Expect.equals(42, const Application2.c4(42).m);
Expect.equals(42, const Application2.c5(42).m);
Expect.equals(42, const Application2.c6(x: 42).m);
Expect.equals(42, const Application2.c7(42).m);
Expect.equals(42, const Application2.c8(42).m);
Expect.equals(42, const Application2.c9(x: 42).m);
Expect.equals(42, const Application2.c10(42).m);
Expect.equals(42, const Application2.c11(42).m);
Expect.equals(42, const Application2.c12(x: 42).m);
Expect.equals(42, const Application2.c13(42).m);
Expect.equals(42, const Application2.c14(42).m);
Expect.equals(42, const Application2.c15(x: 42).m);

Expect.equals(37, new Application2.c2().m);
Expect.equals(37, new Application2.c3().m);
Expect.equals(37, const Application2.c5().m);
Expect.equals(37, const Application2.c6().m);
Expect.equals(87, const Application2.c8().m);
Expect.equals(87, const Application2.c9().m);
Expect.equals(87, const Application2.c11().m);
Expect.equals(87, const Application2.c12().m);
Expect.equals(87, const Application2.c14().m);
Expect.equals(87, const Application2.c15().m);

// Only make forwarders const if original constructor is const.
const Application.c1(0); //# 01: compile-time error
const Application.c2(0); //# 02: compile-time error
const Application.c3(x: 0); //# 03: compile-time error
const Application2.c1(0); //# 04: compile-time error
const Application2.c2(0); //# 05: compile-time error
const Application2.c3(x: 0); //# 06: compile-time error

// Only insert forwarders for generative constructors.
new Application(); //# 07: compile-time error
new Application2(); //# 08: compile-time error
new Application(); //# 04: compile-time error
}
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,6 @@ class Base {

class Application = Base with Mixin;

class Application2 extends Base with Mixin {}

main() {
Expect.equals(42, new Application.c1(42).m);
Expect.equals(42, new Application.c2(42).m);
Expand All @@ -63,44 +61,17 @@ main() {
Expect.equals(42, new Application.c14(42).m);
Expect.equals(42, new Application.c15(x: 42).m);

Expect.equals(37, new Application.c2().m);
Expect.equals(37, new Application.c2().m); //# issue38304: ok
Expect.equals(37, new Application.c3().m);
Expect.equals(37, new Application.c5().m);
Expect.equals(37, new Application.c5().m); //# issue38304: continued
Expect.equals(37, new Application.c6().m);
Expect.equals(87, new Application.c8().m);
Expect.equals(87, new Application.c8().m); //# issue38304: continued
Expect.equals(87, new Application.c9().m);
Expect.equals(87, new Application.c11().m);
Expect.equals(87, new Application.c11().m); //# issue38304: continued
Expect.equals(87, new Application.c12().m);
Expect.equals(87, new Application.c14().m);
Expect.equals(87, new Application.c14().m); //# issue38304: continued
Expect.equals(87, new Application.c15().m);

Expect.equals(42, new Application2.c1(42).m);
Expect.equals(42, new Application2.c2(42).m);
Expect.equals(42, new Application2.c3(x: 42).m);
Expect.equals(42, new Application2.c4(42).m);
Expect.equals(42, new Application2.c5(42).m);
Expect.equals(42, new Application2.c6(x: 42).m);
Expect.equals(42, new Application2.c7(42).m);
Expect.equals(42, new Application2.c8(42).m);
Expect.equals(42, new Application2.c9(x: 42).m);
Expect.equals(42, new Application2.c10(42).m);
Expect.equals(42, new Application2.c11(42).m);
Expect.equals(42, new Application2.c12(x: 42).m);
Expect.equals(42, new Application2.c13(42).m);
Expect.equals(42, new Application2.c14(42).m);
Expect.equals(42, new Application2.c15(x: 42).m);

Expect.equals(37, new Application2.c2().m);
Expect.equals(37, new Application2.c3().m);
Expect.equals(37, new Application2.c5().m);
Expect.equals(37, new Application2.c6().m);
Expect.equals(87, new Application2.c8().m);
Expect.equals(87, new Application2.c9().m);
Expect.equals(87, new Application2.c11().m);
Expect.equals(87, new Application2.c12().m);
Expect.equals(87, new Application2.c14().m);
Expect.equals(87, new Application2.c15().m);

// Don't make constructors const if mixin declares instance variable.
const Application.c4(42); //# 00: compile-time error
const Application.c5(42); //# 01: compile-time error
Expand All @@ -115,20 +86,6 @@ main() {
const Application.c14(42); //# 10: compile-time error
const Application.c15(x: 42); //# 11: compile-time error

const Application2.c4(42); //# 12: compile-time error
const Application2.c5(42); //# 13: compile-time error
const Application2.c6(x: 42); //# 14: compile-time error
const Application2.c7(42); //# 15: compile-time error
const Application2.c8(42); //# 16: compile-time error
const Application2.c9(x: 42); //# 17: compile-time error
const Application2.c10(42); //# 18: compile-time error
const Application2.c11(42); //# 19: compile-time error
const Application2.c12(x: 42); //# 20: compile-time error
const Application2.c13(42); //# 21: compile-time error
const Application2.c14(42); //# 22: compile-time error
const Application2.c15(x: 42); //# 23: compile-time error

// Only insert forwarders for generative constructors.
new Application(); //# 24: compile-time error
new Application2(); //# 25: compile-time error
new Application(); //# 12: compile-time error
}
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,6 @@ class Base {

class Application = Base with Mixin;

class Application2 extends Base with Mixin {}

main() {
Expect.equals(42, new Application.c1(42).m);
Expect.equals(42, new Application.c2(x: 42).m);
Expand All @@ -35,17 +33,6 @@ main() {
Expect.equals(37, new Application.c4().m);
Expect.equals(37, new Application.c6().m);

Expect.equals(42, new Application2.c1(42).m);
Expect.equals(42, new Application2.c2(x: 42).m);
Expect.equals(42, new Application2.c3(42).m);
Expect.equals(42, new Application2.c4(x: 42).m);
Expect.equals(42, new Application2.c5(42).m);
Expect.equals(42, new Application2.c6(x: 42).m);
Expect.equals(37, new Application2.c2().m);
Expect.equals(37, new Application2.c4().m);
Expect.equals(37, new Application2.c6().m);

// Only insert forwarders for generative constructors.
new Application(); //# 01: compile-time error
new Application2(); //# 02: compile-time error
}
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,6 @@ class Base {

class Application = Base with Mixin;

class Application2 extends Base with Mixin {}

main() {
Expect.equals(42, new Application.c1(42).m);
Expect.equals(42, new Application.c2(42).m);
Expand All @@ -35,17 +33,6 @@ main() {
Expect.equals(37, new Application.c4().m);
Expect.equals(37, new Application.c6().m);

Expect.equals(42, new Application2.c1(42).m);
Expect.equals(42, new Application2.c2(42).m);
Expect.equals(42, new Application2.c3(42).m);
Expect.equals(42, new Application2.c4(42).m);
Expect.equals(42, new Application2.c5(42).m);
Expect.equals(42, new Application2.c6(42).m);
Expect.equals(37, new Application2.c2().m);
Expect.equals(37, new Application2.c4().m);
Expect.equals(37, new Application2.c6().m);

// Only insert forwarders for generative constructors.
new Application(); //# 01: compile-time error
new Application2(); //# 02: compile-time error
}

0 comments on commit 531cb02

Please sign in to comment.