[vm] Cleanup Dart 1 code in ClassFinalizer::AllocateEnumValues

Change-Id: Ifb3592d2bf71eab94fe294c829983578cb919328
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/105120
Reviewed-by: RĂ©gis Crelier <regis@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
diff --git a/runtime/vm/class_finalizer.cc b/runtime/vm/class_finalizer.cc
index 18173a7..de01207 100644
--- a/runtime/vm/class_finalizer.cc
+++ b/runtime/vm/class_finalizer.cc
@@ -1243,75 +1243,31 @@
                                       ->object_store()
                                       ->pending_unevaluated_const_fields());
 
-  if (enum_cls.kernel_offset() > 0) {
-    Error& error = Error::Handle(zone);
-    for (intptr_t i = 0; i < fields.Length(); i++) {
-      field = Field::RawCast(fields.At(i));
-      if (!field.is_static() || !field.is_const() ||
-          (sentinel.raw() == field.raw())) {
-        continue;
-      }
-      // The eager evaluation of the enum values is required for hot-reload (see
-      // commit e3ecc87). However, while busy loading the constant table, we
-      // need to postpone this evaluation until table is done.
-      if (!FLAG_precompiled_mode) {
-        if (field.IsUninitialized()) {
-          if (pending_unevaluated_const_fields.IsNull()) {
-            // Evaluate right away.
-            error = field.Initialize();
-            if (!error.IsNull()) {
-              ReportError(error);
-            }
-          } else {
-            // Postpone evaluation until we have a constant table.
-            pending_unevaluated_const_fields.Add(field);
+  ASSERT(enum_cls.kernel_offset() > 0);
+  Error& error = Error::Handle(zone);
+  for (intptr_t i = 0; i < fields.Length(); i++) {
+    field = Field::RawCast(fields.At(i));
+    if (!field.is_static() || !field.is_const() ||
+        (sentinel.raw() == field.raw())) {
+      continue;
+    }
+    // The eager evaluation of the enum values is required for hot-reload (see
+    // commit e3ecc87). However, while busy loading the constant table, we
+    // need to postpone this evaluation until table is done.
+    if (!FLAG_precompiled_mode) {
+      if (field.IsUninitialized()) {
+        if (pending_unevaluated_const_fields.IsNull()) {
+          // Evaluate right away.
+          error = field.Initialize();
+          if (!error.IsNull()) {
+            ReportError(error);
           }
+        } else {
+          // Postpone evaluation until we have a constant table.
+          pending_unevaluated_const_fields.Add(field);
         }
       }
     }
-  } else {
-    const String& name_prefix =
-        String::Handle(String::Concat(enum_name, Symbols::Dot()));
-    Instance& ordinal_value = Instance::Handle(zone);
-    Array& values_list = Array::Handle(zone);
-    const Field& values_field =
-        Field::Handle(zone, enum_cls.LookupStaticField(Symbols::Values()));
-    ASSERT(!values_field.IsNull());
-    ASSERT(Instance::Handle(zone, values_field.StaticValue()).IsArray());
-    values_list = Array::RawCast(values_field.StaticValue());
-    const Array& fields = Array::Handle(zone, enum_cls.fields());
-    for (intptr_t i = 0; i < fields.Length(); i++) {
-      field = Field::RawCast(fields.At(i));
-      if (!field.is_static()) continue;
-      ordinal_value = field.StaticValue();
-      // The static fields that need to be initialized with enum instances
-      // contain the smi value of the ordinal number, which was stored in
-      // the field by the parser. Other fields contain non-smi values.
-      if (!ordinal_value.IsSmi()) continue;
-      enum_ident = field.name();
-      // Construct the string returned by toString.
-      ASSERT(!enum_ident.IsNull());
-      // For the user-visible name of the enumeration value, we need to
-      // unmangle private names.
-      if (enum_ident.CharAt(0) == '_') {
-        enum_ident = String::ScrubName(enum_ident);
-      }
-      enum_ident = Symbols::FromConcat(thread, name_prefix, enum_ident);
-      enum_value = Instance::New(enum_cls, Heap::kOld);
-      enum_value.SetField(index_field, ordinal_value);
-      enum_value.SetField(name_field, enum_ident);
-      enum_value = enum_value.CheckAndCanonicalize(thread, &error_msg);
-      ASSERT(!enum_value.IsNull());
-      ASSERT(enum_value.IsCanonical());
-      field.SetStaticValue(enum_value, true);
-      field.RecordStore(enum_value);
-      intptr_t ord = Smi::Cast(ordinal_value).Value();
-      ASSERT(ord < values_list.Length());
-      values_list.SetAt(ord, enum_value);
-    }
-    values_list.MakeImmutable();
-    values_list ^= values_list.CheckAndCanonicalize(thread, &error_msg);
-    ASSERT(!values_list.IsNull());
   }
 }