[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;