Package

sbt.internal

inc

Permalink

package inc

Visibility
  1. Public
  2. All

Type Members

  1. sealed abstract class APIChange extends AnyRef

    Permalink
  2. final case class APIChangeDueToMacroDefinition(modified0: String) extends APIChange with Product with Serializable

    Permalink

    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.

  3. final class APIChanges extends AnyRef

    Permalink
  4. trait APIs extends AnyRef

    Permalink
  5. final class Added extends Change

    Permalink
  6. trait Analysis extends CompileAnalysis

    Permalink
  7. sealed abstract class Change extends AnyRef

    Permalink
  8. class ClassToSourceMapper extends AnyRef

    Permalink

    Maps class-based dependencies to source dependencies using classes relation.

    Maps class-based dependencies to source dependencies using classes relation.

    The mapping is performed using two relations that track declared classes before and after recompilation of sources. This way, we can properly map dependencies on classes that have been moved between source files. In such case, a single class can be mapped to two different source files.

  9. trait CompanionsStore extends AnyRef

    Permalink
  10. final class Compilation extends xsbti.compile.analysis.Compilation

    Permalink

    <invalid inheritdoc annotation>

    <invalid inheritdoc annotation>

    Note that this implementation of the interface is part of the public Zinc Scala API.

  11. trait Compilations extends ReadCompilations

    Permalink

    Information about compiler runs accumulated since clean command has been run.

  12. final case class ConcreteAnalysisContents(analysis: CompileAnalysis, miniSetup: MiniSetup) extends AnalysisContents with Product with Serializable

    Permalink
  13. trait ExternalLookup extends xsbti.compile.ExternalHooks.Lookup

    Permalink
  14. sealed trait FileValueCache[T] extends AnyRef

    Permalink
  15. final class Hash extends StampBase

    Permalink

    Define the hash of the file contents.

    Define the hash of the file contents. It's a typical stamp for compilation sources.

  16. final case class InitialChanges(internalSrc: Changes[File], removedProducts: Set[File], binaryDeps: Set[File], external: APIChanges) extends Product with Serializable

    Permalink
  17. final class LastModified extends StampBase

    Permalink

    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.

  18. trait Lookup extends ExternalLookup

    Permalink

    A trait that encapsulates looking up elements on a classpath and looking up an external (for another subproject) Analysis instance.

  19. final class Modified extends Change

    Permalink
  20. final case class ModifiedNames(names: Set[UsedName]) extends Product with Serializable

    Permalink

    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.

  21. final case class NamesChange(modified0: String, modifiedNames: ModifiedNames) extends APIChange with Product with Serializable

    Permalink

    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.

  22. trait Relations extends AnyRef

    Permalink

    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.

  23. final class Removed extends Change

    Permalink
  24. case class SimpleOutputGroup(getSourceDirectory: File, getOutputDirectory: File) extends OutputGroup with Product with Serializable

    Permalink
  25. trait SourceInfos extends ReadSourceInfos

    Permalink
  26. trait Stamps extends ReadStamps

    Permalink

    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 the xsbti.compile.CompileAnalysis.

  27. abstract class UnderlyingChanges[A] extends Changes[A]

    Permalink
  28. case class UsedName(name: String, scopes: EnumSet[UseScope]) extends Product with Serializable

    Permalink
  29. trait WithPattern extends AnyRef

    Permalink

Value Members

  1. object APIs

    Permalink
  2. object Analysis extends Serializable

    Permalink
  3. object AnalysisStore

    Permalink
  4. object ClassFileManager

    Permalink
  5. object Compilation extends Serializable

    Permalink
  6. object Compilations extends Serializable

    Permalink
  7. object FileValueCache

    Permalink
  8. object Incremental

    Permalink

    Define helpers to run incremental compilation algorithm with name hashing.

  9. object IncrementalCompile

    Permalink

    Helper methods for running incremental compilation.

    Helper methods for running incremental compilation. All this is responsible for is adapting any xsbti.AnalysisCallback into one compatible with the sbt.internal.inc.Incremental class.

  10. object JavaInterfaceUtil

    Permalink
  11. object Locate

    Permalink
  12. object MiniSetupUtil

    Permalink

    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.

  13. object ModifiedNames extends Serializable

    Permalink
  14. object Relations

    Permalink
  15. object SourceInfos

    Permalink
  16. object Stamp

    Permalink
  17. object Stamper

    Permalink
  18. object Stamps

    Permalink
  19. object UsedName extends Serializable

    Permalink

Ungrouped