Class

xsbt

ExtractAPI

Related Doc: package xsbt

Permalink

class ExtractAPI[GlobalType <: Global] extends Compat with ClassName with GlobalHelpers

Extracts full (including private members) API representation out of Symbols and Types.

API for each class is extracted separately. Inner classes are represented as an empty (without members) member of the outer class and as a separate class with full API representation. For example:

class A { class B { def foo: Int = 123 } }

Is represented as:

// className = A class A { class B } // className = A.B class A.B { def foo: Int }

Each compilation unit should be processed by a fresh instance of this class.

NOTE: This class extract *full* API representation. In most of other places in the incremental compiler, only non-private (accessible from other compilation units) members are relevant. Other parts of the incremental compiler filter out private definitions before processing API structures. Check SameAPI for an example.

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ExtractAPI
  2. GlobalHelpers
  3. ClassName
  4. Compat
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new ExtractAPI(global: GlobalType, sourceFile: File)

    Permalink

Type Members

  1. class SuppressSymbolRef extends GlobalType.TypeMap

    Permalink

    Replace all types that directly refer to the forbidden symbol by NoType.

    Replace all types that directly refer to the forbidden symbol by NoType. (a specialized version of substThisAndSym)

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. object Feedback

    Permalink

    Define common error messages for error reporting and assertions.

    Define common error messages for error reporting and assertions.

    Definition Classes
    GlobalHelpers
  5. object MacroExpansionOf

    Permalink
    Definition Classes
    GlobalHelpers
  6. def allExtractedNonLocalClasses: Set[ClassLike]

    Permalink
  7. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  8. def className(s: GlobalType.Symbol): GlobalType.Name

    Permalink

    Create a (source) name for a class symbol s.

    Create a (source) name for a class symbol s.

    Attributes
    protected
    Definition Classes
    ClassName
  9. def classNameAsSeenIn(in: GlobalType.Symbol, s: GlobalType.Symbol): String

    Permalink

    Create a (source) name for the class symbol s with a prefix determined by the class symbol in.

    Create a (source) name for the class symbol s with a prefix determined by the class symbol in.

    If s represents a package object pkg3, then the returned name will be pkg1.pkg2.pkg3.package. If s represents a class Foo nested in package object pkg3 then the returned name is pkg1.pkg2.pk3.Foo.

    Attributes
    protected
    Definition Classes
    ClassName
  10. def classNameAsString(s: GlobalType.Symbol): String

    Permalink

    Create a String (source) name for a class symbol s.

    Create a String (source) name for a class symbol s.

    Attributes
    protected
    Definition Classes
    ClassName
  11. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  12. def enclOrModuleClass(s: GlobalType.Symbol): GlobalType.Symbol

    Permalink

    Return the enclosing class or the module class if it's a module.

    Return the enclosing class or the module class if it's a module.

    Definition Classes
    GlobalHelpers
  13. final def eq(arg0: AnyRef): Boolean

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

    Permalink
    Definition Classes
    AnyRef → Any
  15. def extractAllClassesOf(in: GlobalType.Symbol, c: GlobalType.Symbol): Unit

    Permalink
  16. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  17. def flatclassName(s: GlobalType.Symbol, sep: Char, dollarRequired: Boolean): String

    Permalink
    Attributes
    protected
    Definition Classes
    ClassName
  18. def flatname(s: GlobalType.Symbol, separator: Char): String

    Permalink

    Creates a flat (binary) name for a class symbol s.

    Creates a flat (binary) name for a class symbol s.

    Attributes
    protected
    Definition Classes
    ClassName
  19. def forceStructures(): Unit

    Permalink

    Force all lazy structures.

    Force all lazy structures. This is necessary so that we see the symbols/types at this phase and so that we don't hold on to compiler objects and classes

  20. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  21. val global: GlobalType

    Permalink
    Definition Classes
    ExtractAPIGlobalHelpersClassName
  22. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  23. def ignoredSymbol(symbol: GlobalType.Symbol): Boolean

    Permalink

    Return true if symbol shall be ignored, false otherwise.

    Return true if symbol shall be ignored, false otherwise.

    Definition Classes
    GlobalHelpers
    Annotations
    @inline()
  24. def ignoredType(tpe: GlobalType.Type): Boolean

    Permalink

    Return true if type shall be ignored, false otherwise.

    Return true if type shall be ignored, false otherwise.

    Definition Classes
    GlobalHelpers
    Annotations
    @inline()
  25. def isEmptyName(name: GlobalType.Name): Boolean

    Permalink

    Return true if name is empty, false otherwise.

    Return true if name is empty, false otherwise.

    Definition Classes
    GlobalHelpers
  26. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  27. def isTopLevelModule(sym: GlobalType.Symbol): Boolean

    Permalink
    Attributes
    protected
    Definition Classes
    ClassName
  28. def linearizedAncestorTypes(info: GlobalType.Type): List[GlobalType.Type]

    Permalink
  29. final def ne(arg0: AnyRef): Boolean

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

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

    Permalink
    Definition Classes
    AnyRef
  32. def processMacroExpansion(in: GlobalType.Tree)(func: (GlobalType.Tree) ⇒ Unit): Boolean

    Permalink

    Returns true if given tree contains macro attchment.

    Returns true if given tree contains macro attchment. In such case calls func on tree from attachment.

    Definition Classes
    GlobalHelpers
  33. final def synchronized[T0](arg0: ⇒ T0): T0

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

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

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

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

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

Inherited from GlobalHelpers

Inherited from ClassName

Inherited from Compat

Inherited from AnyRef

Inherited from Any

Ungrouped