001 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
002 // for details. All rights reserved. Use of this source code is governed by a
003 // BSD-style license that can be found in the LICENSE file.
004
005 package com.google.dart.compiler.util;
006
007 /**
008 * Interface used for printing text output.
009 */
010 public interface TextOutput {
011 int getPosition();
012
013 int getLine();
014
015 int getColumn();
016
017 void indentIn();
018
019 void indentOut();
020
021 void newline();
022
023 void print(char c);
024
025 void print(int v);
026
027 void print(double v);
028
029 void print(char[] s);
030
031 void print(CharSequence s);
032
033 void printOpt(char c);
034
035 void printOpt(char[] s);
036
037 void printOpt(String s);
038
039 boolean isCompact();
040
041 boolean isJustNewlined();
042
043 void setOutListener(OutListener outListener);
044
045 void maybeIndent();
046
047 public interface OutListener {
048 void newLined();
049
050 void indentedAfterNewLine();
051 }
052 }