IncrementalCommon

sbt.internal.inc.IncrementalCommon

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Members list

Value members

Concrete methods

def checkAbsolute(addedSources: Iterable[VirtualFileRef]): Unit

Check that a collection of files are absolute and not relative.

Check that a collection of files are absolute and not relative.

For legacy reasons, the logic to check the absolute path of source files has been implemented in the core invalidation algorithm logic. It remains here as there are more important things to do than fixing this issue.

Attributes

def comesFromScalaSource(previous: Relations, current: Option[Relations])(className: String): Boolean

Tell if given class names comes from a Scala source file or not by inspecting relations.

Tell if given class names comes from a Scala source file or not by inspecting relations.

Attributes

Invalidate all classes that claim to produce the same class file as another class.

Invalidate all classes that claim to produce the same class file as another class.

Attributes

def isLibraryModified(skipClasspathLookup: Boolean, lookup: Lookup, previousStamps: Stamps, currentStamps: ReadStamps, previousRelations: Relations, converter: FileConverter, log: Logger)(implicit equivS: Equiv[Stamp]): VirtualFileRef => Boolean
  • If the classpath hash has NOT changed, check if there's been name shadowing by looking up the library-associated class names into the Analysis file.
  • If the classpath hash has changed, check if the library-associated classes are still associated with the same library. This would avoid recompiling everything when classpath changes.

Value parameters

currentStamps

The stamps associated with the current compilation.

equivS

An equivalence function to compare stamps.

log

A logger.

lookup

A lookup instance to ask questions about the classpath.

previousRelations

The relation from the previous compiler iteration.

previousStamps

The stamps associated with the previous compilation.

Attributes

def pruneClassFilesOfInvalidations(invalidatedSources: Set[VirtualFile], previous: Analysis, classfileManager: ClassFileManager, converter: FileConverter): Analysis

Prunes from the analysis and deletes the class files of invalidatedSources.

Prunes from the analysis and deletes the class files of invalidatedSources.

Value parameters

classfileManager

The class file manager.

invalidatedSources

The set of invalidated sources.

previous

The previous analysis instance.

Attributes

Returns

An instance of analysis that doesn't contain the invalidated sources.

def transitiveDeps[T](nodes: Iterable[T], log: Logger, logging: Boolean)(dependencies: T => Iterable[T]): Set[T]

Concrete fields

lazy val emptyChanges: DependencyChanges