xsbt

ExtractAPI

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

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. ClassName
  3. Compat
  4. AnyRef
  5. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

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

Type Members

  1. class SuppressSymbolRef extends GlobalType.TypeMap

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

  2. final class SymbolCompat extends AnyRef

    Attributes
    protected
    Definition Classes
    Compat

Value Members

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

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

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

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. val DummyValue: Int

    Definition Classes
    Compat
  7. val LocalChild: scala.reflect.internal.StdNames.tpnme.NameType

    Definition Classes
    Compat
  8. object MacroExpansionOf

    Definition Classes
    Compat
  9. object MirrorHelper

    Definition Classes
    Compat
  10. val Nullary: GlobalType.NullaryMethodType.type

    Definition Classes
    Compat
  11. object NullaryMethodTpe

    Definition Classes
    Compat
  12. val ScalaObjectClass: GlobalType.ClassSymbol

    Definition Classes
    Compat
  13. def allExtractedNonLocalClasses: Set[ClassLike]

  14. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  15. def className(s: GlobalType.Symbol): String

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

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

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

    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
  17. def clone(): AnyRef

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

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

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

  21. def finalize(): Unit

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

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

    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
  24. def forceStructures(): Unit

    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

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

    Definition Classes
    AnyRef → Any
  26. val global: GlobalType

    Definition Classes
    ExtractAPIClassNameCompat
  27. def hasMacro(s: GlobalType.Symbol): Boolean

    Definition Classes
    Compat
  28. def hashCode(): Int

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

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

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

  32. def moduleSuffix(s: GlobalType.Symbol): String

    Definition Classes
    Compat
  33. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  34. final def notify(): Unit

    Definition Classes
    AnyRef
  35. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  36. implicit def symbolCompat(sym: GlobalType.Symbol): SymbolCompat

    Attributes
    protected
    Definition Classes
    Compat
  37. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  38. def toString(): String

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

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from ClassName

Inherited from Compat

Inherited from AnyRef

Inherited from Any

Ungrouped