Index: dart/compiler/java/com/google/dart/compiler/util/AbstractTextOutput.java |
diff --git a/dart/compiler/java/com/google/dart/compiler/util/AbstractTextOutput.java b/dart/compiler/java/com/google/dart/compiler/util/AbstractTextOutput.java |
deleted file mode 100644 |
index 9c8d2b1cd1631bba7055a157dbe517b2ca1cc846..0000000000000000000000000000000000000000 |
--- a/dart/compiler/java/com/google/dart/compiler/util/AbstractTextOutput.java |
+++ /dev/null |
@@ -1,132 +0,0 @@ |
-// Copyright (c) 2011, 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. |
- |
-package com.google.dart.compiler.util; |
- |
-import java.io.PrintWriter; |
-import java.util.Arrays; |
- |
-/** |
- * An abstract base type to build TextOutput implementations. |
- */ |
-public abstract class AbstractTextOutput implements TextOutput { |
- private final boolean compact; |
- private int identLevel = 0; |
- private int indentGranularity = 2; |
- private char[][] indents = new char[][] {new char[0]}; |
- private boolean justNewlined; |
- private PrintWriter out; |
- private int position = 0; |
- private int line = 0; |
- private int column = 0; |
- |
- protected AbstractTextOutput(boolean compact) { |
- this.compact = compact; |
- } |
- |
- public int getPosition() { |
- return position; |
- } |
- |
- public int getLine() { |
- return line; |
- } |
- |
- public int getColumn() { |
- return column; |
- } |
- |
- public void indentIn() { |
- ++identLevel; |
- if (identLevel >= indents.length) { |
- // Cache a new level of indentation string. |
- // |
- char[] newIndentLevel = new char[identLevel * indentGranularity]; |
- Arrays.fill(newIndentLevel, ' '); |
- char[][] newIndents = new char[indents.length + 1][]; |
- System.arraycopy(indents, 0, newIndents, 0, indents.length); |
- newIndents[identLevel] = newIndentLevel; |
- indents = newIndents; |
- } |
- } |
- |
- public void indentOut() { |
- --identLevel; |
- } |
- |
- public void newline() { |
- out.print('\n'); |
- position++; |
- line++; |
- column = 0; |
- justNewlined = true; |
- } |
- |
- public void newlineOpt() { |
- if (!compact) { |
- newline(); |
- } |
- } |
- |
- public void print(char c) { |
- maybeIndent(); |
- out.print(c); |
- position++; |
- column++; |
- justNewlined = false; |
- } |
- |
- public void print(char[] s) { |
- maybeIndent(); |
- printAndCount(s); |
- justNewlined = false; |
- } |
- |
- public void print(String s) { |
- maybeIndent(); |
- printAndCount(s.toCharArray()); |
- justNewlined = false; |
- } |
- |
- // Why don't the "Opt" methods update "justNewLined"? |
- public void printOpt(char c) { |
- if (!compact) { |
- maybeIndent(); |
- out.print(c); |
- position += 1; |
- column++; |
- } |
- } |
- |
- public void printOpt(char[] s) { |
- if (!compact) { |
- maybeIndent(); |
- printAndCount(s); |
- } |
- } |
- |
- public void printOpt(String s) { |
- if (!compact) { |
- maybeIndent(); |
- printAndCount(s.toCharArray()); |
- } |
- } |
- |
- protected void setPrintWriter(PrintWriter out) { |
- this.out = out; |
- } |
- |
- private void maybeIndent() { |
- if (justNewlined && !compact) { |
- printAndCount(indents[identLevel]); |
- justNewlined = false; |
- } |
- } |
- |
- private void printAndCount(char[] chars) { |
- position += chars.length; |
- column += chars.length; |
- out.print(chars); |
- } |
-} |