Skip to content

Commit de63b83

Browse files
scheglovcommit-bot@chromium.org
authored andcommitted
Remove TypeParameterSerializationContext.
Change-Id: I491eb58ebac00cddb3112bcfafa51d39cda1788e Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122302 Reviewed-by: Samuel Rawlins <srawlins@google.com> Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
1 parent bf9cef0 commit de63b83

File tree

1 file changed

+3
-108
lines changed

1 file changed

+3
-108
lines changed

pkg/analyzer/lib/src/dart/element/element.dart

Lines changed: 3 additions & 108 deletions
Original file line numberDiff line numberDiff line change
@@ -570,9 +570,6 @@ class ClassElementImpl extends AbstractClassElementImpl
570570
return super.documentationComment;
571571
}
572572

573-
@override
574-
TypeParameterizedElementMixin get enclosingTypeParameterContext => null;
575-
576573
@override
577574
List<FieldElement> get fields {
578575
if (_fields != null) return _fields;
@@ -879,7 +876,7 @@ class ClassElementImpl extends AbstractClassElementImpl
879876
InterfaceType get type {
880877
if (_type == null) {
881878
InterfaceTypeImpl type = new InterfaceTypeImpl(this);
882-
type.typeArguments = typeParameterTypes;
879+
type.typeArguments = typeParameters.map((e) => e.type).toList();
883880
_type = type;
884881
}
885882
return _type;
@@ -2059,10 +2056,6 @@ class ConstructorElementImpl extends ExecutableElementImpl
20592056
ClassElementImpl get enclosingElement =>
20602057
super.enclosingElement as ClassElementImpl;
20612058

2062-
@override
2063-
TypeParameterizedElementMixin get enclosingTypeParameterContext =>
2064-
super.enclosingElement as ClassElementImpl;
2065-
20662059
/// Set whether this constructor represents a factory method.
20672060
void set factory(bool isFactory) {
20682061
setModifier(Modifier.FACTORY, isFactory);
@@ -4069,9 +4062,6 @@ class ExtensionElementImpl extends ElementImpl
40694062
return super.documentationComment;
40704063
}
40714064

4072-
@override
4073-
TypeParameterizedElementMixin get enclosingTypeParameterContext => null;
4074-
40754065
@override
40764066
DartType get extendedType {
40774067
if (_extendedType != null) return _extendedType;
@@ -4506,11 +4496,6 @@ class FunctionElementImpl extends ExecutableElementImpl
45064496
return super.displayName;
45074497
}
45084498

4509-
@override
4510-
TypeParameterizedElementMixin get enclosingTypeParameterContext {
4511-
return (enclosingElement as ElementImpl).typeParameterContext;
4512-
}
4513-
45144499
@override
45154500
String get identifier {
45164501
String identifier = super.identifier;
@@ -4565,17 +4550,9 @@ class FunctionElementImpl_forFunctionTypedParameter
45654550
@override
45664551
final CompilationUnitElementImpl enclosingUnit;
45674552

4568-
/// The enclosing function typed [ParameterElementImpl].
4569-
final ParameterElementImpl _parameter;
4570-
4571-
FunctionElementImpl_forFunctionTypedParameter(
4572-
this.enclosingUnit, this._parameter)
4553+
FunctionElementImpl_forFunctionTypedParameter(this.enclosingUnit)
45734554
: super('', -1);
45744555

4575-
@override
4576-
TypeParameterizedElementMixin get enclosingTypeParameterContext =>
4577-
_parameter.typeParameterContext;
4578-
45794556
@override
45804557
bool get isSynthetic => true;
45814558
}
@@ -4612,11 +4589,6 @@ class GenericFunctionTypeElementImpl extends ElementImpl
46124589
GenericFunctionTypeElementImpl.forOffset(int nameOffset)
46134590
: super("", nameOffset);
46144591

4615-
@override
4616-
TypeParameterizedElementMixin get enclosingTypeParameterContext {
4617-
return _enclosingElement.typeParameterContext;
4618-
}
4619-
46204592
@override
46214593
String get identifier => '-';
46224594

@@ -4808,9 +4780,6 @@ class GenericTypeAliasElementImpl extends ElementImpl
48084780
CompilationUnitElement get enclosingElement =>
48094781
super.enclosingElement as CompilationUnitElement;
48104782

4811-
@override
4812-
TypeParameterizedElementMixin get enclosingTypeParameterContext => null;
4813-
48144783
@override
48154784
CompilationUnitElementImpl get enclosingUnit =>
48164785
_enclosingElement as CompilationUnitElementImpl;
@@ -5950,10 +5919,6 @@ class MethodElementImpl extends ExecutableElementImpl implements MethodElement {
59505919
return displayName;
59515920
}
59525921

5953-
@override
5954-
TypeParameterizedElementMixin get enclosingTypeParameterContext =>
5955-
super.enclosingElement as TypeParameterizedElementMixin;
5956-
59575922
/// Set whether this class is abstract.
59585923
void set isAbstract(bool isAbstract) {
59595924
setModifier(Modifier.ABSTRACT, isAbstract);
@@ -6444,9 +6409,6 @@ class MultiplyInheritedPropertyAccessorElementImpl
64446409
isSynthetic = true;
64456410
}
64466411

6447-
@override
6448-
TypeParameterizedElementMixin get enclosingTypeParameterContext => null;
6449-
64506412
@override
64516413
List<ExecutableElement> get inheritedElements => _elements;
64526414

@@ -7184,11 +7146,6 @@ class PropertyAccessorElementImpl extends ExecutableElementImpl
71847146
return variable.setter;
71857147
}
71867148

7187-
@override
7188-
TypeParameterizedElementMixin get enclosingTypeParameterContext {
7189-
return (enclosingElement as ElementImpl).typeParameterContext;
7190-
}
7191-
71927149
/// Set whether this accessor is a getter.
71937150
void set getter(bool isGetter) {
71947151
setModifier(Modifier.GETTER, isGetter);
@@ -7716,28 +7673,15 @@ class TypeParameterElementImpl extends ElementImpl
77167673

77177674
/// Mixin representing an element which can have type parameters.
77187675
mixin TypeParameterizedElementMixin
7719-
implements
7720-
TypeParameterizedElement,
7721-
ElementImpl,
7722-
TypeParameterSerializationContext {
7676+
implements TypeParameterizedElement, ElementImpl {
77237677
/// A cached list containing the type parameters declared by this element
77247678
/// directly, or `null` if the elements have not been created yet. This does
77257679
/// not include type parameters that are declared by any enclosing elements.
77267680
List<TypeParameterElement> _typeParameterElements;
77277681

7728-
/// A cached list containing the type parameter types declared by this element
7729-
/// directly, or `null` if the list has not been computed yet.
7730-
List<TypeParameterType> _typeParameterTypes;
7731-
7732-
/// Get the type parameter context enclosing this one, if any.
7733-
TypeParameterizedElementMixin get enclosingTypeParameterContext;
7734-
77357682
@override
77367683
bool get isSimplyBounded => true;
77377684

7738-
@override
7739-
TypeParameterizedElementMixin get typeParameterContext => this;
7740-
77417685
@override
77427686
List<TypeParameterElement> get typeParameters {
77437687
if (_typeParameterElements != null) return _typeParameterElements;
@@ -7760,55 +7704,6 @@ mixin TypeParameterizedElementMixin
77607704

77617705
return _typeParameterElements ?? const <TypeParameterElement>[];
77627706
}
7763-
7764-
/// Get a list of [TypeParameterType] objects corresponding to the
7765-
/// element's type parameters.
7766-
List<TypeParameterType> get typeParameterTypes {
7767-
return _typeParameterTypes ??= typeParameters
7768-
.map((TypeParameterElement e) =>
7769-
e.instantiate(nullabilitySuffix: NullabilitySuffix.star))
7770-
.toList(growable: false);
7771-
}
7772-
7773-
@override
7774-
int computeDeBruijnIndex(TypeParameterElement typeParameter,
7775-
{int offset = 0}) {
7776-
if (typeParameter.enclosingElement == this) {
7777-
var index = typeParameters.indexOf(typeParameter);
7778-
assert(index >= 0);
7779-
return typeParameters.length - index + offset;
7780-
} else if (enclosingTypeParameterContext != null) {
7781-
return enclosingTypeParameterContext.computeDeBruijnIndex(typeParameter,
7782-
offset: offset + typeParameters.length);
7783-
} else {
7784-
return null;
7785-
}
7786-
}
7787-
7788-
/// Convert the given [index] into a type parameter type.
7789-
TypeParameterType getTypeParameterType(int index) {
7790-
List<TypeParameterType> types = typeParameterTypes;
7791-
if (index <= types.length) {
7792-
return types[types.length - index];
7793-
} else if (enclosingTypeParameterContext != null) {
7794-
return enclosingTypeParameterContext
7795-
.getTypeParameterType(index - types.length);
7796-
} else {
7797-
// If we get here, it means that a summary contained a type parameter
7798-
// index that was out of range.
7799-
throw new RangeError('Invalid type parameter index');
7800-
}
7801-
}
7802-
}
7803-
7804-
/// Interface used by linker serialization methods to convert type parameter
7805-
/// references into De Bruijn indices.
7806-
abstract class TypeParameterSerializationContext {
7807-
/// Return the given [typeParameter]'s de Bruijn index in this context, or
7808-
/// `null` if it's not in scope.
7809-
///
7810-
/// If an [offset] is provided, then it is added to the computed index.
7811-
int computeDeBruijnIndex(TypeParameterElement typeParameter, {int offset: 0});
78127707
}
78137708

78147709
/// Container with information about explicit top-level property accessors and

0 commit comments

Comments
 (0)