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

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

Issue 2725013003: Support accessing the parameter element when there is no name (Closed)
Patch Set: Created 3 years, 10 months 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 | « pkg/analyzer/lib/src/dart/element/builder.dart ('k') | 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/declaration_resolver.dart
diff --git a/pkg/analyzer/lib/src/generated/declaration_resolver.dart b/pkg/analyzer/lib/src/generated/declaration_resolver.dart
index f87f5f6b0ed6a26baacb88cdc849cc69c87f43d8..333fdef5a36027721180209f373f14e6b99f8572 100644
--- a/pkg/analyzer/lib/src/generated/declaration_resolver.dart
+++ b/pkg/analyzer/lib/src/generated/declaration_resolver.dart
@@ -9,6 +9,7 @@ import 'package:analyzer/dart/ast/token.dart';
import 'package:analyzer/dart/ast/visitor.dart';
import 'package:analyzer/dart/element/element.dart';
import 'package:analyzer/exception/exception.dart';
+import 'package:analyzer/src/dart/ast/ast.dart';
import 'package:analyzer/src/dart/element/builder.dart';
import 'package:analyzer/src/dart/element/element.dart';
import 'package:analyzer/src/dart/element/type.dart';
@@ -122,8 +123,12 @@ class DeclarationResolver extends RecursiveAstVisitor<Object> {
@override
Object visitDefaultFormalParameter(DefaultFormalParameter node) {
+ NormalFormalParameter normalParameter = node.parameter;
ParameterElement element =
- _match(node.parameter.identifier, _walker.getParameter());
+ _match(normalParameter.identifier, _walker.getParameter());
+ if (normalParameter is SimpleFormalParameterImpl) {
+ normalParameter.element = node.identifier.staticElement;
+ }
Expression defaultValue = node.defaultValue;
if (defaultValue != null) {
_walk(
@@ -133,7 +138,7 @@ class DeclarationResolver extends RecursiveAstVisitor<Object> {
});
}
_walk(new ElementWalker.forParameter(element), () {
- node.parameter.accept(this);
+ normalParameter.accept(this);
});
_resolveMetadata(node, node.metadata, element);
return null;
@@ -365,6 +370,8 @@ class DeclarationResolver extends RecursiveAstVisitor<Object> {
if (node.parent is! DefaultFormalParameter) {
ParameterElement element =
_match(node.identifier, _walker.getParameter());
+ (node as SimpleFormalParameterImpl).element =
+ node.identifier.staticElement;
_walk(new ElementWalker.forParameter(element), () {
super.visitSimpleFormalParameter(node);
});
« no previous file with comments | « pkg/analyzer/lib/src/dart/element/builder.dart ('k') | pkg/analyzer/lib/src/generated/resolver.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698