package inc
- Alphabetic
- Public
- All
Type Members
- sealed abstract class APIChange extends xsbti.compile.APIChange
-
final
case class
APIChangeDueToMacroDefinition(modified0: String) extends APIChange with Product with Serializable
If we recompile a source file that contains a macro definition then we always assume that it's api has changed.
If we recompile a source file that contains a macro definition then we always assume that it's api has changed. The reason is that there's no way to determine if changes to macros implementation are affecting its users or not. Therefore we err on the side of caution.
- final class APIChanges extends AnyRef
- trait APIs extends AnyRef
- sealed class AdaptedRunProfiler extends RunProfiler with DelegatingRunProfiler
- final class Added extends Change
- trait Analysis extends CompileAnalysis
- sealed abstract class Change extends AnyRef
- trait CompanionsStore extends AnyRef
-
final
class
Compilation extends xsbti.compile.analysis.Compilation
Note that this implementation of the interface is part of the public Zinc Scala API.
-
trait
Compilations extends ReadCompilations
Information about compiler runs accumulated since
clean
command has been run. - final case class ConcreteAnalysisContents(analysis: CompileAnalysis, miniSetup: MiniSetup) extends AnalysisContents with Product with Serializable
-
class
DummyVirtualFile extends BasicVirtualFileRef with VirtualFile
This is a dummy VirtualFile that's a simple wrapper around Path.
-
trait
ExternalLookup extends xsbti.compile.ExternalHooks.Lookup
Defines a hook interface that IDEs or build tools can mock to modify the way Zinc invalidates the incremental compiler.
Defines a hook interface that IDEs or build tools can mock to modify the way Zinc invalidates the incremental compiler. These hooks operate at a high-level of abstraction and only allow to modify the inputs of the initial change detection.
-
final
class
FarmHash extends StampBase
Define the hash of the file contents.
Define the hash of the file contents. It's a typical stamp for compilation sources.
-
sealed
trait
FileValueCache[T] extends AnyRef
Cache based on path and its stamp.
-
final
class
Hash extends StampBase
Define the hash of the file contents.
Define the hash of the file contents. It's a typical stamp for compilation sources.
- final case class InitialChanges(internalSrc: Changes[VirtualFileRef], removedProducts: Set[VirtualFileRef], libraryDeps: Set[VirtualFileRef], external: APIChanges) extends xsbti.compile.InitialChanges with Product with Serializable
-
abstract
class
InvalidationProfiler extends AnyRef
Defines a profiler interface that translates to the profiling protobuf schema.
Defines a profiler interface that translates to the profiling protobuf schema.
The protobuf schema has been mildly inspired from pprof: https://github.com/google/pprof/blob/master/proto/profile.proto
A profiler interface should only be used by project, and not globally, as this class is not thread safe.
- trait InvalidationProfilerUtils extends AnyRef
-
final
class
LastModified extends StampBase
Define the last modified time of the file.
Define the last modified time of the file. It's a typical stamp for class files and products.
-
trait
Lookup extends ExternalLookup
A trait that encapsulates looking up elements on a classpath and looking up an external (for another subproject) Analysis instance.
- class MappedFileConverter extends FileConverter
- class MappedVirtualFile extends BasicVirtualFileRef with PathBasedFile
- final class Modified extends Change
-
final
case class
ModifiedNames(names: Set[UsedName]) extends Product with Serializable
ModifiedNames are determined by comparing name hashes in two versions of an API representation.
ModifiedNames are determined by comparing name hashes in two versions of an API representation.
Note that we distinguish between sets of regular (non-implicit) and implicit modified names. This distinction is needed because the name hashing algorithm makes different decisions based on whether modified name is implicit or not. Implicit names are much more difficult to handle due to difficulty of reasoning about the implicit scope.
-
final
case class
NamesChange(modified0: String, modifiedNames: ModifiedNames) extends APIChange with Product with Serializable
An APIChange that carries information about modified names.
An APIChange that carries information about modified names.
This class is used only when name hashing algorithm is enabled.
- trait NoopExternalLookup extends ExternalLookup
-
trait
Relations extends AnyRef
Provides mappings between source files, generated classes (products), and binaries.
Provides mappings between source files, generated classes (products), and binaries. Dependencies that are tracked include internal: a dependency on a source in the same compilation group (project), external: a dependency on a source in another compilation group (tracked as the name of the class), library: a dependency on a class or jar file not generated by a source file in any tracked compilation group, inherited: a dependency that resulted from a public template inheriting, direct: any type of dependency, including inheritance.
- final class Removed extends Change
-
abstract
class
RunProfiler extends AnyRef
Defines the interface of a profiler.
Defines the interface of a profiler. This interface is used in the guts of
IncrementalCommon
andIncrementalNameHashing
. A profiler of a run is instantiated afresh inIncremental.compile
and then added to the profiler instance managed by the client. - trait SourceInfos extends ReadSourceInfos
-
trait
Stamps extends ReadStamps
Provides a richer interface to read and write stamps associated with files.
Provides a richer interface to read and write stamps associated with files.
This interface is meant for internal use and is Scala idiomatic. It implements the Java interface
ReadStamps
that is exposed in thexsbti.compile.CompileAnalysis
. - final case class TraitPrivateMembersModified(modified: String) extends APIChange with Product with Serializable
- abstract class UnderlyingChanges[A] extends Changes[A]
- case class UsedName extends xsbti.compile.UsedName with Product with Serializable
- trait WithPattern extends AnyRef
- class ZincInvalidationProfiler extends InvalidationProfiler with xsbti.compile.InvalidationProfiler
Value Members
- object APIs
- object Analysis extends Serializable
- object ClassFileManager
- object Compilation extends Serializable
- object Compilations extends Serializable
- object DummyVirtualFile
- object FarmHash
- object FileValueCache
-
object
Incremental
Helper methods for running incremental compilation.
Helper methods for running incremental compilation. This is responsible for is adapting any xsbti.AnalysisCallback into one compatible with the sbt.internal.inc.Incremental class.
- object IncrementalCommon
- object InvalidationProfiler
- object InvalidationProfilerUtils extends InvalidationProfilerUtils
- object JavaInterfaceUtil
- object Locate
- object MappedFileConverter
- object MappedVirtualFile
-
object
MiniSetupUtil
Define all the implicit instances that are used in the Scala implementation of the incremental compiler to check the mathematical equivalence relation between two given classes.
Define all the implicit instances that are used in the Scala implementation of the incremental compiler to check the mathematical equivalence relation between two given classes.
- See also
scala.math.Equiv for more information on this kind of equivalence.
- object ModifiedNames extends Serializable
- object PickleJar
- object Relations
- object RunProfiler
- object SourceInfos
- object Stamp
- object Stamper
- object Stamps
- object UsedName extends Serializable
- object VirtualFileUtil