Serialized Form
name
java.lang.String name
hash
int hash
regularMembers
_internalOnly_NameHash[] regularMembers
implicitMembers
_internalOnly_NameHash[] implicitMembers
writeReplace
private java.lang.Object writeReplace()
throws java.io.ObjectStreamException
- Throws:
java.io.ObjectStreamException
baseType
Type baseType
annotations
Annotation[] annotations
base
Type base
arguments
AnnotationArgument[] arguments
name
java.lang.String name
value
java.lang.String value
definitionType
DefinitionType definitionType
selfType
Lazy<T> selfType
structure
Lazy<T> structure
savedAnnotations
java.lang.String[] savedAnnotations
startTime
long startTime
outputs
OutputSetting[] outputs
baseType
Type baseType
value
java.lang.String value
valueParameters
ParameterList[] valueParameters
returnType
Type returnType
name
java.lang.String name
access
Access access
modifiers
Modifiers modifiers
annotations
Annotation[] annotations
baseType
Type baseType
clause
TypeParameter[] clause
sourceFile
java.io.File sourceFile
targetClassName
java.lang.String targetClassName
targetSource
Source targetSource
context
DependencyContext context
tpe
Type tpe
id
java.lang.String id
value
java.lang.String value
sourceFile
java.io.File sourceFile
targetFile
java.io.File targetFile
context
DependencyContext context
name
java.lang.String name
tpe
Type tpe
hasDefault
boolean hasDefault
modifier
ParameterModifier modifier
flags
byte flags
sourceDirectory
java.lang.String sourceDirectory
outputDirectory
java.lang.String outputDirectory
name
java.lang.String name
baseType
SimpleType baseType
typeArguments
Type[] typeArguments
typeParameters
TypeParameter[] typeParameters
parameters
MethodParameter[] parameters
isImplicit
boolean isImplicit
id
java.lang.String id
components
PathComponent[] components
baseType
Type baseType
parameters
TypeParameter[] parameters
prefix
SimpleType prefix
id
java.lang.String id
qualifier
Qualifier qualifier
path
Path path
compilation
Compilation compilation
hash
byte[] hash
api
SourceAPI api
apiHash
int apiHash
_internalOnly_nameHashes
_internalOnly_NameHashes _internalOnly_nameHashes
hasMacro
boolean hasMacro
packages
Package[] packages
definitions
Definition[] definitions
parents
Lazy<T> parents
declared
Lazy<T> declared
inherited
Lazy<T> inherited
qualifier
Path qualifier
tpe
Type tpe
lowerBound
Type lowerBound
upperBound
Type upperBound
id
java.lang.String id
annotations
Annotation[] annotations
typeParameters
TypeParameter[] typeParameters
variance
Variance variance
lowerBound
Type lowerBound
upperBound
Type upperBound
classpath
java.io.File[] classpath
- The classpath to use for compilation.
This will be modified according to the ClasspathOptions used to configure the ScalaCompiler.
sources
java.io.File[] sources
- All sources that should be recompiled.
This should include Scala and Java sources, which are identified by their extension.
classesDirectory
java.io.File classesDirectory
scalacOptions
java.lang.String[] scalacOptions
- The options to pass to the Scala compiler other than the sources and classpath to use.
javacOptions
java.lang.String[] javacOptions
- The options to pass to the Java compiler other than the sources and classpath to use.
maxErrors
int maxErrors
sourcePositionMapper
F1<A1,R> sourcePositionMapper
order
CompileOrder order
- Controls the order in which Java and Scala sources are compiled.
analysis
CompileAnalysis analysis
setup
MiniSetup setup
hasModified
boolean hasModified
transitiveStep
int transitiveStep
- After which step include whole transitive closure of invalidated source files.
recompileAllFraction
double recompileAllFraction
- What's the fraction of invalidated source files when we switch to recompiling
all files and giving up incremental compilation altogether. That's useful in
cases when probability that we end up recompiling most of source files but
in multiple steps is high. Multi-step incremental recompilation is slower
than recompiling everything in one step.
relationsDebug
boolean relationsDebug
- Print very detailed information about relations, such as dependencies between source files.
apiDebug
boolean apiDebug
- Enable tools for debugging API changes.
apiDiffContextSize
int apiDiffContextSize
- Controls context size (in lines) displayed when diffs are produced for textual API
representation.
This option is used only when `apiDebug == true`.
apiDumpDirectory
xsbti.Maybe<t> apiDumpDirectory
- The directory where we dump textual representation of APIs. This method might be called
only if apiDebug returns true. This is unused option at the moment as the needed functionality
is not implemented yet.
classfileManagerType
xsbti.Maybe<t> classfileManagerType
- ClassfileManager that will handle class file deletion and addition during a single incremental compilation run.
recompileOnMacroDef
xsbti.Maybe<t> recompileOnMacroDef
- Determines whether incremental compiler should recompile all dependencies of a file
that contains a macro definition.
nameHashing
boolean nameHashing
- Determines whether incremental compiler uses the new algorithm known as name hashing.
antStyle
boolean antStyle
- THE `antStyle` OPTION IS UNSUPPORTED, MAY GO AWAY AT ANY POINT.
Enables "ant-style" mode of incremental compilation. This mode emulates what Ant's scalac command does.
The idea is to recompile just changed source files and not perform any invalidation of dependencies. This
is a very naive mode of incremental compilation that very often leads to broken binaries.
The Ant-style mode has been introduced because Scala team might need it for migration of Scala compiler to sbt.
It was added as a defensive measure so that the SBT build would be at least no worse than Ant wrt
recompilation. When working on changes that are pathological for the normal inc compiler mode, one
could switch in to this mode and use our old tricks of touching files we know need recompilation.
The name hashing algorithm doesn't work well with Scala compiler sources due to deep inheritance chains.
There's a plan to refactor compiler's code to use more composition instead of inheritance.
Once Scala compiler sources are refactored to work well with name hashing algorithm this option will be
deleted immediately.
See also https://github.com/sbt/incrementalcompiler/issues/22
extra
java.util.Map<K,V> extra
- Extra options
compilers
Compilers compilers
- The Scala and Java compilers to use for compilation.
options
CompileOptions options
- Standard compilation options, such as the sources and classpath to use.
setup
Setup setup
- Configures incremental compilation.
previousResult
PreviousResult previousResult
scalacOptions
java.lang.String[] scalacOptions
- The options to pass to the Scala compiler other than the sources and classpath to use.
javacOptions
java.lang.String[] javacOptions
- The options to pass to the Java compiler other than the sources and classpath to use.
output
Output output
options
MiniOptions options
compilerVersion
java.lang.String compilerVersion
order
CompileOrder order
nameHashing
boolean nameHashing
analysis
xsbti.Maybe<t> analysis
setup
xsbti.Maybe<t> setup
analysisMap
F1<A1,R> analysisMap
- Provides the Analysis for the given classpath entry.
definesClass
F1<A1,R> definesClass
- Provides a function to determine if classpath entry `file` contains a given class.
The returned function should generally cache information about `file`, such as the list of entries in a jar.
skip
boolean skip
- If true, no sources are actually compiled and the Analysis from the previous compilation is returned.
cacheFile
java.io.File cacheFile
- The file used to cache information across compilations.
This file can be removed to force a full recompilation.
The file should be unique and not shared between compilations.
cache
GlobalsCache cache
incrementalCompilerOptions
IncOptions incrementalCompilerOptions
reporter
Reporter reporter
- The reporter that should be used to report scala compilation to.
backupDirectory
java.io.File backupDirectory
logger
xsbti.Logger logger