[dart2js] Remove `Symbol.validated`.

Bug: https://github.com/dart-lang/sdk/issues/46397
Fixes: https://github.com/dart-lang/sdk/issues/46397
Change-Id: I307f486deb7afe72c347bfeb6779cb9389d1ff13
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/204601
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Mayank Patke <fishythefish@google.com>
diff --git a/pkg/compiler/lib/src/common_elements.dart b/pkg/compiler/lib/src/common_elements.dart
index 91d8067..adbf857 100644
--- a/pkg/compiler/lib/src/common_elements.dart
+++ b/pkg/compiler/lib/src/common_elements.dart
@@ -518,8 +518,6 @@
 
   InterfaceType get externalNameType;
 
-  ConstructorEntity get symbolValidatedConstructor;
-
   // From dart:_js_embedded_names
 
   /// Holds the class for the [JsGetName] enum.
@@ -571,8 +569,6 @@
 
   bool isCreateInvocationMirrorHelper(MemberEntity member);
 
-  bool isSymbolValidatedConstructor(ConstructorEntity element);
-
   ClassEntity get metaNoInlineClass;
 
   ClassEntity get metaTryInlineClass;
@@ -2073,11 +2069,6 @@
   @override
   InterfaceType get externalNameType => _getRawType(externalNameClass);
 
-  @override
-  ConstructorEntity get symbolValidatedConstructor =>
-      _symbolValidatedConstructor ??=
-          _findConstructor(symbolImplementationClass, 'validated');
-
   /// Returns the field that holds the internal name in the implementation class
   /// for `Symbol`.
   FieldEntity _symbolImplementationField;
@@ -2085,15 +2076,6 @@
       _env.lookupLocalClassMember(symbolImplementationClass, '_name',
           required: true);
 
-  ConstructorEntity _symbolValidatedConstructor;
-  @override
-  bool isSymbolValidatedConstructor(ConstructorEntity element) {
-    if (_symbolValidatedConstructor != null) {
-      return element == _symbolValidatedConstructor;
-    }
-    return false;
-  }
-
   // From dart:_native_typed_data
 
   ClassEntity _typedArrayOfIntClass;
diff --git a/pkg/compiler/lib/src/js_backend/backend_impact.dart b/pkg/compiler/lib/src/js_backend/backend_impact.dart
index e1de963..d50ddc1b 100644
--- a/pkg/compiler/lib/src/js_backend/backend_impact.dart
+++ b/pkg/compiler/lib/src/js_backend/backend_impact.dart
@@ -299,13 +299,6 @@
         constantMapLiteral
       ]);
 
-  BackendImpact _symbolConstructor;
-
-  BackendImpact get symbolConstructor {
-    return _symbolConstructor ??= new BackendImpact(
-        staticUses: [_commonElements.symbolValidatedConstructor]);
-  }
-
   BackendImpact _constSymbol;
 
   BackendImpact get constSymbol {
diff --git a/pkg/compiler/lib/src/js_backend/backend_usage.dart b/pkg/compiler/lib/src/js_backend/backend_usage.dart
index ad3877c..6b3e73c 100644
--- a/pkg/compiler/lib/src/js_backend/backend_usage.dart
+++ b/pkg/compiler/lib/src/js_backend/backend_usage.dart
@@ -164,8 +164,7 @@
   bool _isValidEntity(Entity element) {
     if (element is ConstructorEntity &&
         (element == _commonElements.streamIteratorConstructor ||
-            _commonElements.isSymbolConstructor(element) ||
-            _commonElements.isSymbolValidatedConstructor(element))) {
+            _commonElements.isSymbolConstructor(element))) {
       // TODO(johnniwinther): These are valid but we could be more precise.
       return true;
     } else if (element == _commonElements.symbolImplementationClass ||
diff --git a/pkg/compiler/lib/src/js_backend/impact_transformer.dart b/pkg/compiler/lib/src/js_backend/impact_transformer.dart
index 9596fd0..c57ab1c 100644
--- a/pkg/compiler/lib/src/js_backend/impact_transformer.dart
+++ b/pkg/compiler/lib/src/js_backend/impact_transformer.dart
@@ -114,9 +114,6 @@
         case Feature.SUPER_NO_SUCH_METHOD:
           registerImpact(_impacts.superNoSuchMethod);
           break;
-        case Feature.SYMBOL_CONSTRUCTOR:
-          registerImpact(_impacts.symbolConstructor);
-          break;
         case Feature.SYNC_FOR_IN:
           registerImpact(_impacts.syncForIn);
           break;
diff --git a/pkg/compiler/lib/src/kernel/kernel_impact.dart b/pkg/compiler/lib/src/kernel/kernel_impact.dart
index bd6095b..508b578 100644
--- a/pkg/compiler/lib/src/kernel/kernel_impact.dart
+++ b/pkg/compiler/lib/src/kernel/kernel_impact.dart
@@ -340,10 +340,6 @@
       impactBuilder.registerFeature(Feature.TYPE_VARIABLE_BOUNDS_CHECK);
     }
 
-    if (commonElements.isSymbolConstructor(constructor)) {
-      impactBuilder.registerFeature(Feature.SYMBOL_CONSTRUCTOR);
-    }
-
     if (target.isExternal &&
         constructor.isFromEnvironmentConstructor &&
         !isConst) {
diff --git a/pkg/compiler/lib/src/ssa/builder_kernel.dart b/pkg/compiler/lib/src/ssa/builder_kernel.dart
index 56c3746..ad8f434 100644
--- a/pkg/compiler/lib/src/ssa/builder_kernel.dart
+++ b/pkg/compiler/lib/src/ssa/builder_kernel.dart
@@ -5546,9 +5546,6 @@
             node.arguments,
             typeArguments,
             sourceInformation));
-    if (_commonElements.isSymbolConstructor(constructor)) {
-      constructor = _commonElements.symbolValidatedConstructor;
-    }
     // TODO(johnniwinther): Remove this when type arguments are passed to
     // constructors like calling a generic method.
     _addTypeArguments(arguments, _getClassTypeArguments(cls, node.arguments),
diff --git a/pkg/compiler/lib/src/universe/feature.dart b/pkg/compiler/lib/src/universe/feature.dart
index f907c36..8d8d9ba 100644
--- a/pkg/compiler/lib/src/universe/feature.dart
+++ b/pkg/compiler/lib/src/universe/feature.dart
@@ -62,9 +62,6 @@
   /// super method.
   SUPER_NO_SUCH_METHOD,
 
-  /// A redirection to the `Symbol` constructor.
-  SYMBOL_CONSTRUCTOR,
-
   /// An synchronous for in statement, like `for (var e in i) {}`.
   SYNC_FOR_IN,
 
diff --git a/sdk/lib/internal/symbol.dart b/sdk/lib/internal/symbol.dart
index c65e5e8..718ac68 100644
--- a/sdk/lib/internal/symbol.dart
+++ b/sdk/lib/internal/symbol.dart
@@ -106,9 +106,6 @@
    */
   const Symbol.unvalidated(this._name);
 
-  // This is called by dart2js.
-  Symbol.validated(String name) : this._name = validatePublicSymbol(name);
-
   bool operator ==(Object other) => other is Symbol && _name == other._name;
 
   external int get hashCode;