Skip to content

Commit b6897ea

Browse files
committed
Stop using resolutionMap in analyzer and analysis_server.
[email protected], [email protected] Change-Id: Ie8f75e330e9efee67ded892929a3d78b7de1c586 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/114565 Reviewed-by: Brian Wilkerson <[email protected]>
1 parent 91de97f commit b6897ea

File tree

24 files changed

+108
-213
lines changed

24 files changed

+108
-213
lines changed

pkg/analysis_server/lib/src/services/completion/dart/inherited_reference_contributor.dart

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import 'package:analysis_server/src/provisional/completion/dart/completion_dart.
88
import 'package:analysis_server/src/services/completion/dart/suggestion_builder.dart';
99
import 'package:analysis_server/src/utilities/flutter.dart';
1010
import 'package:analyzer/dart/ast/ast.dart';
11-
import 'package:analyzer/dart/ast/standard_resolution_map.dart';
1211
import 'package:analyzer/dart/element/element.dart';
1312
import 'package:analyzer/dart/element/type.dart';
1413
import 'package:analyzer_plugin/src/utilities/completion/completion_target.dart';
@@ -67,11 +66,9 @@ class InheritedReferenceContributor extends DartCompletionContributor
6766
}
6867
containingLibrary = request.libraryElement;
6968
if (classDecl is ClassDeclaration) {
70-
return _computeSuggestionsForClass2(
71-
resolutionMap.elementDeclaredByClassDeclaration(classDecl), request);
69+
return _computeSuggestionsForClass2(classDecl.declaredElement, request);
7270
} else if (classDecl is MixinDeclaration) {
73-
return _computeSuggestionsForClass2(
74-
resolutionMap.elementDeclaredByMixinDeclaration(classDecl), request);
71+
return _computeSuggestionsForClass2(classDecl.declaredElement, request);
7572
}
7673
return const <CompletionSuggestion>[];
7774
}

pkg/analysis_server/lib/src/services/completion/dart/local_constructor_contributor.dart

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ import 'package:analysis_server/src/services/completion/dart/completion_manager.
1212
import 'package:analysis_server/src/services/completion/dart/suggestion_builder.dart';
1313
import 'package:analysis_server/src/services/completion/dart/utilities.dart';
1414
import 'package:analyzer/dart/ast/ast.dart';
15-
import 'package:analyzer/dart/ast/standard_resolution_map.dart';
1615
import 'package:analyzer/dart/element/element.dart';
1716
import 'package:analyzer_plugin/protocol/protocol_common.dart' as protocol
1817
show Element, ElementKind;
@@ -112,8 +111,7 @@ class _Visitor extends LocalDeclarationVisitor {
112111
ClassDeclaration classDecl, ConstructorDeclaration constructorDecl) {
113112
String completion = classDecl.name.name;
114113

115-
ClassElement classElement =
116-
resolutionMap.elementDeclaredByClassDeclaration(classDecl);
114+
ClassElement classElement = classDecl.declaredElement;
117115
int relevance = optype.returnValueSuggestionsFilter(
118116
classElement?.type, DART_RELEVANCE_DEFAULT);
119117
if (constructorDecl != null) {

pkg/analysis_server/lib/src/services/completion/dart/local_reference_contributor.dart

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -444,8 +444,7 @@ class _LocalVisitor extends LocalDeclarationVisitor {
444444
{bool isAbstract = false,
445445
bool isDeprecated = false,
446446
int relevance = DART_RELEVANCE_DEFAULT}) {
447-
ClassElement classElement =
448-
resolutionMap.elementDeclaredByEnumDeclaration(enumDeclaration);
447+
ClassElement classElement = enumDeclaration.declaredElement;
449448
relevance =
450449
optype.returnValueSuggestionsFilter(classElement?.type, relevance);
451450
if (relevance != null) {

pkg/analysis_server/lib/src/services/correction/fix_internal.dart

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ import 'package:analysis_server/src/utilities/flutter.dart';
2020
import 'package:analyzer/dart/analysis/session.dart';
2121
import 'package:analyzer/dart/ast/ast.dart';
2222
import 'package:analyzer/dart/ast/precedence.dart';
23-
import 'package:analyzer/dart/ast/standard_resolution_map.dart';
2423
import 'package:analyzer/dart/ast/token.dart';
2524
import 'package:analyzer/dart/element/element.dart';
2625
import 'package:analyzer/dart/element/type.dart';
@@ -1234,10 +1233,8 @@ class FixProcessor {
12341233
});
12351234
});
12361235
_addFixFromBuilder(
1237-
changeBuilder, DartFixKind.CHANGE_TYPE_ANNOTATION, args: [
1238-
resolutionMap.typeForTypeName(typeNode),
1239-
newType.displayName
1240-
]);
1236+
changeBuilder, DartFixKind.CHANGE_TYPE_ANNOTATION,
1237+
args: [typeNode.type, newType.displayName]);
12411238
}
12421239
}
12431240
}
@@ -3812,9 +3809,7 @@ class FixProcessor {
38123809
}
38133810
// maybe static
38143811
if (target is Identifier) {
3815-
staticModifier =
3816-
resolutionMap.staticElementForIdentifier(target).kind ==
3817-
ElementKind.CLASS;
3812+
staticModifier = target.staticElement.kind == ElementKind.CLASS;
38183813
}
38193814
// use different utils
38203815
var targetPath = targetClassElement.source.fullName;

pkg/analysis_server/lib/src/services/correction/namespace.dart

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
// BSD-style license that can be found in the LICENSE file.
44

55
import 'package:analyzer/dart/ast/ast.dart';
6-
import 'package:analyzer/dart/ast/standard_resolution_map.dart';
76
import 'package:analyzer/dart/element/element.dart';
87
import 'package:analyzer/src/dart/resolver/scope.dart';
98

@@ -127,8 +126,7 @@ ImportElement internal_getImportElementInfo(SimpleIdentifier prefixNode) {
127126
// prepare environment
128127
AstNode parent = prefixNode.parent;
129128
CompilationUnit unit = prefixNode.thisOrAncestorOfType<CompilationUnit>();
130-
LibraryElement libraryElement =
131-
resolutionMap.elementDeclaredByCompilationUnit(unit).library;
129+
LibraryElement libraryElement = unit.declaredElement.library;
132130
// prepare used element
133131
Element usedElement = null;
134132
if (parent is PrefixedIdentifier) {

pkg/analysis_server/lib/src/services/kythe/kythe_visitors.dart

Lines changed: 10 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
import 'dart:convert';
66

77
import 'package:analyzer/dart/ast/ast.dart';
8-
import 'package:analyzer/dart/ast/standard_resolution_map.dart';
98
import 'package:analyzer/dart/ast/syntactic_entity.dart';
109
import 'package:analyzer/dart/ast/token.dart';
1110
import 'package:analyzer/dart/ast/visitor.dart';
@@ -353,8 +352,7 @@ class KytheDartVisitor extends GeneralizingAstVisitor with OutputUtils {
353352

354353
// Don't use visitLibraryDirective as this won't generate a package
355354
// VName for libraries that don't have a library directive.
356-
var libraryElement =
357-
resolutionMap.elementDeclaredByCompilationUnit(node).library;
355+
var libraryElement = node.declaredElement.library;
358356
if (libraryElement.definingCompilationUnit == node.declaredElement) {
359357
LibraryDirective libraryDirective;
360358
for (var directive in node.directives) {
@@ -433,8 +431,7 @@ class KytheDartVisitor extends GeneralizingAstVisitor with OutputUtils {
433431
@override
434432
visitDeclaredIdentifier(DeclaredIdentifier node) {
435433
_handleVariableDeclaration(node.declaredElement, node.identifier,
436-
subKind: schema.LOCAL_SUBKIND,
437-
type: resolutionMap.elementDeclaredByDeclaredIdentifier(node).type);
434+
subKind: schema.LOCAL_SUBKIND, type: node.declaredElement.type);
438435

439436
// no children
440437
}
@@ -638,8 +635,7 @@ class KytheDartVisitor extends GeneralizingAstVisitor with OutputUtils {
638635
// constructorName
639636
//
640637
var constructorName = node.constructorName;
641-
var constructorElement =
642-
resolutionMap.staticElementForConstructorReference(constructorName);
638+
var constructorElement = constructorName.staticElement;
643639
if (constructorElement != null) {
644640
// anchor- ref/call
645641
_handleRefCallEdge(constructorElement,
@@ -786,11 +782,8 @@ class KytheDartVisitor extends GeneralizingAstVisitor with OutputUtils {
786782
}
787783

788784
// type
789-
addEdge(
790-
paramVName,
791-
schema.TYPED_EDGE,
792-
_vNameFromType(
793-
resolutionMap.elementDeclaredByFormalParameter(node).type));
785+
addEdge(paramVName, schema.TYPED_EDGE,
786+
_vNameFromType(node.declaredElement.type));
794787

795788
// visit children
796789
_safelyVisit(node.documentationComment);
@@ -851,7 +844,7 @@ class KytheDartVisitor extends GeneralizingAstVisitor with OutputUtils {
851844
// variable
852845
_handleVariableDeclaration(node.declaredElement, node.name,
853846
subKind: isLocal ? schema.LOCAL_SUBKIND : schema.FIELD_SUBKIND,
854-
type: resolutionMap.elementDeclaredByVariableDeclaration(node).type);
847+
type: node.declaredElement.type);
855848

856849
// visit children
857850
_safelyVisit(node.initializer);
@@ -1239,15 +1232,15 @@ mixin OutputUtils {
12391232
if (returnNode is TypeName) {
12401233
// MethodDeclaration and FunctionDeclaration both return a TypeName from
12411234
// returnType
1242-
if (resolutionMap.typeForTypeName(returnNode).isVoid) {
1235+
if (returnNode.type.isVoid) {
12431236
returnTypeVName = voidBuiltin;
12441237
} else {
12451238
returnTypeVName =
12461239
_vNameFromElement(returnNode.name.staticElement, schema.TAPP_KIND);
12471240
}
12481241
} else if (returnNode is Identifier) {
12491242
// ConstructorDeclaration returns an Identifier from returnType
1250-
if (resolutionMap.staticTypeForExpression(returnNode).isVoid) {
1243+
if (returnNode.staticType.isVoid) {
12511244
returnTypeVName = voidBuiltin;
12521245
} else {
12531246
returnTypeVName =
@@ -1264,16 +1257,9 @@ mixin OutputUtils {
12641257
if (paramNodes != null) {
12651258
for (FormalParameter paramNode in paramNodes.parameters) {
12661259
var paramTypeVName = dynamicBuiltin;
1267-
if (!resolutionMap
1268-
.elementDeclaredByFormalParameter(paramNode)
1269-
.type
1270-
.isDynamic) {
1260+
if (!paramNode.declaredElement.type.isDynamic) {
12711261
paramTypeVName = _vNameFromElement(
1272-
resolutionMap
1273-
.elementDeclaredByFormalParameter(paramNode)
1274-
.type
1275-
.element,
1276-
schema.TAPP_KIND);
1262+
paramNode.declaredElement.type.element, schema.TAPP_KIND);
12771263
}
12781264
addEdge(funcTypeVName, schema.PARAM_EDGE, paramTypeVName,
12791265
ordinalIntValue: i++);

pkg/analysis_server/lib/src/services/refactoring/extract_method.dart

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ import 'package:analysis_server/src/services/search/search_engine.dart';
2020
import 'package:analyzer/dart/analysis/features.dart';
2121
import 'package:analyzer/dart/analysis/results.dart';
2222
import 'package:analyzer/dart/ast/ast.dart';
23-
import 'package:analyzer/dart/ast/standard_resolution_map.dart';
2423
import 'package:analyzer/dart/ast/token.dart';
2524
import 'package:analyzer/dart/ast/visitor.dart';
2625
import 'package:analyzer/dart/element/element.dart';
@@ -452,8 +451,7 @@ class ExtractMethodRefactoringImpl extends RefactoringImpl
452451
AstNode parent = _parentMember.parent;
453452
// top-level function
454453
if (parent is CompilationUnit) {
455-
LibraryElement libraryElement =
456-
resolutionMap.elementDeclaredByCompilationUnit(parent).library;
454+
LibraryElement libraryElement = parent.declaredElement.library;
457455
return validateCreateFunction(searchEngine, libraryElement, name);
458456
}
459457
// method of class

pkg/analyzer/lib/src/dart/analysis/index.dart

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
// BSD-style license that can be found in the LICENSE file.
44

55
import 'package:analyzer/dart/ast/ast.dart';
6-
import 'package:analyzer/dart/ast/standard_resolution_map.dart';
76
import 'package:analyzer/dart/ast/token.dart';
87
import 'package:analyzer/dart/ast/visitor.dart';
98
import 'package:analyzer/dart/element/element.dart';
@@ -555,10 +554,7 @@ class _IndexContributor extends GeneralizingAstVisitor {
555554
visitClassDeclaration(ClassDeclaration node) {
556555
_addSubtypeForClassDeclaration(node);
557556
if (node.extendsClause == null) {
558-
ClassElement objectElement = resolutionMap
559-
.elementDeclaredByClassDeclaration(node)
560-
.supertype
561-
?.element;
557+
ClassElement objectElement = node.declaredElement.supertype?.element;
562558
recordRelationOffset(objectElement, IndexRelationKind.IS_EXTENDED_BY,
563559
node.name.offset, 0, true);
564560
}

pkg/analyzer/lib/src/dart/constant/utilities.dart

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
import 'dart:collection';
66

77
import 'package:analyzer/dart/ast/ast.dart';
8-
import 'package:analyzer/dart/ast/standard_resolution_map.dart';
98
import 'package:analyzer/dart/ast/token.dart';
109
import 'package:analyzer/dart/ast/visitor.dart';
1110
import 'package:analyzer/dart/element/element.dart';
@@ -226,9 +225,7 @@ class ConstantFinder extends RecursiveAstVisitor<void> {
226225
@override
227226
void visitClassDeclaration(ClassDeclaration node) {
228227
bool prevTreatFinalInstanceVarAsConst = treatFinalInstanceVarAsConst;
229-
if (resolutionMap
230-
.elementDeclaredByClassDeclaration(node)
231-
.constructors
228+
if (node.declaredElement.constructors
232229
.any((ConstructorElement e) => e.isConst)) {
233230
// Instance vars marked "final" need to be included in the dependency
234231
// graph, since constant constructors implicitly use the values in their
@@ -259,8 +256,7 @@ class ConstantFinder extends RecursiveAstVisitor<void> {
259256
super.visitDefaultFormalParameter(node);
260257
Expression defaultValue = node.defaultValue;
261258
if (defaultValue != null && node.declaredElement != null) {
262-
constantsToCompute
263-
.add(resolutionMap.elementDeclaredByFormalParameter(node));
259+
constantsToCompute.add(node.declaredElement);
264260
}
265261
}
266262

pkg/analyzer/lib/src/generated/error_verifier.dart

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import 'dart:collection';
66

77
import 'package:analyzer/dart/analysis/features.dart';
88
import 'package:analyzer/dart/ast/ast.dart';
9-
import 'package:analyzer/dart/ast/standard_resolution_map.dart';
109
import 'package:analyzer/dart/ast/token.dart';
1110
import 'package:analyzer/dart/ast/visitor.dart';
1211
import 'package:analyzer/dart/element/element.dart';
@@ -926,8 +925,7 @@ class ErrorVerifier extends RecursiveAstVisitor<void> {
926925
// we can get the function element via `node?.element?.type?.element` but
927926
// it doesn't have hasImplicitReturnType set correctly.
928927
if (!_options.implicitDynamic && node.returnType == null) {
929-
DartType parameterType =
930-
resolutionMap.elementDeclaredByFormalParameter(node).type;
928+
DartType parameterType = node.declaredElement.type;
931929
if (parameterType is FunctionType &&
932930
parameterType.returnType.isDynamic) {
933931
_errorReporter.reportErrorForNode(
@@ -1797,8 +1795,7 @@ class ErrorVerifier extends RecursiveAstVisitor<void> {
17971795
DartType redirectedReturnType = redirectedType.returnType;
17981796

17991797
// Report specific problem when return type is incompatible
1800-
FunctionType constructorType =
1801-
resolutionMap.elementDeclaredByConstructorDeclaration(declaration).type;
1798+
FunctionType constructorType = declaration.declaredElement.type;
18021799
DartType constructorReturnType = constructorType.returnType;
18031800
if (!_typeSystem.isAssignableTo(redirectedReturnType, constructorReturnType,
18041801
featureSet: _featureSet)) {
@@ -3794,7 +3791,7 @@ class ErrorVerifier extends RecursiveAstVisitor<void> {
37943791
}
37953792

37963793
void _checkForMissingJSLibAnnotation(Annotation node) {
3797-
if (resolutionMap.elementAnnotationForAnnotation(node)?.isJS ?? false) {
3794+
if (node.elementAnnotation?.isJS ?? false) {
37983795
if (_currentLibrary.hasJS != true) {
37993796
_errorReporter.reportErrorForNode(
38003797
HintCode.MISSING_JS_LIB_ANNOTATION, node);

0 commit comments

Comments
 (0)