t

xsbti

AnalysisCallback

trait AnalysisCallback extends AnyRef

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

Abstract Value Members

  1. abstract def api(sourceFile: VirtualFileRef, classApi: ClassLike): Unit

    Register a public API entry coming from a given source file.

    Register a public API entry coming from a given source file.

    sourceFile

    Source file where classApi comes from.

    classApi

    The extracted public class API.

  2. abstract def apiPhaseCompleted(): Unit

    Communicate to the callback that the API phase has finished.

    Communicate to the callback that the API phase has finished.

    For instance, you can use this method it to wait on asynchronous tasks.

  3. abstract def binaryDependency(onBinaryEntry: Path, onBinaryClassName: String, fromClassName: String, fromSourceFile: VirtualFileRef, context: DependencyContext): Unit

    Indicate that the class fromClassName depends on a class named onBinaryClassName coming from class file or jar onBinaryEntry.

    Indicate that the class fromClassName depends on a class named onBinaryClassName coming from class file or jar onBinaryEntry.

    onBinaryEntry

    A binary entry represents either the jar or the concrete class file from which the Scala compiler knows that onBinaryClassName comes from.

    onBinaryClassName

    Dependent binary name. Binary name with JVM-like representation. Inner classes are represented with '$'. For more information on the binary name format, check section 13.1 of the Java Language Specification.

    fromClassName

    Represent the class file name where onBinaryClassName is defined. Binary name with JVM-like representation. Inner classes are represented with '$'. For more information on the binary name format, check section 13.1 of the Java Language Specification.

    fromSourceFile

    Source file where onBinaryClassName is defined.

    context

    The kind of dependency established between onClassName and sourceClassName.

    See also

    xsbti.api.DependencyContext for more information on the context.

  4. abstract def classDependency(onClassName: String, sourceClassName: String, context: DependencyContext): Unit

    Indicate that the class sourceClassName depends on the class onClassName.

    Indicate that the class sourceClassName depends on the class onClassName.

    Note that only classes defined in source files included in the current compilation will passed to this method. Dependencies on classes generated by sources not in the current compilation will be passed as binary dependencies to the binaryDependency method.

    onClassName

    Class name being depended on.

    sourceClassName

    Dependent class name.

    context

    The kind of dependency established between onClassName and sourceClassName.

    See also

    xsbti.api.DependencyContext

  5. abstract def classesInOutputJar(): Set[String]

    Return class files in output jar at a given point in time.

    Return class files in output jar at a given point in time.

    When straight-to-jar compilation is enabled, the following entrypoint in the analysis callback tells the compiler which classes can be found in the jar used as a compilation target (where all class files will be store). The entrypoint will return all the paths to class files in Zinc format, an example would be xsbti/AnalysisCallback.class.

    This entrypoint serves two main purposes:

    1. Before the dependency phase is run, it returns the class files found in the jar previous to the current compilation. 2. After dependency has run, when called again, it returns the class files written by the compiler in genbcode.

    The second purpose is required because the compiler cannot communicate us via an internal programmatic API which files has written in genbcode and therefore we need to pay the price of opening the jar again to figure it out. If the compiler is to expose an entry point for this data, we can repurpose classesInOutputJar to only do 1).

  6. abstract def dependencyPhaseCompleted(): Unit

    Communicate to the callback that the dependency phase has finished.

    Communicate to the callback that the dependency phase has finished.

    For instance, you can use this method it to wait on asynchronous tasks.

  7. abstract def enabled(): Boolean

    Return whether incremental compilation is enabled or not.

    Return whether incremental compilation is enabled or not.

    This method is useful to know whether the incremental compilation phase defined by xsbt-analyzer should be added.

  8. abstract def generatedLocalClass(source: VirtualFileRef, classFile: Path): Unit

    Map the product relation between classFile and source to indicate that classFile is the product of compilation from source.

    Map the product relation between classFile and source to indicate that classFile is the product of compilation from source.

    source

    File that produced classFile.

    classFile

    File product of compilation of source.

  9. abstract def generatedNonLocalClass(source: VirtualFileRef, classFile: Path, binaryClassName: String, srcClassName: String): Unit

    Map the source class name (srcClassName) of a top-level Scala class coming from a given source file to a binary class name (binaryClassName) coming from a given class file.

    Map the source class name (srcClassName) of a top-level Scala class coming from a given source file to a binary class name (binaryClassName) coming from a given class file.

    This relation indicates that classFile is the product of compilation from source.

    source

    File where srcClassName is defined.

    classFile

    File where binaryClassName is defined. This class file is the product of source.

    binaryClassName

    Binary name with JVM-like representation. Inner classes are represented with '$'. For more information on the binary name format, check section 13.1 of the Java Language Specification.

    srcClassName

    Class name as defined in source.

  10. abstract def getPickleJarPair(): Optional[T2[Path, Path]]
  11. abstract def isPickleJava(): Boolean

    Returns true if -Ypickle-java is on.

  12. abstract def mainClass(sourceFile: VirtualFileRef, className: String): Unit

    Register a class containing an entry point coming from a given source file.

    Register a class containing an entry point coming from a given source file.

    A class is an entry point if its bytecode contains a method with the following signature:

    public static void main(String[] args);
    

    sourceFile

    Source file where className is defined.

    className

    A class containing an entry point.

  13. abstract def problem(what: String, pos: Position, msg: String, severity: Severity, reported: Boolean): Unit

    Register a compilation problem.

    Register a compilation problem.

    This error may have already been logged or not. Unreported problems may happen because the reporting option was not enabled via command-line.

    what

    The headline of the error.

    pos

    At a given source position.

    msg

    The in-depth description of the error.

    severity

    The severity of the error reported.

    reported

    Flag that confirms whether this error was reported or not.

  14. abstract def startSource(source: VirtualFile): Unit

    Set the source file mapped to a concrete AnalysisCallback.

    Set the source file mapped to a concrete AnalysisCallback.

    source

    Source file mapped to this instance of AnalysisCallback.

  15. abstract def usedName(className: String, name: String, useScopes: EnumSet[UseScope]): Unit

    Register the use of a name from a given source class name.

    Register the use of a name from a given source class name.

    className

    The source class name that uses name.

    name

    The source name used in className.

    useScopes

    Scopes(e.g. patmat, implicit) where name is used className.

  16. abstract def api(sourceFile: File, classApi: ClassLike): Unit

    This is kept around for sbt-dotty.

    This is kept around for sbt-dotty.

    Annotations
    @Deprecated
    Deprecated
  17. abstract def binaryDependency(onBinaryEntry: File, onBinaryClassName: String, fromClassName: String, fromSourceFile: File, context: DependencyContext): Unit

    This is kept around for sbt-dotty.

    This is kept around for sbt-dotty.

    Annotations
    @Deprecated
    Deprecated
  18. abstract def generatedLocalClass(source: File, classFile: File): Unit

    This is kept around for sbt-dotty.

    This is kept around for sbt-dotty.

    Annotations
    @Deprecated
    Deprecated
  19. abstract def generatedNonLocalClass(source: File, classFile: File, binaryClassName: String, srcClassName: String): Unit

    This is kept around for sbt-dotty.

    This is kept around for sbt-dotty.

    Annotations
    @Deprecated
    Deprecated
  20. abstract def mainClass(sourceFile: File, className: String): Unit

    This is kept around for sbt-dotty.

    This is kept around for sbt-dotty.

    Annotations
    @Deprecated
    Deprecated
  21. abstract def startSource(source: File): Unit

    This is kept around for sbt-dotty.

    This is kept around for sbt-dotty.

    Annotations
    @Deprecated
    Deprecated

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

Inherited from AnyRef

Inherited from Any

Ungrouped