Fixes #1278. Errors and typos in some Enhanced enums tests fixed
diff --git a/LanguageFeatures/Enhanced-Enum/example_A01_t01.dart b/LanguageFeatures/Enhanced-Enum/example_A01_t01.dart
index 1dacb24..e79c2b0 100644
--- a/LanguageFeatures/Enhanced-Enum/example_A01_t01.dart
+++ b/LanguageFeatures/Enhanced-Enum/example_A01_t01.dart
@@ -71,7 +71,7 @@
// With type argument, mixin and interface.
enum Complex<T extends Pattern> with EnumComparable<Complex> implements Pattern {
whitespace<RegExp>(r"\s+", RegExp.new),
- alphanum<RegExp>.captured(r"\w+", RegExp.new),
+ alphanum<RegExp>.captured(r"\w+"),
anychar<RegExp>(".", RegExp.new),
;
@@ -98,7 +98,7 @@
// Named constructor. Redirecting.
const Complex.captured(String regexpPattern)
- : this("($regexpPattern)", RegExp);
+ : this("($regexpPattern)", RegExp.new);
// Can expose the implicit name.
String get name => EnumName(this).name;
diff --git a/LanguageFeatures/Enhanced-Enum/grammar_A01_t01.dart b/LanguageFeatures/Enhanced-Enum/grammar_A01_t01.dart
index d7e21c1..55db6ea 100644
--- a/LanguageFeatures/Enhanced-Enum/grammar_A01_t01.dart
+++ b/LanguageFeatures/Enhanced-Enum/grammar_A01_t01.dart
@@ -39,7 +39,7 @@
main() {
Time1 t1 = Time1.week;
- Expect.equals(t1.week, Time1.week);
+ Expect.equals(t1, Time1.week);
Time2 t2 = Time2.week;
- Expect.equals(t2.week, Time2.week);
+ Expect.equals(t2, Time2.week);
}
diff --git a/LanguageFeatures/Enhanced-Enum/grammar_A04_t01.dart b/LanguageFeatures/Enhanced-Enum/grammar_A04_t01.dart
index c4782cd..2cb588f 100644
--- a/LanguageFeatures/Enhanced-Enum/grammar_A04_t01.dart
+++ b/LanguageFeatures/Enhanced-Enum/grammar_A04_t01.dart
@@ -29,6 +29,7 @@
@A() e2(),
@A() e3<int>.named(42);
+ const E();
const E.named(int x);
}
diff --git a/LanguageFeatures/Enhanced-Enum/grammar_A09_t01.dart b/LanguageFeatures/Enhanced-Enum/grammar_A09_t01.dart
index 716c27e..50ebffc 100644
--- a/LanguageFeatures/Enhanced-Enum/grammar_A09_t01.dart
+++ b/LanguageFeatures/Enhanced-Enum/grammar_A09_t01.dart
@@ -40,7 +40,9 @@
e2(2),
e3(3);
- const E3(int i);
+ final int i;
+
+ const E3(this.i);
int call() => i;
}
diff --git a/LanguageFeatures/Enhanced-Enum/grammar_A09_t04.dart b/LanguageFeatures/Enhanced-Enum/grammar_A09_t04.dart
index 2483f22..f93b86d 100644
--- a/LanguageFeatures/Enhanced-Enum/grammar_A09_t04.dart
+++ b/LanguageFeatures/Enhanced-Enum/grammar_A09_t04.dart
@@ -29,11 +29,12 @@
enum E2<T> {
e1<int>(1),
- e2<String>(2),
- e3<bool>(3);
+ e2<String>("2"),
+ e3<bool>(true);
- const E3(int i);
- int call(T t) => i;
+ final T _t;
+ const E2(T t) : this.t = _t;
+ int call(T t) => _t;
}
main() {
@@ -41,6 +42,6 @@
Expect.equals("", E1.e2(""));
Expect.equals(false, E1.e3(false));
Expect.equals(1, E2.e1(42));
- Expect.equals(2, E2.e2("Lily was here"));
- Expect.equals(3, E2.e3(true));
+ Expect.equals("2", E2.e2("42"));
+ Expect.equals(true, E2.e3(false));
}
diff --git a/LanguageFeatures/Enhanced-Enum/semantics_A03_t02.dart b/LanguageFeatures/Enhanced-Enum/semantics_A03_t02.dart
index e14492c..49b3be6 100644
--- a/LanguageFeatures/Enhanced-Enum/semantics_A03_t02.dart
+++ b/LanguageFeatures/Enhanced-Enum/semantics_A03_t02.dart
@@ -45,17 +45,18 @@
final int val1;
final int val2;
- E(int v1, int v2) {
- val1 = super.mixedInMethod1(v1);
- val2 = super.mixedInMethod2(v2);
+ const E(this.val1, this.val2);
+
+ int get test1 => super.mixedInMethod1(val1);
+ int get test2 => super.mixedInMethod2(val2);
}
}
main() {
- Expect.equals(1, E.e1.val1);
- Expect.equals(1, E.e1.val2);
- Expect.equals(2, E.e2.val1);
- Expect.equals(3, E.e2.val2);
- Expect.equals(3, E.e3.val1);
- Expect.equals(5, E.e3.val2);
+ Expect.equals(1, E.e1.test1);
+ Expect.equals(1, E.e1.test2);
+ Expect.equals(2, E.e2.test1);
+ Expect.equals(3, E.e2.test2);
+ Expect.equals(3, E.e3.test1);
+ Expect.equals(5, E.e3.test2);
}