[dart2js] Remove old-rti substitution property from namer

Change-Id: I696220cba191b5df4ffd14abd62a718708366f7f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/195308
Commit-Queue: Stephen Adams <sra@google.com>
Reviewed-by: Joshua Litt <joshualitt@google.com>
This commit is contained in:
Stephen Adams 2021-04-15 04:46:56 +00:00 committed by commit-bot@chromium.org
parent 3c59708054
commit 813019a9c5
4 changed files with 6 additions and 44 deletions

View file

@ -554,9 +554,6 @@ class CodegenResult {
case ModularNameKind.operatorIsType:
name.value = namer.operatorIsType(name.data);
break;
case ModularNameKind.substitution:
name.value = namer.substitutionName(name.data);
break;
case ModularNameKind.instanceMethod:
name.value = namer.instanceMethodName(name.data);
break;
@ -630,7 +627,6 @@ enum ModularNameKind {
methodProperty,
operatorIs,
operatorIsType,
substitution,
instanceMethod,
instanceField,
invocation,
@ -666,7 +662,6 @@ class ModularName extends js.Name implements js.AstContainer {
case ModularNameKind.runtimeTypeName:
case ModularNameKind.className:
case ModularNameKind.operatorIs:
case ModularNameKind.substitution:
case ModularNameKind.globalPropertyNameForClass:
data = source.readClass();
break;
@ -713,7 +708,6 @@ class ModularName extends js.Name implements js.AstContainer {
case ModularNameKind.runtimeTypeName:
case ModularNameKind.className:
case ModularNameKind.operatorIs:
case ModularNameKind.substitution:
case ModularNameKind.globalPropertyNameForClass:
sink.writeClass(data);
break;

View file

@ -1201,10 +1201,10 @@ class Namer extends ModularNamer {
return new StringBackedName(candidate);
}
/// Returns a variant of [name] that cannot clash with the annotated
/// version of another name, that is, the resulting name can never be returned
/// by [deriveGetterName], [deriveSetterName], [deriveCallMethodName],
/// [operatorIs], or [substitutionName].
/// Returns a variant of [name] that cannot clash with the annotated version
/// of another name, that is, the resulting name can never be returned by
/// [deriveGetterName], [deriveSetterName], [deriveCallMethodName], or
/// [operatorIs].
///
/// For example, a name `get$x` would be converted to `$get$x` to ensure it
/// cannot clash with the getter for `x`.
@ -1538,14 +1538,6 @@ class Namer extends ModularNamer {
return name;
}
@override
jsAst.Name substitutionName(ClassEntity element) {
return new CompoundName([
new StringBackedName(fixedNames.operatorAsPrefix),
runtimeTypeName(element)
]);
}
@override
jsAst.Name asName(String name) {
if (name.startsWith(fixedNames.getterPrefix) &&
@ -2262,7 +2254,6 @@ class FixedNames {
String get defaultValuesField => r'$defaultValues';
String get deferredAction => r'$deferredAction';
String get operatorIsPrefix => r'$is';
String get operatorAsPrefix => r'$as';
String get operatorSignature => r'$signature';
String get requiredParameterField => r'$requiredArgCount';
String get rtiName => r'$ti';
@ -2283,8 +2274,6 @@ class MinifiedFixedNames extends FixedNames {
@override
String get operatorIsPrefix => r'$i';
@override
String get operatorAsPrefix => r'$a';
@override
String get callCatchAllName => r'$C';
@override
String get requiredParameterField => r'$R';
@ -2408,9 +2397,8 @@ abstract class ModularNamer {
/// for the given type.
///
/// The result is not always safe as a property name unless prefixing
/// [operatorIsPrefix] or [operatorAsPrefix]. If this is a function type,
/// then by convention, an underscore must also separate [operatorIsPrefix]
/// from the type name.
/// [operatorIsPrefix]. If this is a function type, then by convention, an
/// underscore must also separate [operatorIsPrefix] from the type name.
jsAst.Name runtimeTypeName(Entity element);
/// Property name in which to store the given static or instance [method].
@ -2428,10 +2416,6 @@ abstract class ModularNamer {
/// Return the name of the `isX` property for classes that implement [type].
jsAst.Name operatorIsType(DartType type);
/// Returns the name of the `asX` function for classes that implement the
/// generic class [element].
jsAst.Name substitutionName(ClassEntity element);
/// Returns the name of the lazy initializer for the static field [element].
jsAst.Name lazyInitializerName(FieldEntity element);
@ -2563,8 +2547,6 @@ abstract class ModularNamer {
return asName(fixedNames.callNameField);
case JsGetName.DEFERRED_ACTION_PROPERTY:
return asName(fixedNames.deferredAction);
case JsGetName.OPERATOR_AS_PREFIX:
return asName(fixedNames.operatorAsPrefix);
case JsGetName.OPERATOR_IS_PREFIX:
return asName(fixedNames.operatorIsPrefix);
case JsGetName.SIGNATURE_NAME:
@ -2775,12 +2757,4 @@ class ModularNamerImpl extends ModularNamer {
_registry.registerModularName(name);
return name;
}
@override
jsAst.Name substitutionName(ClassEntity element) {
jsAst.Name name =
new ModularName(ModularNameKind.substitution, data: element);
_registry.registerModularName(name);
return name;
}
}

View file

@ -201,9 +201,6 @@ enum JsGetName {
CALL_NAME_PROPERTY,
DEFERRED_ACTION_PROPERTY,
/// Prefix used for generated type argument substitutions on classes.
OPERATOR_AS_PREFIX,
/// Prefix used for generated type test property on classes.
OPERATOR_IS_PREFIX,

View file

@ -201,9 +201,6 @@ enum JsGetName {
CALL_NAME_PROPERTY,
DEFERRED_ACTION_PROPERTY,
/// Prefix used for generated type argument substitutions on classes.
OPERATOR_AS_PREFIX,
/// Prefix used for generated type test property on classes.
OPERATOR_IS_PREFIX,