| OLD | NEW |
| 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 library dart_style.src.source_visitor; | 5 library dart_style.src.source_visitor; |
| 6 | 6 |
| 7 import 'package:analyzer/analyzer.dart'; | 7 import 'package:analyzer/analyzer.dart'; |
| 8 import 'package:analyzer/src/generated/scanner.dart'; | 8 import 'package:analyzer/src/generated/scanner.dart'; |
| 9 import 'package:analyzer/src/generated/source.dart'; | 9 import 'package:analyzer/src/generated/source.dart'; |
| 10 | 10 |
| (...skipping 994 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1005 | 1005 |
| 1006 visitIndexExpression(IndexExpression node) { | 1006 visitIndexExpression(IndexExpression node) { |
| 1007 builder.nestExpression(); | 1007 builder.nestExpression(); |
| 1008 | 1008 |
| 1009 if (node.isCascaded) { | 1009 if (node.isCascaded) { |
| 1010 token(node.period); | 1010 token(node.period); |
| 1011 } else { | 1011 } else { |
| 1012 visit(node.target); | 1012 visit(node.target); |
| 1013 } | 1013 } |
| 1014 | 1014 |
| 1015 finishIndexExpression(node); |
| 1016 |
| 1017 builder.unnest(); |
| 1018 } |
| 1019 |
| 1020 /// Visit the index part of [node], excluding the target. |
| 1021 /// |
| 1022 /// Called by [CallChainVisitor] to handle index expressions in the middle of |
| 1023 /// call chains. |
| 1024 void finishIndexExpression(IndexExpression node) { |
| 1015 if (node.target is IndexExpression) { | 1025 if (node.target is IndexExpression) { |
| 1016 // Corner case: On a chain of [] accesses, allow splitting between them. | 1026 // Edge case: On a chain of [] accesses, allow splitting between them. |
| 1017 // Produces nicer output in cases like: | 1027 // Produces nicer output in cases like: |
| 1018 // | 1028 // |
| 1019 // someJson['property']['property']['property']['property']... | 1029 // someJson['property']['property']['property']['property']... |
| 1020 soloZeroSplit(); | 1030 soloZeroSplit(); |
| 1021 } | 1031 } |
| 1022 | 1032 |
| 1023 builder.startSpan(); | 1033 builder.startSpan(); |
| 1024 token(node.leftBracket); | 1034 token(node.leftBracket); |
| 1025 soloZeroSplit(); | 1035 soloZeroSplit(); |
| 1026 visit(node.index); | 1036 visit(node.index); |
| 1027 token(node.rightBracket); | 1037 token(node.rightBracket); |
| 1028 builder.endSpan(); | 1038 builder.endSpan(); |
| 1029 builder.unnest(); | |
| 1030 } | 1039 } |
| 1031 | 1040 |
| 1032 visitInstanceCreationExpression(InstanceCreationExpression node) { | 1041 visitInstanceCreationExpression(InstanceCreationExpression node) { |
| 1033 builder.startSpan(); | 1042 builder.startSpan(); |
| 1034 token(node.keyword); | 1043 token(node.keyword); |
| 1035 space(); | 1044 space(); |
| 1036 builder.startSpan(Cost.constructorName); | 1045 builder.startSpan(Cost.constructorName); |
| 1037 visit(node.constructorName); | 1046 visit(node.constructorName); |
| 1038 builder.endSpan(); | 1047 builder.endSpan(); |
| 1039 visit(node.argumentList); | 1048 visit(node.argumentList); |
| (...skipping 1119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2159 /// Gets the 1-based line number that the beginning of [token] lies on. | 2168 /// Gets the 1-based line number that the beginning of [token] lies on. |
| 2160 int _startLine(Token token) => _lineInfo.getLocation(token.offset).lineNumber; | 2169 int _startLine(Token token) => _lineInfo.getLocation(token.offset).lineNumber; |
| 2161 | 2170 |
| 2162 /// Gets the 1-based line number that the end of [token] lies on. | 2171 /// Gets the 1-based line number that the end of [token] lies on. |
| 2163 int _endLine(Token token) => _lineInfo.getLocation(token.end).lineNumber; | 2172 int _endLine(Token token) => _lineInfo.getLocation(token.end).lineNumber; |
| 2164 | 2173 |
| 2165 /// Gets the 1-based column number that the beginning of [token] lies on. | 2174 /// Gets the 1-based column number that the beginning of [token] lies on. |
| 2166 int _startColumn(Token token) => | 2175 int _startColumn(Token token) => |
| 2167 _lineInfo.getLocation(token.offset).columnNumber; | 2176 _lineInfo.getLocation(token.offset).columnNumber; |
| 2168 } | 2177 } |
| OLD | NEW |