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 class
TokenStreamDumper.RecycleToken
private static class
TokenStreamDumper.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 JavaTypeInstance
classType
private TokenStreamDumper.Token
cr
private java.util.Set<JavaTypeInstance>
emitted
private IllegalIdentifierDump
illegalIdentifierDump
private MethodErrorCollector
methodErrorCollector
private Options
options
private java.util.Map<java.lang.Object,java.lang.Object>
refMap
private OutputSinkFactory.Sink<SinkReturns.Token>
sink
private TokenStreamDumper.RecycleToken
tok
private TypeUsageInformation
typeUsageInformation
private int
version
-
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 void
addSummaryError(Method method, java.lang.String s)
private SinkReturns.TokenType
adjustComment(SinkReturns.TokenType type)
Dumper
beginBlockComment(boolean inline)
boolean
canEmitClass(JavaTypeInstance type)
void
close()
Dumper
comment(java.lang.String s)
Dumper
dump(JavaTypeInstance javaTypeInstance, TypeContext typeContext)
Dumper
dump(Dumpable d)
Dumper
endBlockComment()
Dumper
endCodeln()
void
enqueuePendingCarriageReturn()
Dumper
explicitIndent()
Dumper
fieldName(java.lang.String name, JavaTypeInstance owner, boolean hiddenDeclaration, boolean isStatic, boolean defines)
private void
flushPendingCR()
java.io.BufferedOutputStream
getAdditionalOutputStream(java.lang.String description)
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)
Dumper
removePendingCarriageReturn()
Dumper
separator(java.lang.String s)
private void
sink(SinkReturns.TokenType type, java.lang.String text)
private void
sink(TokenStreamDumper.Token token)
Dumper
withTypeUsageInformation(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:
enqueuePendingCarriageReturn
in interfaceDumper
- Overrides:
enqueuePendingCarriageReturn
in classAbstractDumper
-
removePendingCarriageReturn
public Dumper removePendingCarriageReturn()
- Specified by:
removePendingCarriageReturn
in interfaceDumper
- Overrides:
removePendingCarriageReturn
in classAbstractDumper
-
comment
public Dumper comment(java.lang.String s)
- Specified by:
comment
in interfaceDumper
- Overrides:
comment
in classAbstractDumper
-
beginBlockComment
public Dumper beginBlockComment(boolean inline)
- Specified by:
beginBlockComment
in interfaceDumper
- Overrides:
beginBlockComment
in classAbstractDumper
-
endBlockComment
public Dumper endBlockComment()
- Specified by:
endBlockComment
in interfaceDumper
- Overrides:
endBlockComment
in 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:
getCurrentLine
in interfaceDumper
- Overrides:
getCurrentLine
in classAbstractDumper
-
getAdditionalOutputStream
public java.io.BufferedOutputStream getAdditionalOutputStream(java.lang.String description)
-
-