Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(588)

Unified Diff: pkg/analyzer/lib/src/generated/incremental_resolver.dart

Issue 741183002: Remove in-bodies analysis from DeclarationMatcher. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | pkg/analyzer/test/generated/incremental_resolver_test.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/analyzer/lib/src/generated/incremental_resolver.dart
diff --git a/pkg/analyzer/lib/src/generated/incremental_resolver.dart b/pkg/analyzer/lib/src/generated/incremental_resolver.dart
index c31581ec40b41fc56c7c23fa3b8780877f28cb41..fc4e42bb05a47b5085e4d051efbf5a3d380847a8 100644
--- a/pkg/analyzer/lib/src/generated/incremental_resolver.dart
+++ b/pkg/analyzer/lib/src/generated/incremental_resolver.dart
@@ -90,22 +90,8 @@ class DeclarationMatcher extends RecursiveAstVisitor {
}
@override
- visitCatchClause(CatchClause node) {
- SimpleIdentifier exceptionParameter = node.exceptionParameter;
- if (exceptionParameter != null) {
- List<LocalVariableElement> localVariables =
- _enclosingExecutable.localVariables;
- LocalVariableElement exceptionElement =
- _findIdentifier(localVariables, exceptionParameter);
- _processElement(exceptionElement);
- SimpleIdentifier stackTraceParameter = node.stackTraceParameter;
- if (stackTraceParameter != null) {
- LocalVariableElement stackTraceElement =
- _findIdentifier(localVariables, stackTraceParameter);
- _processElement(stackTraceElement);
- }
- }
- super.visitCatchClause(node);
+ visitBlockFunctionBody(BlockFunctionBody node) {
+ // ignore bodies
}
@override
@@ -175,15 +161,6 @@ class DeclarationMatcher extends RecursiveAstVisitor {
}
@override
- visitDeclaredIdentifier(DeclaredIdentifier node) {
- SimpleIdentifier variableName = node.identifier;
- LocalVariableElement element =
- _findIdentifier(_enclosingExecutable.localVariables, variableName);
- _processElement(element);
- super.visitDeclaredIdentifier(node);
- }
-
- @override
visitDefaultFormalParameter(DefaultFormalParameter node) {
SimpleIdentifier parameterName = node.parameter.identifier;
ParameterElement element = _getElementForParameter(node, parameterName);
@@ -239,6 +216,11 @@ class DeclarationMatcher extends RecursiveAstVisitor {
}
@override
+ visitExpressionFunctionBody(ExpressionFunctionBody node) {
+ // ignore bodies
+ }
+
+ @override
visitExtendsClause(ExtendsClause node) {
_assertSameType(node.superclass, _enclosingClass.supertype);
}
@@ -291,23 +273,6 @@ class DeclarationMatcher extends RecursiveAstVisitor {
}
@override
- visitFunctionExpression(FunctionExpression node) {
- if (node.parent is! FunctionDeclaration) {
- FunctionElement element =
- _findAtOffset(_enclosingExecutable.functions, node.beginToken.offset);
- _processElement(element);
- }
- ExecutableElement outerExecutable = _enclosingExecutable;
- try {
- _enclosingExecutable = node.element;
- _processElement(_enclosingExecutable);
- super.visitFunctionExpression(node);
- } finally {
- _enclosingExecutable = outerExecutable;
- }
- }
-
- @override
visitFunctionTypeAlias(FunctionTypeAlias node) {
FunctionTypeAliasElement outerAlias = _enclosingAlias;
try {
@@ -361,17 +326,6 @@ class DeclarationMatcher extends RecursiveAstVisitor {
}
@override
- visitLabeledStatement(LabeledStatement node) {
- for (Label label in node.labels) {
- SimpleIdentifier labelName = label.label;
- LabelElement element =
- _findIdentifier(_enclosingExecutable.labels, labelName);
- _processElement(element);
- }
- super.visitLabeledStatement(node);
- }
-
- @override
visitMethodDeclaration(MethodDeclaration node) {
ExecutableElement outerExecutable = _enclosingExecutable;
try {
@@ -436,28 +390,6 @@ class DeclarationMatcher extends RecursiveAstVisitor {
}
@override
- visitSwitchCase(SwitchCase node) {
- for (Label label in node.labels) {
- SimpleIdentifier labelName = label.label;
- LabelElement element =
- _findIdentifier(_enclosingExecutable.labels, labelName);
- _processElement(element);
- }
- super.visitSwitchCase(node);
- }
-
- @override
- visitSwitchDefault(SwitchDefault node) {
- for (Label label in node.labels) {
- SimpleIdentifier labelName = label.label;
- LabelElement element =
- _findIdentifier(_enclosingExecutable.labels, labelName);
- _processElement(element);
- }
- super.visitSwitchDefault(node);
- }
-
- @override
visitTopLevelVariableDeclaration(TopLevelVariableDeclaration node) {
_inTopLevelVariableDeclaration = true;
try {
@@ -598,17 +530,6 @@ class DeclarationMatcher extends RecursiveAstVisitor {
}
/**
- * Return the element in the given array of elements that was created for the declaration at the
- * given offset. This method should only be used when there is no name
- *
- * @param elements the elements of the appropriate kind that exist in the current context
- * @param offset the offset of the name of the element to be returned
- * @return the element at the given offset
- */
- Element _findAtOffset(List<Element> elements, int offset) =>
- _findWithNameAndOffset(elements, "", offset);
-
- /**
* Return the [Element] in [elements] with the given [name].
*/
Element _findElement(List<Element> elements, String name) {
@@ -836,7 +757,9 @@ class IncrementalResolver {
throw new AnalysisException("Cannot resolve node: element model changed");
}
_definingUnit.accept(
- new _ElementNameOffsetUpdater(_updateOffset, _updateNewLength - _updateOldLength));
+ new _ElementNameOffsetUpdater(
+ _updateOffset,
+ _updateNewLength - _updateOldLength));
_resolveTypes(node, scope);
_resolveVariables(node, scope);
_resolveReferences(node, scope);
@@ -1082,6 +1005,23 @@ class _DeclarationMismatchException {
}
+class _ElementNameOffsetUpdater extends GeneralizingElementVisitor {
+ final int updateOffset;
+ final int updateDelta;
+
+ _ElementNameOffsetUpdater(this.updateOffset, this.updateDelta);
+
+ @override
+ visitElement(Element element) {
+ int nameOffset = element.nameOffset;
+ if (nameOffset >= updateOffset) {
+ (element as ElementImpl).nameOffset = nameOffset + updateDelta;
+ }
+ super.visitElement(element);
+ }
+}
+
+
class _ElementsGatherer extends GeneralizingElementVisitor {
final DeclarationMatcher matcher;
@@ -1125,20 +1065,3 @@ class _ElementsGatherer extends GeneralizingElementVisitor {
}
}
}
-
-
-class _ElementNameOffsetUpdater extends GeneralizingElementVisitor {
- final int updateOffset;
- final int updateDelta;
-
- _ElementNameOffsetUpdater(this.updateOffset, this.updateDelta);
-
- @override
- visitElement(Element element) {
- int nameOffset = element.nameOffset;
- if (nameOffset >= updateOffset) {
- (element as ElementImpl).nameOffset = nameOffset + updateDelta;
- }
- super.visitElement(element);
- }
-}
« no previous file with comments | « no previous file | pkg/analyzer/test/generated/incremental_resolver_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698