Package org.benf.cfr.reader.util.output
Class TokenStreamDumper
- java.lang.Object
-
- org.benf.cfr.reader.util.output.AbstractDumper
-
- org.benf.cfr.reader.util.output.TokenStreamDumper
-
- All Implemented Interfaces:
Dumper,MethodErrorCollector
public class TokenStreamDumper extends AbstractDumper
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classTokenStreamDumper.RecycleTokenprivate static classTokenStreamDumper.Token-
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 JavaTypeInstanceclassTypeprivate TokenStreamDumper.Tokencrprivate java.util.Set<JavaTypeInstance>emittedprivate IllegalIdentifierDumpillegalIdentifierDumpprivate MethodErrorCollectormethodErrorCollectorprivate Optionsoptionsprivate java.util.Map<java.lang.Object,java.lang.Object>refMapprivate OutputSinkFactory.Sink<SinkReturns.Token>sinkprivate TokenStreamDumper.RecycleTokentokprivate TypeUsageInformationtypeUsageInformationprivate intversion-
Fields inherited from class org.benf.cfr.reader.util.output.AbstractDumper
context, STANDARD_INDENT
-
-
Constructor Summary
Constructors Constructor Description TokenStreamDumper(OutputSinkFactory.Sink<SinkReturns.Token> sink, int version, JavaTypeInstance classType, MethodErrorCollector methodErrorCollector, TypeUsageInformation typeUsageInformation, Options options, IllegalIdentifierDump illegalIdentifierDump, MovableDumperContext context)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddSummaryError(Method method, java.lang.String s)private SinkReturns.TokenTypeadjustComment(SinkReturns.TokenType type)DumperbeginBlockComment(boolean inline)booleancanEmitClass(JavaTypeInstance type)voidclose()Dumpercomment(java.lang.String s)Dumperdump(JavaTypeInstance javaTypeInstance, TypeContext typeContext)Dumperdump(Dumpable d)DumperendBlockComment()DumperendCodeln()voidenqueuePendingCarriageReturn()DumperexplicitIndent()DumperfieldName(java.lang.String name, JavaTypeInstance owner, boolean hiddenDeclaration, boolean isStatic, boolean defines)private voidflushPendingCR()java.io.BufferedOutputStreamgetAdditionalOutputStream(java.lang.String description)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)DumperremovePendingCarriageReturn()Dumperseparator(java.lang.String s)private voidsink(SinkReturns.TokenType type, java.lang.String text)private voidsink(TokenStreamDumper.Token token)DumperwithTypeUsageInformation(TypeUsageInformation innerclassTypeUsageInformation)-
Methods inherited from class org.benf.cfr.reader.util.output.AbstractDumper
dump, getIndentLevel, informBytecodeLoc
-
-
-
-
Field Detail
-
tok
private final TokenStreamDumper.RecycleToken tok
-
cr
private final TokenStreamDumper.Token cr
-
sink
private final OutputSinkFactory.Sink<SinkReturns.Token> sink
-
version
private final int version
-
classType
private final JavaTypeInstance classType
-
methodErrorCollector
private final MethodErrorCollector methodErrorCollector
-
typeUsageInformation
private final TypeUsageInformation typeUsageInformation
-
options
private final Options options
-
illegalIdentifierDump
private final IllegalIdentifierDump illegalIdentifierDump
-
refMap
private final java.util.Map<java.lang.Object,java.lang.Object> refMap
-
emitted
private final java.util.Set<JavaTypeInstance> emitted
-
-
Constructor Detail
-
TokenStreamDumper
TokenStreamDumper(OutputSinkFactory.Sink<SinkReturns.Token> sink, int version, JavaTypeInstance classType, MethodErrorCollector methodErrorCollector, TypeUsageInformation typeUsageInformation, Options options, IllegalIdentifierDump illegalIdentifierDump, MovableDumperContext context)
-
-
Method Detail
-
getTypeUsageInformation
public TypeUsageInformation getTypeUsageInformation()
-
getObfuscationMapping
public ObfuscationMapping getObfuscationMapping()
-
sink
private void sink(SinkReturns.TokenType type, java.lang.String text)
-
adjustComment
private SinkReturns.TokenType adjustComment(SinkReturns.TokenType type)
-
sink
private void sink(TokenStreamDumper.Token token)
-
flushPendingCR
private void flushPendingCR()
-
label
public Dumper label(java.lang.String s, boolean inline)
-
enqueuePendingCarriageReturn
public void enqueuePendingCarriageReturn()
- Specified by:
enqueuePendingCarriageReturnin interfaceDumper- Overrides:
enqueuePendingCarriageReturnin classAbstractDumper
-
removePendingCarriageReturn
public Dumper removePendingCarriageReturn()
- Specified by:
removePendingCarriageReturnin interfaceDumper- Overrides:
removePendingCarriageReturnin classAbstractDumper
-
comment
public Dumper comment(java.lang.String s)
- Specified by:
commentin interfaceDumper- Overrides:
commentin classAbstractDumper
-
beginBlockComment
public Dumper beginBlockComment(boolean inline)
- Specified by:
beginBlockCommentin interfaceDumper- Overrides:
beginBlockCommentin classAbstractDumper
-
endBlockComment
public Dumper endBlockComment()
- Specified by:
endBlockCommentin interfaceDumper- Overrides:
endBlockCommentin classAbstractDumper
-
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)
-
print
public Dumper print(java.lang.String s)
-
methodName
public Dumper methodName(java.lang.String s, MethodPrototype p, boolean special, boolean defines)
-
packageName
public Dumper packageName(JavaRefTypeInstance t)
-
identifier
public Dumper identifier(java.lang.String s, java.lang.Object ref, boolean defines)
-
print
public Dumper print(char c)
-
newln
public Dumper newln()
-
endCodeln
public Dumper endCodeln()
-
explicitIndent
public Dumper explicitIndent()
-
indent
public void indent(int diff)
-
dump
public Dumper dump(JavaTypeInstance javaTypeInstance, TypeContext typeContext)
-
close
public void close()
-
addSummaryError
public void addSummaryError(Method method, java.lang.String s)
-
canEmitClass
public boolean canEmitClass(JavaTypeInstance type)
-
fieldName
public Dumper fieldName(java.lang.String name, JavaTypeInstance owner, boolean hiddenDeclaration, boolean isStatic, boolean defines)
-
withTypeUsageInformation
public Dumper withTypeUsageInformation(TypeUsageInformation innerclassTypeUsageInformation)
-
getOutputCount
public int getOutputCount()
-
getCurrentLine
public int getCurrentLine()
- Specified by:
getCurrentLinein interfaceDumper- Overrides:
getCurrentLinein classAbstractDumper
-
getAdditionalOutputStream
public java.io.BufferedOutputStream getAdditionalOutputStream(java.lang.String description)
-
-