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

Unified Diff: lib/src/call_chain_visitor.dart

Issue 2526633002: Support generic methods. Fix #556. (Closed)
Patch Set: Merge branch 'master' into generic-methods Created 4 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 | « lib/src/argument_list_visitor.dart ('k') | lib/src/dart_formatter.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: lib/src/call_chain_visitor.dart
diff --git a/lib/src/call_chain_visitor.dart b/lib/src/call_chain_visitor.dart
index 29c04fb28ea4216473b8f780289ee99cc9fcc620..e1fec05eb675af1069817456b3920b1372b864a3 100644
--- a/lib/src/call_chain_visitor.dart
+++ b/lib/src/call_chain_visitor.dart
@@ -317,7 +317,7 @@ class CallChainVisitor {
// If the expression ends in an argument list, base the splitting on the
// last argument.
- var argumentList;
+ ArgumentList argumentList;
if (expression is MethodInvocation) {
argumentList = expression.argumentList;
} else if (expression is InstanceCreationExpression) {
@@ -331,7 +331,9 @@ class CallChainVisitor {
if (argumentList.arguments.isEmpty) return true;
var argument = argumentList.arguments.last;
- if (argument is NamedExpression) argument = argument.expression;
+ if (argument is NamedExpression) {
+ argument = (argument as NamedExpression).expression;
+ }
// TODO(rnystrom): This logic is similar (but not identical) to
// ArgumentListVisitor.hasBlockArguments. They overlap conceptually and
@@ -399,7 +401,10 @@ class CallChainVisitor {
_endSpan();
}
- _visitor.visit(invocation.argumentList);
+ _visitor.builder.nestExpression();
+ _visitor.visit(invocation.typeArguments);
+ _visitor.visitArgumentList(invocation.argumentList, nestExpression: false);
+ _visitor.builder.unnest();
}
void _writeBlockCall(MethodInvocation invocation) {
« no previous file with comments | « lib/src/argument_list_visitor.dart ('k') | lib/src/dart_formatter.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698