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

Unified Diff: pkg/analyzer/lib/src/services/writer.dart

Issue 975453004: Reformat (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 5 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/services/lint.dart ('k') | pkg/analyzer/lib/src/string_source.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/analyzer/lib/src/services/writer.dart
diff --git a/pkg/analyzer/lib/src/services/writer.dart b/pkg/analyzer/lib/src/services/writer.dart
index 31dbbe28c60289b522d058334fcd0e5467faeafd..4bf182e43cb5daaeaa3e59ec756c8123b4d56f5d 100644
--- a/pkg/analyzer/lib/src/services/writer.dart
+++ b/pkg/analyzer/lib/src/services/writer.dart
@@ -7,7 +7,6 @@ library source_writer;
import 'dart:math' as math;
class Line {
-
final List<LineToken> tokens = <LineToken>[];
final bool useTabs;
final int spacesPerIndent;
@@ -39,35 +38,29 @@ class Line {
bool isEmpty() => tokens.isEmpty;
- bool isWhitespace() => tokens.every(
- (tok) => tok is SpaceToken || tok is TabToken);
+ bool isWhitespace() =>
+ tokens.every((tok) => tok is SpaceToken || tok is TabToken);
void indent(int n) {
- tokens.insert(0,
- useTabs ? new TabToken(n) : new SpaceToken(n * spacesPerIndent));
+ tokens.insert(
+ 0, useTabs ? new TabToken(n) : new SpaceToken(n * spacesPerIndent));
}
String toString() => printer.printLine(this);
-
}
-
/// Base class for line printers
abstract class LinePrinter {
-
const LinePrinter();
/// Convert this [line] to a [String] representation.
String printLine(Line line);
}
-
typedef String Indenter(int n);
-
/// A simple line breaking [LinePrinter]
class SimpleLineBreaker extends LinePrinter {
-
static final NO_OP_INDENTER = (n) => '';
final chunks = <Chunk>[];
@@ -100,7 +93,9 @@ class SimpleLineBreaker extends LinePrinter {
List<Chunk> breakLine(Line line) {
List<LineToken> tokens = preprocess(line.tokens);
- List<Chunk> chunks = <Chunk>[new Chunk(line.indentLevel, maxLength, tokens)];
+ List<Chunk> chunks = <Chunk>[
+ new Chunk(line.indentLevel, maxLength, tokens)
+ ];
// try SINGLE_SPACE_WEIGHT
{
Chunk chunk = chunks[0];
@@ -140,7 +135,8 @@ class SimpleLineBreaker extends LinePrinter {
int length = 0;
for (int i = 0; i < tokens.length; i++) {
LineToken token = tokens[i];
- if (token is SpaceToken && token.breakWeight == weight &&
+ if (token is SpaceToken &&
+ token.breakWeight == weight &&
i < tokens.length - 1) {
LineToken nextToken = tokens[i + 1];
if (length + token.length + nextToken.length > maxLength) {
@@ -189,7 +185,6 @@ class SimpleLineBreaker extends LinePrinter {
}
static List<LineToken> preprocess(List<LineToken> tok) {
-
var tokens = <LineToken>[];
var curr;
@@ -228,8 +223,8 @@ class SimpleLineBreaker extends LinePrinter {
}
/// Test if this [string] contains only whitespace characters
-bool isWhitespace(String string) => string.codeUnits.every(
- (c) => c == 0x09 || c == 0x20 || c == 0x0A || c == 0x0D);
+bool isWhitespace(String string) => string.codeUnits
+ .every((c) => c == 0x09 || c == 0x20 || c == 0x0A || c == 0x0D);
/// Special token indicating a line start
final LINE_START = new SpaceToken(0);
@@ -241,7 +236,6 @@ const UNBREAKABLE_SPACE_WEIGHT = 100000000;
/// Simple non-breaking printer
class SimpleLinePrinter extends LinePrinter {
-
const SimpleLinePrinter();
String printLine(Line line) {
@@ -249,16 +243,13 @@ class SimpleLinePrinter extends LinePrinter {
line.tokens.forEach((tok) => buffer.write(tok.toString()));
return buffer.toString();
}
-
}
-
/// Describes a piece of text in a [Line].
abstract class LineText {
int get length;
}
-
/// A working piece of text used in calculating line breaks
class Chunk {
final int indent;
@@ -320,9 +311,7 @@ class Chunk {
String toString() => tokens.join();
}
-
class LineToken implements LineText {
-
final String value;
LineToken(this.value);
@@ -333,33 +322,24 @@ class LineToken implements LineText {
int lengthLessNewlines(String str) =>
str.endsWith('\n') ? str.length - 1 : str.length;
-
}
-
class SpaceToken extends LineToken {
-
final int breakWeight;
- SpaceToken(int n, {this.breakWeight: DEFAULT_SPACE_WEIGHT}) :
- super(getSpaces(n));
+ SpaceToken(int n, {this.breakWeight: DEFAULT_SPACE_WEIGHT})
+ : super(getSpaces(n));
}
-
class TabToken extends LineToken {
-
TabToken(int n) : super(getTabs(n));
}
-
class NewlineToken extends LineToken {
-
NewlineToken(String value) : super(value);
}
-
class SourceWriter {
-
final StringBuffer buffer = new StringBuffer();
Line currentLine;
@@ -374,8 +354,8 @@ class SourceWriter {
SourceWriter({this.indentCount: 0, this.lineSeparator: NEW_LINE,
this.useTabs: false, this.spacesPerIndent: 2, int maxLineLength: 80}) {
if (maxLineLength > 0) {
- linePrinter = new SimpleLineBreaker(maxLineLength, (n) =>
- getIndentString(n, useTabs: useTabs, spacesPerIndent: spacesPerIndent));
+ linePrinter = new SimpleLineBreaker(maxLineLength, (n) => getIndentString(
+ n, useTabs: useTabs, spacesPerIndent: spacesPerIndent));
} else {
linePrinter = new SimpleLinePrinter();
}
@@ -447,8 +427,11 @@ class SourceWriter {
}
}
- Line newLine() => new Line(indentLevel: indentCount, useTabs: useTabs,
- spacesPerIndent: spacesPerIndent, printer: linePrinter);
+ Line newLine() => new Line(
+ indentLevel: indentCount,
+ useTabs: useTabs,
+ spacesPerIndent: spacesPerIndent,
+ printer: linePrinter);
String toString() {
var source = new StringBuffer(buffer.toString());
@@ -457,52 +440,50 @@ class SourceWriter {
}
return source.toString();
}
-
}
const NEW_LINE = '\n';
const SPACE = ' ';
const SPACES = const [
- '',
- ' ',
- ' ',
- ' ',
- ' ',
- ' ',
- ' ',
- ' ',
- ' ',
- ' ',
- ' ',
- ' ',
- ' ',
- ' ',
- ' ',
- ' ',
- ' ',
+ '',
+ ' ',
+ ' ',
+ ' ',
+ ' ',
+ ' ',
+ ' ',
+ ' ',
+ ' ',
+ ' ',
+ ' ',
+ ' ',
+ ' ',
+ ' ',
+ ' ',
+ ' ',
+ ' ',
];
const TABS = const [
- '',
- '\t',
- '\t\t',
- '\t\t\t',
- '\t\t\t\t',
- '\t\t\t\t\t',
- '\t\t\t\t\t\t',
- '\t\t\t\t\t\t\t',
- '\t\t\t\t\t\t\t\t',
- '\t\t\t\t\t\t\t\t\t',
- '\t\t\t\t\t\t\t\t\t\t',
- '\t\t\t\t\t\t\t\t\t\t\t',
- '\t\t\t\t\t\t\t\t\t\t\t\t',
- '\t\t\t\t\t\t\t\t\t\t\t\t\t',
- '\t\t\t\t\t\t\t\t\t\t\t\t\t\t',
+ '',
+ '\t',
+ '\t\t',
+ '\t\t\t',
+ '\t\t\t\t',
+ '\t\t\t\t\t',
+ '\t\t\t\t\t\t',
+ '\t\t\t\t\t\t\t',
+ '\t\t\t\t\t\t\t\t',
+ '\t\t\t\t\t\t\t\t\t',
+ '\t\t\t\t\t\t\t\t\t\t',
+ '\t\t\t\t\t\t\t\t\t\t\t',
+ '\t\t\t\t\t\t\t\t\t\t\t\t',
+ '\t\t\t\t\t\t\t\t\t\t\t\t\t',
+ '\t\t\t\t\t\t\t\t\t\t\t\t\t\t',
];
-
-String getIndentString(int indentWidth, {bool useTabs: false,
- int spacesPerIndent: 2}) => useTabs ? getTabs(indentWidth) :
- getSpaces(indentWidth * spacesPerIndent);
+String getIndentString(int indentWidth,
+ {bool useTabs: false, int spacesPerIndent: 2}) =>
+ useTabs ? getTabs(indentWidth) : getSpaces(indentWidth * spacesPerIndent);
String getSpaces(int n) => n < SPACES.length ? SPACES[n] : repeat(' ', n);
« no previous file with comments | « pkg/analyzer/lib/src/services/lint.dart ('k') | pkg/analyzer/lib/src/string_source.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698