Rename TypeNameImpl to NamedTypeImpl.

Change-Id: I97a0ffe8ba7271aa51355abb27294b13450cb917
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/215946
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
This commit is contained in:
Konstantin Shcheglov
2021-10-07 04:15:44 +00:00
committed by commit-bot@chromium.org
parent 85bfe9aca0
commit 0aeaa80a6d
11 changed files with 121 additions and 121 deletions
+92 -92
View File
@@ -1644,7 +1644,7 @@ class ClassTypeAliasImpl extends TypeAliasImpl implements ClassTypeAlias {
Token? abstractKeyword;
/// The name of the superclass of the class being declared.
TypeNameImpl _superclass;
NamedTypeImpl _superclass;
/// The with clause for this class.
WithClauseImpl _withClause;
@@ -1711,14 +1711,14 @@ class ClassTypeAliasImpl extends TypeAliasImpl implements ClassTypeAlias {
@Deprecated('Use superclass2 instead')
@override
TypeNameImpl get superclass => _superclass;
NamedTypeImpl get superclass => _superclass;
set superclass(NamedType superclass) {
_superclass = _becomeParentOf(superclass as TypeNameImpl);
_superclass = _becomeParentOf(superclass as NamedTypeImpl);
}
@override
TypeNameImpl get superclass2 => _superclass;
NamedTypeImpl get superclass2 => _superclass;
@override
TypeParameterListImpl? get typeParameters => _typeParameters;
@@ -2594,7 +2594,7 @@ abstract class ConstructorInitializerImpl extends AstNodeImpl
/// type ('.' identifier)?
class ConstructorNameImpl extends AstNodeImpl implements ConstructorName {
/// The name of the type defining the constructor.
TypeNameImpl _type;
NamedTypeImpl _type;
/// The token for the period before the constructor name, or `null` if the
/// specified constructor is the unnamed constructor.
@@ -2644,14 +2644,14 @@ class ConstructorNameImpl extends AstNodeImpl implements ConstructorName {
@Deprecated('Use type2 instead')
@override
TypeNameImpl get type => _type;
NamedTypeImpl get type => _type;
set type(NamedType type) {
_type = _becomeParentOf(type as TypeNameImpl);
_type = _becomeParentOf(type as NamedTypeImpl);
}
@override
TypeNameImpl get type2 => _type;
NamedTypeImpl get type2 => _type;
@override
E? accept<E>(AstVisitor<E> visitor) => visitor.visitConstructorName(this);
@@ -3638,7 +3638,7 @@ class ExtendsClauseImpl extends AstNodeImpl implements ExtendsClause {
Token extendsKeyword;
/// The name of the class that is being extended.
TypeNameImpl _superclass;
NamedTypeImpl _superclass;
/// Initialize a newly created extends clause.
ExtendsClauseImpl(this.extendsKeyword, this._superclass) {
@@ -3658,14 +3658,14 @@ class ExtendsClauseImpl extends AstNodeImpl implements ExtendsClause {
@Deprecated('Use superclass2 instead')
@override
TypeNameImpl get superclass => _superclass;
NamedTypeImpl get superclass => _superclass;
set superclass(NamedType name) {
_superclass = _becomeParentOf(name as TypeNameImpl);
_superclass = _becomeParentOf(name as NamedTypeImpl);
}
@override
TypeNameImpl get superclass2 => _superclass;
NamedTypeImpl get superclass2 => _superclass;
@override
E? accept<E>(AstVisitor<E> visitor) => visitor.visitExtendsClause(this);
@@ -7378,6 +7378,82 @@ class NamedExpressionImpl extends ExpressionImpl implements NamedExpression {
}
}
/// The name of a type, which can optionally include type arguments.
///
/// typeName ::=
/// [Identifier] typeArguments? '?'?
/// ignore: deprecated_member_use_from_same_package
class NamedTypeImpl extends TypeAnnotationImpl implements TypeName {
/// The name of the type.
IdentifierImpl _name;
/// The type arguments associated with the type, or `null` if there are no
/// type arguments.
TypeArgumentListImpl? _typeArguments;
@override
Token? question;
/// The type being named, or `null` if the AST structure has not been
/// resolved, or if this is part of a [ConstructorReference].
@override
DartType? type;
/// Initialize a newly created type name. The [typeArguments] can be `null` if
/// there are no type arguments.
NamedTypeImpl(this._name, this._typeArguments, {this.question}) {
_becomeParentOf(_name);
_becomeParentOf(_typeArguments);
}
@override
Token get beginToken => _name.beginToken;
@override
Iterable<SyntacticEntity> get childEntities => ChildEntities()
..add(_name)
..add(_typeArguments)
..add(question);
@override
Token get endToken => question ?? _typeArguments?.endToken ?? _name.endToken;
@override
bool get isDeferred {
Identifier identifier = name;
if (identifier is! PrefixedIdentifier) {
return false;
}
return identifier.isDeferred;
}
@override
bool get isSynthetic => _name.isSynthetic && _typeArguments == null;
@override
IdentifierImpl get name => _name;
set name(Identifier identifier) {
_name = _becomeParentOf(identifier as IdentifierImpl);
}
@override
TypeArgumentListImpl? get typeArguments => _typeArguments;
set typeArguments(TypeArgumentList? typeArguments) {
_typeArguments = _becomeParentOf(typeArguments as TypeArgumentListImpl?);
}
@override
E? accept<E>(AstVisitor<E> visitor) => visitor.visitNamedType(this);
@override
void visitChildren(AstVisitor visitor) {
_name.accept(visitor);
_typeArguments?.accept(visitor);
}
}
/// A node that represents a directive that impacts the namespace of a library.
///
/// directive ::=
@@ -10215,7 +10291,7 @@ abstract class TypedLiteralImpl extends LiteralImpl implements TypedLiteral {
/// always be the type `Type`). To see the type represented by the type literal
/// use `.typeName.type`.
class TypeLiteralImpl extends ExpressionImpl implements TypeLiteral {
TypeNameImpl _typeName;
NamedTypeImpl _typeName;
TypeLiteralImpl(this._typeName) {
_becomeParentOf(_typeName);
@@ -10237,13 +10313,13 @@ class TypeLiteralImpl extends ExpressionImpl implements TypeLiteral {
: Precedence.postfix;
@override
TypeNameImpl get type => _typeName;
NamedTypeImpl get type => _typeName;
@Deprecated('Use namedType instead')
@override
TypeNameImpl get typeName => _typeName;
NamedTypeImpl get typeName => _typeName;
set typeName(TypeNameImpl value) {
set typeName(NamedTypeImpl value) {
_typeName = _becomeParentOf(value);
}
@@ -10256,82 +10332,6 @@ class TypeLiteralImpl extends ExpressionImpl implements TypeLiteral {
}
}
/// The name of a type, which can optionally include type arguments.
///
/// typeName ::=
/// [Identifier] typeArguments? '?'?
/// ignore: deprecated_member_use_from_same_package
class TypeNameImpl extends TypeAnnotationImpl implements TypeName {
/// The name of the type.
IdentifierImpl _name;
/// The type arguments associated with the type, or `null` if there are no
/// type arguments.
TypeArgumentListImpl? _typeArguments;
@override
Token? question;
/// The type being named, or `null` if the AST structure has not been
/// resolved, or if this is part of a [ConstructorReference].
@override
DartType? type;
/// Initialize a newly created type name. The [typeArguments] can be `null` if
/// there are no type arguments.
TypeNameImpl(this._name, this._typeArguments, {this.question}) {
_becomeParentOf(_name);
_becomeParentOf(_typeArguments);
}
@override
Token get beginToken => _name.beginToken;
@override
Iterable<SyntacticEntity> get childEntities => ChildEntities()
..add(_name)
..add(_typeArguments)
..add(question);
@override
Token get endToken => question ?? _typeArguments?.endToken ?? _name.endToken;
@override
bool get isDeferred {
Identifier identifier = name;
if (identifier is! PrefixedIdentifier) {
return false;
}
return identifier.isDeferred;
}
@override
bool get isSynthetic => _name.isSynthetic && _typeArguments == null;
@override
IdentifierImpl get name => _name;
set name(Identifier identifier) {
_name = _becomeParentOf(identifier as IdentifierImpl);
}
@override
TypeArgumentListImpl? get typeArguments => _typeArguments;
set typeArguments(TypeArgumentList? typeArguments) {
_typeArguments = _becomeParentOf(typeArguments as TypeArgumentListImpl?);
}
@override
E? accept<E>(AstVisitor<E> visitor) => visitor.visitNamedType(this);
@override
void visitChildren(AstVisitor visitor) {
_name.accept(visitor);
_typeArguments?.accept(visitor);
}
}
/// A type parameter.
///
/// typeParameter ::=
@@ -197,7 +197,7 @@ class AstFactoryImpl extends AstFactory {
typeParameters as TypeParameterListImpl?,
equals,
abstractKeyword,
superclass as TypeNameImpl,
superclass as NamedTypeImpl,
withClause as WithClauseImpl,
implementsClause as ImplementsClauseImpl?,
semicolon);
@@ -298,7 +298,7 @@ class AstFactoryImpl extends AstFactory {
ConstructorNameImpl constructorName(
NamedType type, Token? period, SimpleIdentifier? name) =>
ConstructorNameImpl(
type as TypeNameImpl, period, name as SimpleIdentifierImpl?);
type as NamedTypeImpl, period, name as SimpleIdentifierImpl?);
@override
ConstructorReferenceImpl constructorReference(
@@ -434,7 +434,7 @@ class AstFactoryImpl extends AstFactory {
@override
ExtendsClauseImpl extendsClause(Token extendsKeyword, NamedType superclass) =>
ExtendsClauseImpl(extendsKeyword, superclass as TypeNameImpl);
ExtendsClauseImpl(extendsKeyword, superclass as NamedTypeImpl);
@override
ExtensionDeclarationImpl extensionDeclaration(
@@ -980,12 +980,12 @@ class AstFactoryImpl extends AstFactory {
NamedExpressionImpl(name as LabelImpl, expression as ExpressionImpl);
@override
TypeNameImpl namedType({
NamedTypeImpl namedType({
required Identifier name,
TypeArgumentList? typeArguments,
Token? question,
}) =>
TypeNameImpl(
NamedTypeImpl(
name as IdentifierImpl, typeArguments as TypeArgumentListImpl?,
question: question);
@@ -1242,13 +1242,13 @@ class AstFactoryImpl extends AstFactory {
@override
TypeLiteralImpl typeLiteral({required NamedType typeName}) =>
TypeLiteralImpl(typeName as TypeNameImpl);
TypeLiteralImpl(typeName as NamedTypeImpl);
@Deprecated('Use namedType() instead')
@override
TypeNameImpl typeName(Identifier name, TypeArgumentList? typeArguments,
NamedTypeImpl typeName(Identifier name, TypeArgumentList? typeArguments,
{Token? question}) =>
TypeNameImpl(
NamedTypeImpl(
name as IdentifierImpl, typeArguments as TypeArgumentListImpl?,
question: question);
+3 -3
View File
@@ -2534,7 +2534,7 @@ class NodeReplacer implements AstVisitor<bool> {
}
@override
bool? visitNamedType(covariant TypeNameImpl node) {
bool? visitNamedType(covariant NamedTypeImpl node) {
if (identical(node.name, _oldNode)) {
node.name = _newNode as Identifier;
return true;
@@ -2864,14 +2864,14 @@ class NodeReplacer implements AstVisitor<bool> {
@override
bool visitTypeLiteral(covariant TypeLiteralImpl node) {
if (identical(node.type, _oldNode)) {
node.typeName = _newNode as TypeNameImpl;
node.typeName = _newNode as NamedTypeImpl;
return true;
}
return visitNode(node);
}
@override
bool visitTypeName(covariant TypeNameImpl node) {
bool visitTypeName(covariant NamedTypeImpl node) {
throw StateError('Should not be invoked');
}
@@ -74,7 +74,7 @@ class NamedTypeResolver {
/// given [node] is resolved, all its children must be already resolved.
///
/// The client must set [nameScope] before calling [resolve].
void resolve(TypeNameImpl node) {
void resolve(NamedTypeImpl node) {
rewriteResult = null;
hasErrorReported = false;
@@ -283,7 +283,7 @@ class NamedTypeResolver {
}
}
void _resolveToElement(TypeNameImpl node, Element? element) {
void _resolveToElement(NamedTypeImpl node, Element? element) {
if (element == null) {
node.type = dynamicType;
if (!_libraryElement.shouldIgnoreUndefinedIdentifier(node.name)) {
@@ -306,7 +306,7 @@ class NamedTypeResolver {
/// will be a [PrefixElement]. But when we resolved the `prefix` it turned
/// out to be a [ClassElement], so it is probably a `Class.constructor`.
void _rewriteToConstructorName(
TypeNameImpl node,
NamedTypeImpl node,
PrefixedIdentifier typeIdentifier,
) {
var constructorName = node.parent;
@@ -882,7 +882,7 @@ class ResolutionVisitor extends RecursiveAstVisitor<void> {
}
@override
void visitNamedType(covariant TypeNameImpl node) {
void visitNamedType(covariant NamedTypeImpl node) {
node.typeArguments?.accept(this);
_typeNameResolver.nameScope = _nameScope;
@@ -1256,7 +1256,7 @@ class ResolutionVisitor extends RecursiveAstVisitor<void> {
/// The flag [asClass] specifies if the type will be used as a class, so mixin
/// declarations are not valid (they declare interfaces and mixins, but not
/// classes).
void _resolveType(TypeNameImpl namedType, ErrorCode errorCode,
void _resolveType(NamedTypeImpl namedType, ErrorCode errorCode,
{bool asClass = false}) {
_typeNameResolver.classHierarchy_namedType = namedType;
visitNamedType(namedType);
@@ -1295,7 +1295,7 @@ class ResolutionVisitor extends RecursiveAstVisitor<void> {
/// @return an array containing all of the types that were resolved.
void _resolveTypes(NodeList<NamedType> namedTypes, ErrorCode errorCode) {
for (var namedType in namedTypes) {
_resolveType(namedType as TypeNameImpl, errorCode);
_resolveType(namedType as NamedTypeImpl, errorCode);
}
}
@@ -1305,7 +1305,7 @@ class ResolutionVisitor extends RecursiveAstVisitor<void> {
for (var namedType in clause.mixinTypes2) {
_typeNameResolver.withClause_namedType = namedType;
_resolveType(
namedType as TypeNameImpl,
namedType as NamedTypeImpl,
CompileTimeErrorCode.MIXIN_OF_NON_CLASS,
);
_typeNameResolver.withClause_namedType = null;
@@ -1427,7 +1427,7 @@ class AstTestFactory {
///
/// <b>Note:</b> This method does not correctly handle class elements that
/// have type parameters.
static TypeNameImpl typeName(ClassElement element,
static NamedTypeImpl typeName(ClassElement element,
[List<TypeAnnotation>? arguments]) {
var name = identifier3(element.name);
name.staticElement = element;
@@ -1442,14 +1442,14 @@ class AstTestFactory {
return typeName;
}
static TypeNameImpl typeName3(Identifier name,
static NamedTypeImpl typeName3(Identifier name,
[List<TypeAnnotation>? arguments]) =>
astFactory.namedType(
name: name,
typeArguments: typeArgumentList(arguments),
);
static TypeNameImpl typeName4(String name,
static NamedTypeImpl typeName4(String name,
[List<TypeAnnotation>? arguments, bool question = false]) =>
astFactory.namedType(
name: identifier3(name),
@@ -91,7 +91,7 @@ class DefaultTypesBuilder {
var boundNode = element.parameter.bound;
if (boundNode is GenericFunctionTypeImpl) {
boundNode.type = DynamicTypeImpl.instance;
} else if (boundNode is TypeNameImpl) {
} else if (boundNode is NamedTypeImpl) {
boundNode.type = DynamicTypeImpl.instance;
} else {
throw UnimplementedError('(${boundNode.runtimeType}) $boundNode');
@@ -108,7 +108,7 @@ class DefaultTypesBuilder {
for (var parameter in typeParameters) {
parameter as TypeParameterImpl;
var boundNode = parameter.bound;
if (boundNode is TypeNameImpl) {
if (boundNode is NamedTypeImpl) {
if (typeParametersByName == null) {
typeParametersByName = {};
for (var parameterNode in typeParameters) {
@@ -40,7 +40,7 @@ class NamedTypeBuilder extends TypeBuilder {
/// The node for which this builder is created, or `null` if the builder
/// was detached from its node, e.g. during computing default types for
/// type parameters.
final TypeNameImpl? node;
final NamedTypeImpl? node;
/// The actual built type, not a [TypeBuilder] anymore.
///
@@ -55,7 +55,7 @@ class NamedTypeBuilder extends TypeBuilder {
factory NamedTypeBuilder.of(
Linker linker,
TypeSystemImpl typeSystem,
TypeNameImpl node,
NamedTypeImpl node,
Element element,
NullabilitySuffix nullabilitySuffix,
) {
@@ -311,7 +311,7 @@ class ReferenceResolver extends ThrowingAstVisitor<void> {
}
@override
void visitNamedType(covariant TypeNameImpl node) {
void visitNamedType(covariant NamedTypeImpl node) {
var typeIdentifier = node.name;
Element? element;
@@ -364,7 +364,7 @@ class _MixinInference {
if (withClause == null) return;
for (var mixinNode in withClause.mixinTypes2) {
var mixinType = _inferSingle(mixinNode as TypeNameImpl);
var mixinType = _inferSingle(mixinNode as NamedTypeImpl);
interfacesMerger.addWithSupertypes(mixinType);
}
}
@@ -400,7 +400,7 @@ class _MixinInference {
return result;
}
InterfaceType _inferSingle(TypeNameImpl mixinNode) {
InterfaceType _inferSingle(NamedTypeImpl mixinNode) {
var mixinType = _interfaceType(mixinNode.typeOrThrow);
if (mixinNode.typeArguments != null) {
+1 -1
View File
@@ -1231,7 +1231,7 @@ class _FixBuilderPreVisitor extends GeneralizingAstVisitor<void>
_makeTypeNameNullable(node, decoratedType);
}
}
(node as TypeNameImpl).type =
(node as NamedTypeImpl).type =
_fixBuilder._variables!.toFinalType(decoratedType);
super.visitNamedType(node);
}