Version 2.17.0-137.0.dev

Merge commit '46daf0fbd10fb3e06a690f11ce7abd2788bd3361' into 'dev'
diff --git a/tests/language/enum/enhanced_enums_basic_test.dart b/tests/language/enum/enhanced_enums_basic_test.dart
index 07f65d0..fee42e2 100644
--- a/tests/language/enum/enhanced_enums_basic_test.dart
+++ b/tests/language/enum/enhanced_enums_basic_test.dart
@@ -84,8 +84,8 @@
   EnumAll.staticGetSet = EnumAll.v5;
   Expect.equals(42, EnumAll.staticMethod());
 
-  Expect.identical(EnumAll.v2, EnumAll<num, num>.factory(2));
-  Expect.identical(EnumAll.v2, EnumAll<num, num>.refactory(2));
+  Expect.identical(EnumAll.v3, EnumAll<num, num>.factory(2));
+  Expect.identical(EnumAll.v3, EnumAll<num, num>.refactory(2));
 
   // Access static members through typedef.
   Expect.identical(EnumAll.v3, TypeDefAll.sConst);
@@ -97,14 +97,14 @@
   TypeDefAll.staticGetSet = EnumAll.v5;
   Expect.equals(42, TypeDefAll.staticMethod());
 
-  Expect.identical(EnumAll.v2, TypeDefAll.factory(2));
-  Expect.identical(EnumAll.v2, TypeDefAll.refactory(2));
+  Expect.identical(EnumAll.v3, TypeDefAll.factory(2));
+  Expect.identical(EnumAll.v3, TypeDefAll.refactory(2));
 
   // Access instance members.
   Expect.equals(0, EnumAll.v1.instanceGetSet);
   EnumAll.v1.instanceGetSet = 0.5;
   Expect.equals(0, EnumAll.v1.instanceMethod());
-  Expect.identical(EnumAll.v1, EnumAll.v3 ^ EnumAll.v2);
+  Expect.identical(EnumAll.v4, EnumAll.v3 ^ EnumAll.v2);
 
   Expect.equals("EnumAll.v1:EnumMixin<num>:ObjectMixin:this",
       EnumAll.v1.thisAndSuper());
@@ -127,16 +127,17 @@
   // But you can call extension members if there is no conflict.
   Expect.equals("extension", EnumAll.v1.extension);
 
-  // The `index` and `toString` implementations are inherited from
-  // the `Enum` implementing superclass.
-  Expect.equals(0, StringIndexEnum.v1.index);
-  Expect.equals(1, StringIndexEnum.v2.index);
-  Expect.equals(0, StringIndexEnum.v1.superIndex);
-  Expect.equals(1, StringIndexEnum.v2.superIndex);
-  Expect.equals("FakeString", StringIndexEnum.v1.toString());
-  Expect.equals("FakeString", StringIndexEnum.v2.toString());
-  Expect.equals("StringIndexEnum.v1", StringIndexEnum.v1.realToString());
-  Expect.equals("StringIndexEnum.v2", StringIndexEnum.v2.realToString());
+  // The `index` implementation is inherited from the `Enum` implementing
+  // superclass, and the `toString` implementation is overridden, but
+  // available via `realToString`.
+  Expect.equals(0, OverrideEnum.v1.index);
+  Expect.equals(1, OverrideEnum.v2.index);
+  Expect.equals(0, OverrideEnum.v1.superIndex);
+  Expect.equals(1, OverrideEnum.v2.superIndex);
+  Expect.equals("FakeString", OverrideEnum.v1.toString());
+  Expect.equals("FakeString", OverrideEnum.v2.toString());
+  Expect.equals("OverrideEnum.v1", OverrideEnum.v1.realToString());
+  Expect.equals("OverrideEnum.v2", OverrideEnum.v2.realToString());
 
   // Enum elements are always distinct, even if their state doesn't differ.
   Expect.notIdentical(Canonical.v1, Canonical.v2, "Canonical - type only");
@@ -307,7 +308,7 @@
 }
 
 // Both `toString` and `index` are inherited from superclass.
-enum StringIndexEnum {
+enum OverrideEnum {
   v1, v2;
   // Cannot override index
   int get superIndex => super.index;
diff --git a/tools/VERSION b/tools/VERSION
index 5e3c2a5..2889eb3 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
 MAJOR 2
 MINOR 17
 PATCH 0
-PRERELEASE 136
+PRERELEASE 137
 PRERELEASE_PATCH 0
\ No newline at end of file