Trait/Object

sbt.internal.inc

Relations

Related Docs: object Relations | package inc

Permalink

trait Relations extends AnyRef

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.

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Relations
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def ++(o: Relations): Relations

    Permalink

    Concatenates the two relations.

    Concatenates the two relations. Acts naively, i.e., doesn't internalize external deps on added files.

  2. abstract def --(sources: Iterable[File]): Relations

    Permalink

    Drops all dependency mappings a->b where a is in sources.

    Drops all dependency mappings a->b where a is in sources. Acts naively, i.e., doesn't externalize internal deps on removed files.

  3. abstract def allExternalDeps: Set[String]

    Permalink

    All files in another compilation group (project) that are recorded as a source dependency of a source file in this group.

  4. abstract def allLibraryDeps: Set[File]

    Permalink

    All files that are recorded as a library dependency of a source file.

  5. abstract def allProducts: Set[File]

    Permalink

    All products associated with sources.

  6. abstract def allSources: Set[File]

    Permalink

    All sources _with at least one product_ .

  7. abstract def classNames(src: File): Set[String]

    Permalink

    Names (fully qualified, at the pickler phase) of classes defined in source file src.

  8. abstract def classes: Relation[File, String]

    Permalink

    The relation between a source file and the fully qualified names of classes generated from it.

  9. abstract def definesClass(name: String): Set[File]

    Permalink

    Source files that generated a class with the given fully qualified name.

    Source files that generated a class with the given fully qualified name. This is typically a set containing a single file.

  10. abstract def externalClassDep: Relation[String, String]

    Permalink

    The dependency relation between internal and external classes.

  11. abstract def externalDeps(className: String): Set[String]

    Permalink

    External source dependencies that internal source file src depends on.

    External source dependencies that internal source file src depends on. This includes both direct and inherited dependencies.

  12. abstract def internalClassDep: Relation[String, String]

    Permalink

    The dependency relation between internal classes.

  13. abstract def internalClassDeps(className: String): Set[String]

    Permalink

    Internal source dependencies for src.

    Internal source dependencies for src. This includes both direct and inherited dependencies.

  14. abstract def libraryClassName: Relation[File, String]

    Permalink

    The dependency relation between library JARs and class names.

  15. abstract def libraryClassNames(lib: File): Set[String]

    Permalink

    The library class names for the library JAR file lib.

  16. abstract def libraryDefinesClass(name: String): Set[File]

    Permalink

    The library files that generated a class with the given fully qualified name.

    The library files that generated a class with the given fully qualified name. This is typically a set containing a single file.

  17. abstract def libraryDep: Relation[File, File]

    Permalink

    The dependency relation between internal sources and library JARs.

  18. abstract def libraryDeps(src: File): Set[File]

    Permalink

    The library dependencies for the source file src.

  19. abstract def produced(prod: File): Set[File]

    Permalink

    The source files that generated class file prod.

    The source files that generated class file prod. This is typically a set containing a single file.

  20. abstract def productClassName: Relation[String, String]

    Permalink

    The relation between source and product class names.

    The relation between source and product class names.

    Only non-local classes, objects and traits are tracked by this relation. For classes, nested objects and traits it's 1-1 relation. For top level objects it's 1-2 relation. E.g., for

    object A

    The binaryClass will have two entries:

    A -> A, A -> A$

    This reflects Scala's compiler behavior of generating two class files per top level object declaration.

  21. abstract def products(src: File): Set[File]

    Permalink

    The classes that were generated for source file src.

  22. abstract def srcProd: Relation[File, File]

    Permalink

    The relation between internal sources and generated class files.

  23. abstract def usesExternal(className: String): Set[String]

    Permalink

    Internal source dependencies that depend on external source file dep.

    Internal source dependencies that depend on external source file dep. This includes both direct and inherited dependencies.

  24. abstract def usesInternalClass(className: String): Set[String]

    Permalink

    Internal source files that depend on internal source dep.

    Internal source files that depend on internal source dep. This includes both direct and inherited dependencies.

  25. abstract def usesLibrary(dep: File): Set[File]

    Permalink

    The source files that depend on library file dep.

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. def addSource(src: File, products: Iterable[File], classes: Iterable[(String, String)], internalDeps: Iterable[InternalDependency], externalDeps: Iterable[ExternalDependency], libraryDeps: Iterable[(File, String, Stamp)]): Relations

    Permalink

    Records that the file src generates products products, has internal dependencies internalDeps, has external dependencies externalDeps and library dependencies libraryDeps.

  5. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  6. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  7. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  8. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  9. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  10. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  11. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  12. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  13. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  14. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  15. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  16. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  17. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  18. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  19. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  20. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped