| 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 417 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 428 // Put a blank line between the library tag and the other directives. | 428 // Put a blank line between the library tag and the other directives. |
| 429 var directives = node.directives; | 429 var directives = node.directives; |
| 430 if (directives.isNotEmpty && directives.first is LibraryDirective) { | 430 if (directives.isNotEmpty && directives.first is LibraryDirective) { |
| 431 visit(directives.first); | 431 visit(directives.first); |
| 432 twoNewlines(); | 432 twoNewlines(); |
| 433 | 433 |
| 434 directives = directives.skip(1); | 434 directives = directives.skip(1); |
| 435 } | 435 } |
| 436 | 436 |
| 437 visitNodes(directives, between: oneOrTwoNewlines); | 437 visitNodes(directives, between: oneOrTwoNewlines); |
| 438 visitNodes(node.declarations, | 438 |
| 439 before: twoNewlines, between: oneOrTwoNewlines); | 439 if (node.declarations.isNotEmpty) { |
| 440 twoNewlines(); |
| 441 |
| 442 for (var i = 0; i < node.declarations.length; i++) { |
| 443 visit(node.declarations[i]); |
| 444 |
| 445 if (i < node.declarations.length - 1) { |
| 446 // Require blank lines around classes. |
| 447 if (node.declarations[i] is ClassDeclaration || |
| 448 node.declarations[i + 1] is ClassDeclaration) { |
| 449 twoNewlines(); |
| 450 } else { |
| 451 // Functions and variables can be more tightly packed. |
| 452 oneOrTwoNewlines(); |
| 453 } |
| 454 } |
| 455 } |
| 456 } |
| 440 } | 457 } |
| 441 | 458 |
| 442 visitConditionalExpression(ConditionalExpression node) { | 459 visitConditionalExpression(ConditionalExpression node) { |
| 443 builder.nestExpression(); | 460 builder.nestExpression(); |
| 444 visit(node.condition); | 461 visit(node.condition); |
| 445 | 462 |
| 446 builder.startSpan(); | 463 builder.startSpan(); |
| 447 | 464 |
| 448 // If we split after one clause in a conditional, always split after both. | 465 // If we split after one clause in a conditional, always split after both. |
| 449 builder.startRule(); | 466 builder.startRule(); |
| (...skipping 1598 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2048 /// Gets the 1-based line number that the beginning of [token] lies on. | 2065 /// Gets the 1-based line number that the beginning of [token] lies on. |
| 2049 int _startLine(Token token) => _lineInfo.getLocation(token.offset).lineNumber; | 2066 int _startLine(Token token) => _lineInfo.getLocation(token.offset).lineNumber; |
| 2050 | 2067 |
| 2051 /// Gets the 1-based line number that the end of [token] lies on. | 2068 /// Gets the 1-based line number that the end of [token] lies on. |
| 2052 int _endLine(Token token) => _lineInfo.getLocation(token.end).lineNumber; | 2069 int _endLine(Token token) => _lineInfo.getLocation(token.end).lineNumber; |
| 2053 | 2070 |
| 2054 /// Gets the 1-based column number that the beginning of [token] lies on. | 2071 /// Gets the 1-based column number that the beginning of [token] lies on. |
| 2055 int _startColumn(Token token) => | 2072 int _startColumn(Token token) => |
| 2056 _lineInfo.getLocation(token.offset).columnNumber; | 2073 _lineInfo.getLocation(token.offset).columnNumber; |
| 2057 } | 2074 } |
| OLD | NEW |