Package org.benf.cfr.reader.util.output
Class StreamDumper
- java.lang.Object
-
- org.benf.cfr.reader.util.output.AbstractDumper
-
- org.benf.cfr.reader.util.output.StreamDumper
-
- All Implemented Interfaces:
Dumper
,MethodErrorCollector
- Direct Known Subclasses:
FileDumper
,StdIODumper
,StringStreamDumper
public abstract class StreamDumper extends AbstractDumper
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.benf.cfr.reader.util.output.Dumper
Dumper.CannotCreate
-
Nested classes/interfaces inherited from interface org.benf.cfr.reader.util.output.MethodErrorCollector
MethodErrorCollector.SummaryDumperMethodErrorCollector
-
-
Field Summary
Fields Modifier and Type Field Description private boolean
convertUTF
protected java.util.Set<JavaTypeInstance>
emitted
protected IllegalIdentifierDump
illegalIdentifierDump
protected Options
options
private TypeUsageInformation
typeUsageInformation
-
Fields inherited from class org.benf.cfr.reader.util.output.AbstractDumper
context, STANDARD_INDENT
-
-
Constructor Summary
Constructors Constructor Description StreamDumper(TypeUsageInformation typeUsageInformation, Options options, IllegalIdentifierDump illegalIdentifierDump, MovableDumperContext context)
StreamDumper(TypeUsageInformation typeUsageInformation, Options options, IllegalIdentifierDump illegalIdentifierDump, MovableDumperContext context, java.util.Set<JavaTypeInstance> emitted)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description boolean
canEmitClass(JavaTypeInstance type)
private void
doIndent()
Dumper
dump(JavaTypeInstance javaTypeInstance, TypeContext typeContext)
Dumper
dump(Dumpable d)
Dumper
endCodeln()
Dumper
explicitIndent()
Dumper
fieldName(java.lang.String name, JavaTypeInstance owner, boolean hiddenDeclaration, boolean isStatic, boolean defines)
int
getCurrentLine()
ObfuscationMapping
getObfuscationMapping()
int
getOutputCount()
TypeUsageInformation
getTypeUsageInformation()
Dumper
identifier(java.lang.String s, java.lang.Object ref, boolean defines)
void
indent(int diff)
Dumper
keyword(java.lang.String s)
Dumper
label(java.lang.String s, boolean inline)
Dumper
literal(java.lang.String s, java.lang.Object o)
Dumper
methodName(java.lang.String s, MethodPrototype p, boolean special, boolean defines)
Dumper
newln()
Dumper
operator(java.lang.String s)
Dumper
packageName(JavaRefTypeInstance t)
Dumper
print(char c)
Dumper
print(java.lang.String s)
private void
processPendingCR()
Dumper
separator(java.lang.String s)
protected abstract void
write(java.lang.String s)
-
Methods inherited from class org.benf.cfr.reader.util.output.AbstractDumper
beginBlockComment, comment, dump, endBlockComment, enqueuePendingCarriageReturn, getIndentLevel, informBytecodeLoc, removePendingCarriageReturn
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.benf.cfr.reader.util.output.Dumper
addSummaryError, close, getAdditionalOutputStream, withTypeUsageInformation
-
-
-
-
Field Detail
-
typeUsageInformation
private final TypeUsageInformation typeUsageInformation
-
options
protected final Options options
-
illegalIdentifierDump
protected final IllegalIdentifierDump illegalIdentifierDump
-
convertUTF
private final boolean convertUTF
-
emitted
protected final java.util.Set<JavaTypeInstance> emitted
-
-
Constructor Detail
-
StreamDumper
StreamDumper(TypeUsageInformation typeUsageInformation, Options options, IllegalIdentifierDump illegalIdentifierDump, MovableDumperContext context)
-
StreamDumper
StreamDumper(TypeUsageInformation typeUsageInformation, Options options, IllegalIdentifierDump illegalIdentifierDump, MovableDumperContext context, java.util.Set<JavaTypeInstance> emitted)
-
-
Method Detail
-
getTypeUsageInformation
public TypeUsageInformation getTypeUsageInformation()
-
getObfuscationMapping
public ObfuscationMapping getObfuscationMapping()
-
write
protected abstract void write(java.lang.String s)
-
label
public Dumper label(java.lang.String s, boolean inline)
-
identifier
public Dumper identifier(java.lang.String s, java.lang.Object ref, boolean defines)
-
methodName
public Dumper methodName(java.lang.String s, MethodPrototype p, boolean special, boolean defines)
-
packageName
public Dumper packageName(JavaRefTypeInstance t)
-
print
public Dumper print(java.lang.String s)
-
print
public Dumper print(char c)
-
keyword
public Dumper keyword(java.lang.String s)
-
operator
public Dumper operator(java.lang.String s)
-
separator
public Dumper separator(java.lang.String s)
-
literal
public Dumper literal(java.lang.String s, java.lang.Object o)
-
newln
public Dumper newln()
-
endCodeln
public Dumper endCodeln()
-
doIndent
private void doIndent()
-
processPendingCR
private void processPendingCR()
-
explicitIndent
public Dumper explicitIndent()
-
indent
public void indent(int diff)
-
fieldName
public Dumper fieldName(java.lang.String name, JavaTypeInstance owner, boolean hiddenDeclaration, boolean isStatic, boolean defines)
-
dump
public Dumper dump(JavaTypeInstance javaTypeInstance, TypeContext typeContext)
-
canEmitClass
public boolean canEmitClass(JavaTypeInstance type)
-
getOutputCount
public int getOutputCount()
-
getCurrentLine
public int getCurrentLine()
- Specified by:
getCurrentLine
in interfaceDumper
- Overrides:
getCurrentLine
in classAbstractDumper
-
-