Package com.tonic.analysis.source.emit
Class SourceEmitterConfig
- java.lang.Object
-
- com.tonic.analysis.source.emit.SourceEmitterConfig
-
public class SourceEmitterConfig extends Object
Configuration options for source code emission.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classSourceEmitterConfig.BuilderFluent builder for emitter settings; every setting has a default.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static SourceEmitterConfig.Builderbuilder()static SourceEmitterConfigcompact()static SourceEmitterConfigdebug()static SourceEmitterConfigdefaults()IdentifierModegetIdentifierMode()StringgetIndentString()intgetMaxLineLength()booleanisAlwaysUseBraces()booleanisBlankLinesBetweenMethods()booleanisIncludeIRComments()booleanisIncludeLineNumbers()booleanisResolveBootstrapMethods()booleanisUseFullyQualifiedNames()booleanisUseVarKeyword()
-
-
-
Method Detail
-
isUseVarKeyword
public boolean isUseVarKeyword()
- Returns:
- true if local declarations use var instead of the declared type
-
isIncludeIRComments
public boolean isIncludeIRComments()
- Returns:
- true if IR instructions are emitted as comments
-
isIncludeLineNumbers
public boolean isIncludeLineNumbers()
- Returns:
- true if original line numbers are emitted as comments
-
getIndentString
public String getIndentString()
- Returns:
- the string used for one indent level
-
isAlwaysUseBraces
public boolean isAlwaysUseBraces()
- Returns:
- true if single-statement bodies are still braced
-
isBlankLinesBetweenMethods
public boolean isBlankLinesBetweenMethods()
- Returns:
- true if a blank line separates methods
-
getMaxLineLength
public int getMaxLineLength()
- Returns:
- the line length the emitter wraps at, 0 for no limit
-
isUseFullyQualifiedNames
public boolean isUseFullyQualifiedNames()
- Returns:
- true if type names are emitted fully qualified instead of imported
-
getIdentifierMode
public IdentifierMode getIdentifierMode()
- Returns:
- how non-standard or obfuscated identifiers are emitted
-
isResolveBootstrapMethods
public boolean isResolveBootstrapMethods()
- Returns:
- true if invokedynamic sites are resolved back to the methods they call
-
builder
public static SourceEmitterConfig.Builder builder()
- Returns:
- a new builder preloaded with the default emitter settings
-
defaults
public static SourceEmitterConfig defaults()
- Returns:
- a config with every builder setting left at its default
-
debug
public static SourceEmitterConfig debug()
- Returns:
- a config that emits IR comments and line numbers
-
compact
public static SourceEmitterConfig compact()
- Returns:
- a config with two-space indent, no optional braces and no blank line between methods
-
-