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 booleanconvertUTFprotected java.util.Set<JavaTypeInstance>emittedprotected IllegalIdentifierDumpillegalIdentifierDumpprotected Optionsoptionsprivate TypeUsageInformationtypeUsageInformation-
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 booleancanEmitClass(JavaTypeInstance type)private voiddoIndent()Dumperdump(JavaTypeInstance javaTypeInstance, TypeContext typeContext)Dumperdump(Dumpable d)DumperendCodeln()DumperexplicitIndent()DumperfieldName(java.lang.String name, JavaTypeInstance owner, boolean hiddenDeclaration, boolean isStatic, boolean defines)intgetCurrentLine()ObfuscationMappinggetObfuscationMapping()intgetOutputCount()TypeUsageInformationgetTypeUsageInformation()Dumperidentifier(java.lang.String s, java.lang.Object ref, boolean defines)voidindent(int diff)Dumperkeyword(java.lang.String s)Dumperlabel(java.lang.String s, boolean inline)Dumperliteral(java.lang.String s, java.lang.Object o)DumpermethodName(java.lang.String s, MethodPrototype p, boolean special, boolean defines)Dumpernewln()Dumperoperator(java.lang.String s)DumperpackageName(JavaRefTypeInstance t)Dumperprint(char c)Dumperprint(java.lang.String s)private voidprocessPendingCR()Dumperseparator(java.lang.String s)protected abstract voidwrite(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:
getCurrentLinein interfaceDumper- Overrides:
getCurrentLinein classAbstractDumper
-
-