Index: tests/language/initializing_formal_final_test.dart |
diff --git a/tests/language/initializing_formal_access_test.dart b/tests/language/initializing_formal_final_test.dart |
similarity index 50% |
copy from tests/language/initializing_formal_access_test.dart |
copy to tests/language/initializing_formal_final_test.dart |
index 3d3ceed1be8847abdf736eb6f3b6fa3c7d3f5009..0832ce02d9926825d8e4cea7d58eae2bcb12ad90 100644 |
--- a/tests/language/initializing_formal_access_test.dart |
+++ b/tests/language/initializing_formal_final_test.dart |
@@ -6,23 +6,15 @@ |
import "package:expect/expect.dart"; |
-class C { |
- final int x; |
- final int y; |
- |
- const C.constant(this.x) : y = x + 1; |
- |
- C(this.x) : y = x + 1 { |
- int z = x + 2; |
- assert(z == y + 1); |
- } |
+class A { |
+ var x, y; |
+ // This should cause a warning because `x` is final when |
+ // accessed as an initializing formal. |
+ A(this.x) : y = (() { x = 3; }); |
} |
main() { |
- C c = new C(2); |
- Expect.equals(c.x, 2); |
- Expect.equals(c.y, 3); |
- const C cc = const C.constant(4); |
- Expect.equals(cc.x, 4); |
- Expect.equals(cc.y, 5); |
+ A a = new A(2); |
+ Expect.equals(a.x, 2); |
+ Expect.throws(() => a.y(), (e) => e is NoSuchMethodError); |
} |