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

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

Issue 799993002: Issue 21850. Fix for incremental resolving field formal parameters. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years 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/lib/src/generated/resolver.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 c3575e222eada6140008b3f2933819930c332ed3..2271cf5ba636259ce015df816dc679bb8b1dc1c3 100644
--- a/pkg/analyzer/lib/src/generated/incremental_resolver.dart
+++ b/pkg/analyzer/lib/src/generated/incremental_resolver.dart
@@ -189,7 +189,6 @@ class DeclarationMatcher extends RecursiveAstVisitor {
ExecutableElement newElement = node.element;
node.element = element;
_setLocalElements(element, newElement);
- _setParameterElements(node.parameters, element.parameters);
}
@override
@@ -267,9 +266,6 @@ class DeclarationMatcher extends RecursiveAstVisitor {
node.name.staticElement = element;
node.functionExpression.element = element;
_setLocalElements(element, newElement);
- _setParameterElements(
- node.functionExpression.parameters,
- element.parameters);
}
@override
@@ -341,7 +337,6 @@ class DeclarationMatcher extends RecursiveAstVisitor {
// matches, update the existing element
node.name.staticElement = element;
_setLocalElements(element, newElement);
- _setParameterElements(node.parameters, element.parameters);
} on _DeclarationMismatchException catch (e) {
_addedElements.add(newElement);
// remove old element
@@ -674,23 +669,7 @@ class DeclarationMatcher extends RecursiveAstVisitor {
to.functions = from.functions;
to.labels = from.labels;
to.localVariables = from.localVariables;
- }
-
- static void _setParameterElements(FormalParameterList nodes,
- List<ParameterElement> elements) {
- if (nodes != null) {
- for (int i = 0; i < elements.length; i++) {
- ParameterElement element = elements[i];
- FormalParameter node = nodes.parameters[i];
- ParameterElement newElement = node.element;
- node.identifier.staticElement = element;
- (element as ElementImpl).name = newElement.name;
- (element as ElementImpl).nameOffset = newElement.nameOffset;
- if (node is FunctionTypedFormalParameter) {
- _setParameterElements(node.parameters, element.parameters);
- }
- }
- }
+ to.parameters = from.parameters;
}
}
@@ -827,6 +806,10 @@ class IncrementalResolver {
try {
ElementHolder holder = new ElementHolder();
ElementBuilder builder = new ElementBuilder(holder);
+ if (_resolutionContext.enclosingClassDeclaration != null) {
+ builder.visitClassDeclarationIncrementally(
+ _resolutionContext.enclosingClassDeclaration);
+ }
node.accept(builder);
} finally {
timer.stop('build elements');
« no previous file with comments | « no previous file | pkg/analyzer/lib/src/generated/resolver.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698