Packages

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

    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

    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]

    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]

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

  5. abstract def allProducts: Set[File]

    All products associated with sources.

  6. abstract def allSources: Set[File]

    All sources _with at least one product_ .

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

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

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

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

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

    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]

    The dependency relation between internal and external classes.

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

    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]

    The dependency relation between internal classes.

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

    Internal source dependencies for src.

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

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

    The dependency relation between library JARs and class names.

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

    The library class names for the library JAR file lib.

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

    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]

    The dependency relation between internal sources and library JARs.

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

    The library dependencies for the source file src.

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

    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]

    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]

    The classes that were generated for source file src.

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

    The relation between internal sources and generated class files.

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

    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]

    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]

    The source files that depend on library file dep.

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    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, xsbti.compile.analysis.Stamp)]): Relations

    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
    Definition Classes
    Any
  6. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  7. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  8. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  9. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  10. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
  11. def hashCode(): Int
    Definition Classes
    AnyRef → Any
  12. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  13. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  14. final def notify(): Unit
    Definition Classes
    AnyRef
  15. final def notifyAll(): Unit
    Definition Classes
    AnyRef
  16. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  17. def toString(): String
    Definition Classes
    AnyRef → Any
  18. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  19. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  20. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped