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

Unified Diff: dart_style/lib/src/debug.dart

Issue 1400473008: Roll Observatory packages and add a roll script (Closed) Base URL: git@github.com:dart-lang/observatory_pub_packages.git@master
Patch Set: Created 5 years, 2 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 | « dart_style/lib/src/dart_formatter.dart ('k') | dart_style/lib/src/error_listener.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: dart_style/lib/src/debug.dart
diff --git a/dart_style/lib/src/debug.dart b/dart_style/lib/src/debug.dart
deleted file mode 100644
index 47ca7fe41cbf7d1e0d82a582cd69006e4e826733..0000000000000000000000000000000000000000
--- a/dart_style/lib/src/debug.dart
+++ /dev/null
@@ -1,216 +0,0 @@
-// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-/// Internal debugging utilities.
-library dart_style.src.debug;
-
-import 'dart:math' as math;
-
-import 'chunk.dart';
-import 'line_splitting/rule_set.dart';
-import 'rule/rule.dart';
-
-/// Set this to `true` to turn on diagnostic output while building chunks.
-bool traceChunkBuilder = false;
-
-/// Set this to `true` to turn on diagnostic output while writing lines.
-bool traceLineWriter = false;
-
-/// Set this to `true` to turn on diagnostic output while line splitting.
-bool traceSplitter = false;
-
-bool useAnsiColors = false;
-
-const unicodeSection = "\u00a7";
-const unicodeMidDot = "\u00b7";
-
-/// The whitespace prefixing each line of output.
-String _indent = "";
-
-void indent() {
- _indent = " $_indent";
-}
-
-void unindent() {
- _indent = _indent.substring(2);
-}
-
-/// Constants for ANSI color escape codes.
-final _cyan = _color("\u001b[36m");
-final _gray = _color("\u001b[1;30m");
-final _green = _color("\u001b[32m");
-final _red = _color("\u001b[31m");
-final _magenta = _color("\u001b[35m");
-final _none = _color("\u001b[0m");
-final _noColor = _color("\u001b[39m");
-final _bold = _color("\u001b[1m");
-
-/// Prints [message] to stdout with each line correctly indented.
-void log([message]) {
- if (message == null) {
- print("");
- return;
- }
-
- print(_indent + message.toString().replaceAll("\n", "\n$_indent"));
-}
-
-/// Wraps [message] in gray ANSI escape codes if enabled.
-String gray(message) => "$_gray$message$_none";
-
-/// Wraps [message] in green ANSI escape codes if enabled.
-String green(message) => "$_green$message$_none";
-
-/// Wraps [message] in bold ANSI escape codes if enabled.
-String bold(message) => "$_bold$message$_none";
-
-/// Prints [chunks] to stdout, one chunk per line, with detailed information
-/// about each chunk.
-void dumpChunks(int start, List<Chunk> chunks) {
- if (chunks.isEmpty) return;
-
- // Show the spans as vertical bands over their range.
- var spans = new Set();
- addSpans(chunks) {
- for (var chunk in chunks) {
- spans.addAll(chunk.spans);
-
- addSpans(chunk.blockChunks);
- }
- }
-
- addSpans(chunks);
-
- spans = spans.toList();
-
- var rules = chunks
- .map((chunk) => chunk.rule)
- .where((rule) => rule != null && rule is! HardSplitRule)
- .toSet();
-
- var rows = [];
-
- addChunk(chunk, prefix, index) {
- var row = [];
- row.add("$prefix$index:");
-
- if (chunk.text.length > 70) {
- row.add(chunk.text.substring(0, 70));
- } else {
- row.add(chunk.text);
- }
-
- var spanBars = "";
- for (var span in spans) {
- spanBars += chunk.spans.contains(span) ? "|" : " ";
- }
- row.add(spanBars);
-
- writeIf(predicate, String callback()) {
- if (predicate) {
- row.add(callback());
- } else {
- row.add("");
- }
- }
-
- if (chunk.rule != null) {
- row.add(chunk.isHardSplit ? "" : chunk.rule.toString());
-
- var outerRules = chunk.rule.outerRules.toSet().intersection(rules);
- writeIf(outerRules.isNotEmpty, () => "-> ${outerRules.join(" ")}");
- } else {
- row.add("(no rule)");
-
- // Outer rules.
- row.add("");
- }
-
- writeIf(chunk.indent != null && chunk.indent != 0,
- () => "indent ${chunk.indent}");
-
- writeIf(chunk.nesting != null && chunk.nesting != 0,
- () => "nest ${chunk.nesting}");
-
- writeIf(chunk.flushLeft != null && chunk.flushLeft, () => "flush");
-
- rows.add(row);
-
- for (var j = 0; j < chunk.blockChunks.length; j++) {
- addChunk(chunk.blockChunks[j], "$prefix$index.", j);
- }
- }
-
- var i = start;
- for (var chunk in chunks) {
- addChunk(chunk, "", i);
- i++;
- }
-
- var rowWidths = new List.filled(rows.first.length, 0);
- for (var row in rows) {
- for (var i = 0; i < row.length; i++) {
- rowWidths[i] = math.max(rowWidths[i], row[i].length);
- }
- }
-
- var buffer = new StringBuffer();
- for (var row in rows) {
- for (var i = 0; i < row.length; i++) {
- var cell = row[i].padRight(rowWidths[i]);
-
- if (i != 1) cell = gray(cell);
-
- buffer.write(cell);
- buffer.write(" ");
- }
-
- buffer.writeln();
- }
-
- print(buffer.toString());
-}
-
-/// Convert the line to a [String] representation.
-///
-/// It will determine how best to split it into multiple lines of output and
-/// return a single string that may contain one or more newline characters.
-void dumpLines(List<Chunk> chunks, int firstLineIndent, SplitSet splits) {
- var buffer = new StringBuffer();
-
- writeIndent(indent) => buffer.write(gray("| " * (indent ~/ 2)));
-
- writeChunksUnsplit(List<Chunk> chunks) {
- for (var chunk in chunks) {
- buffer.write(chunk.text);
- if (chunk.spaceWhenUnsplit) buffer.write(" ");
-
- // Recurse into the block.
- writeChunksUnsplit(chunk.blockChunks);
- }
- }
-
- writeIndent(firstLineIndent);
-
- for (var i = 0; i < chunks.length - 1; i++) {
- var chunk = chunks[i];
- buffer.write(chunk.text);
-
- if (splits.shouldSplitAt(i)) {
- for (var j = 0; j < (chunk.isDouble ? 2 : 1); j++) {
- buffer.writeln();
- writeIndent(splits.getColumn(i));
- }
- } else {
- writeChunksUnsplit(chunk.blockChunks);
-
- if (chunk.spaceWhenUnsplit) buffer.write(" ");
- }
- }
-
- buffer.write(chunks.last.text);
- log(buffer);
-}
-
-String _color(String ansiEscape) => useAnsiColors ? ansiEscape : "";
« no previous file with comments | « dart_style/lib/src/dart_formatter.dart ('k') | dart_style/lib/src/error_listener.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698