trait Symbols extends api.Symbols

Self Type
SymbolTable
Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Symbols
  2. Symbols
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. trait ClassSymbolApi extends Universe.TypeSymbolApi

    The API of class symbols.

    The API of class symbols. The main source of information about symbols is the Symbols page.

    Class Symbol defines isXXX test methods such as isPublic or isFinal, params and returnType methods for method symbols, baseClasses for class symbols and so on. Some of these methods don't make sense for certain subclasses of Symbol and return NoSymbol, Nil or other empty values.

    Definition Classes
    Symbols
  2. trait MethodSymbolApi extends Universe.TermSymbolApi

    The API of method symbols.

    The API of method symbols. The main source of information about symbols is the Symbols page.

    Class Symbol defines isXXX test methods such as isPublic or isFinal, params and returnType methods for method symbols, baseClasses for class symbols and so on. Some of these methods don't make sense for certain subclasses of Symbol and return NoSymbol, Nil or other empty values.

    Definition Classes
    Symbols
  3. trait ModuleSymbolApi extends Universe.TermSymbolApi

    The API of module symbols.

    The API of module symbols. The main source of information about symbols is the Symbols page.

    Class Symbol defines isXXX test methods such as isPublic or isFinal, params and returnType methods for method symbols, baseClasses for class symbols and so on. Some of these methods don't make sense for certain subclasses of Symbol and return NoSymbol, Nil or other empty values.

    Definition Classes
    Symbols
  4. trait SymbolApi extends AnyRef

    The API of symbols.

    The API of symbols. The main source of information about symbols is the Symbols page.

    Class Symbol defines isXXX test methods such as isPublic or isFinal, params and returnType methods for method symbols, baseClasses for class symbols and so on. Some of these methods don't make sense for certain subclasses of Symbol and return NoSymbol, Nil or other empty values.

    Definition Classes
    Symbols
  5. trait TermSymbolApi extends Universe.SymbolApi

    The API of term symbols.

    The API of term symbols. The main source of information about symbols is the Symbols page.

    Class Symbol defines isXXX test methods such as isPublic or isFinal, params and returnType methods for method symbols, baseClasses for class symbols and so on. Some of these methods don't make sense for certain subclasses of Symbol and return NoSymbol, Nil or other empty values.

    Definition Classes
    Symbols
  6. trait TypeSymbolApi extends Universe.SymbolApi

    The API of type symbols.

    The API of type symbols. The main source of information about symbols is the Symbols page.

    Class Symbol defines isXXX test methods such as isPublic or isFinal, params and returnType methods for method symbols, baseClasses for class symbols and so on. Some of these methods don't make sense for certain subclasses of Symbol and return NoSymbol, Nil or other empty values.

    Definition Classes
    Symbols
  7. class AbstractTypeSymbol extends SymbolTable.TypeSymbol

    Let's say you have a type definition

    Let's say you have a type definition

    type T <: Number

    and tsym is the symbol corresponding to T. Then

    tsym is an instance of AbstractTypeSymbol
    tsym.info == TypeBounds(Nothing, Number)
    tsym.tpe  == TypeRef(NoPrefix, T, List())
  8. class AliasTypeSymbol extends SymbolTable.TypeSymbol
  9. class ClassSymbol extends SymbolTable.TypeSymbol with SymbolTable.ClassSymbolApi

    A class for class symbols

  10. case class CyclicReference(sym: SymbolTable.Symbol, info: SymbolTable.Type) extends SymbolTable.TypeError with Product with Serializable

    An exception for cyclic references of symbol definitions

  11. trait FreeSymbol extends SymbolTable.Symbol
  12. class FreeTermSymbol extends SymbolTable.TermSymbol with SymbolTable.FreeSymbol with SymbolTable.FreeTermSymbolApi
  13. class FreeTypeSymbol extends SymbolTable.TypeSkolem with SymbolTable.FreeSymbol with SymbolTable.FreeTypeSymbolApi
  14. class MethodSymbol extends SymbolTable.TermSymbol with SymbolTable.MethodSymbolApi

    A class for method symbols

  15. class ModuleClassSymbol extends SymbolTable.ClassSymbol

    A class for module class symbols Note: Not all module classes are of this type; when unpickled, we get plain class symbols!

  16. class ModuleSymbol extends SymbolTable.TermSymbol with SymbolTable.ModuleSymbolApi

    A class for module symbols

  17. class NoSymbol extends SymbolTable.Symbol

    An object representing a missing symbol

  18. class PackageClassSymbol extends SymbolTable.ModuleClassSymbol
  19. class PackageObjectClassSymbol extends SymbolTable.ModuleClassSymbol
  20. class RefinementClassSymbol extends SymbolTable.ClassSymbol
  21. class StubClassSymbol extends SymbolTable.ClassSymbol with SymbolTable.StubSymbol
  22. trait StubSymbol extends SymbolTable.Symbol
  23. class StubTermSymbol extends SymbolTable.TermSymbol with SymbolTable.StubSymbol
  24. abstract class Symbol extends SymbolTable.SymbolContextApiImpl with HasFlags with SymbolTable.Annotatable[SymbolTable.Symbol] with SymbolTable.Attachable

    The class for all symbols

  25. abstract class SymbolContextApiImpl extends SymbolTable.SymbolApi
  26. case class SymbolOps(isFlagRelated: Boolean, mask: Long) extends Product with Serializable
  27. class TermSymbol extends SymbolTable.Symbol with SymbolTable.TermSymbolApi

    A class for term symbols

  28. class TypeSkolem extends SymbolTable.TypeSymbol

    A class for type parameters viewed from inside their scopes

  29. abstract class TypeSymbol extends SymbolTable.Symbol with SymbolTable.TypeSymbolApi

    A class of type symbols.

    A class of type symbols. Alias and abstract types are direct instances of this class. Classes are instances of a subclass.

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. val AllOps: SymbolTable.SymbolOps
  5. implicit val ClassSymbolTag: ClassTag[SymbolTable.ClassSymbol]
  6. def FlagOps(mask: Long): SymbolTable.SymbolOps
  7. implicit val FreeTermSymbolTag: ClassTag[SymbolTable.FreeTermSymbol]
  8. implicit val FreeTypeSymbolTag: ClassTag[SymbolTable.FreeTypeSymbol]
  9. implicit val MethodSymbolTag: ClassTag[SymbolTable.MethodSymbol]
  10. implicit val ModuleSymbolTag: ClassTag[SymbolTable.ModuleSymbol]
  11. lazy val NoSymbol: SymbolTable.NoSymbol

    A special "missing" symbol.

    A special "missing" symbol. Commonly used in the API to denote a default or empty value.

    Definition Classes
    SymbolsSymbols
  12. implicit val SymbolTag: ClassTag[SymbolTable.Symbol]
  13. implicit val TermSymbolTag: ClassTag[SymbolTable.TermSymbol]
  14. implicit val TypeSymbolTag: ClassTag[SymbolTable.TypeSymbol]
  15. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  16. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  17. def cloneSymbols(syms: List[SymbolTable.Symbol]): List[SymbolTable.Symbol]

    Convenience functions which derive symbols by cloning.

  18. def cloneSymbolsAndModify(syms: List[SymbolTable.Symbol], infoFn: (SymbolTable.Type) ⇒ SymbolTable.Type): List[SymbolTable.Symbol]

    Clone symbols and apply the given function to each new symbol's info.

    Clone symbols and apply the given function to each new symbol's info.

    syms

    the prototypical symbols

    infoFn

    the function to apply to the infos

    returns

    the newly created, info-adjusted symbols

  19. def cloneSymbolsAtOwner(syms: List[SymbolTable.Symbol], owner: SymbolTable.Symbol): List[SymbolTable.Symbol]
  20. def cloneSymbolsAtOwnerAndModify(syms: List[SymbolTable.Symbol], owner: SymbolTable.Symbol, infoFn: (SymbolTable.Type) ⇒ SymbolTable.Type): List[SymbolTable.Symbol]
  21. final def closestEnclMethod(from: SymbolTable.Symbol): SymbolTable.Symbol

    Return closest enclosing method, unless shadowed by an enclosing class.

  22. def connectModuleToClass(m: SymbolTable.ModuleSymbol, moduleClass: SymbolTable.ClassSymbol): SymbolTable.ModuleSymbol
  23. def createFromClonedSymbols[T](syms: List[SymbolTable.Symbol], tpe: SymbolTable.Type)(creator: (List[SymbolTable.Symbol], SymbolTable.Type) ⇒ T): T

    Functions which perform the standard clone/substituting on the given symbols and type, then call the creator function with the new symbols and type as arguments.

  24. def createFromClonedSymbolsAtOwner[T](syms: List[SymbolTable.Symbol], owner: SymbolTable.Symbol, tpe: SymbolTable.Type)(creator: (List[SymbolTable.Symbol], SymbolTable.Type) ⇒ T): T
  25. def defineOriginalOwner(sym: SymbolTable.Symbol, owner: SymbolTable.Symbol): Unit
  26. def deriveSymbols(syms: List[SymbolTable.Symbol], symFn: (SymbolTable.Symbol) ⇒ SymbolTable.Symbol): List[SymbolTable.Symbol]

    Derives a new list of symbols from the given list by mapping the given list across the given function.

    Derives a new list of symbols from the given list by mapping the given list across the given function. Then fixes the info of all the new symbols by substituting the new symbols for the original symbols.

    syms

    the prototypical symbols

    symFn

    the function to create new symbols

    returns

    the new list of info-adjusted symbols

  27. def deriveSymbols2[A](syms: List[SymbolTable.Symbol], as: List[A], symFn: (SymbolTable.Symbol, A) ⇒ SymbolTable.Symbol): List[SymbolTable.Symbol]

    Derives a new list of symbols from the given list by mapping the given list of syms and as across the given function.

    Derives a new list of symbols from the given list by mapping the given list of syms and as across the given function. Then fixes the info of all the new symbols by substituting the new symbols for the original symbols.

    syms

    the prototypical symbols

    as

    arguments to be passed to symFn together with symbols from syms (must be same length)

    symFn

    the function to create new symbols

    returns

    the new list of info-adjusted symbols

  28. def deriveType(syms: List[SymbolTable.Symbol], symFn: (SymbolTable.Symbol) ⇒ SymbolTable.Symbol)(tpe: SymbolTable.Type): SymbolTable.Type

    Derives a new Type by first deriving new symbols as in deriveSymbols, then performing the same oldSyms => newSyms substitution on tpe as is performed on the symbol infos in deriveSymbols.

    Derives a new Type by first deriving new symbols as in deriveSymbols, then performing the same oldSyms => newSyms substitution on tpe as is performed on the symbol infos in deriveSymbols.

    syms

    the prototypical symbols

    symFn

    the function to create new symbols

    tpe

    the prototypical type

    returns

    the new symbol-substituted type

  29. def deriveType2[A](syms: List[SymbolTable.Symbol], as: List[A], symFn: (SymbolTable.Symbol, A) ⇒ SymbolTable.Symbol)(tpe: SymbolTable.Type): SymbolTable.Type

    Derives a new Type by first deriving new symbols as in deriveSymbols2, then performing the same oldSyms => newSyms substitution on tpe as is performed on the symbol infos in deriveSymbols.

    Derives a new Type by first deriving new symbols as in deriveSymbols2, then performing the same oldSyms => newSyms substitution on tpe as is performed on the symbol infos in deriveSymbols.

    syms

    the prototypical symbols

    as

    arguments to be passed to symFn together with symbols from syms (must be same length)

    symFn

    the function to create new symbols based on as

    tpe

    the prototypical type

    returns

    the new symbol-substituted type

  30. def deriveTypeWithWildcards(syms: List[SymbolTable.Symbol])(tpe: SymbolTable.Type): SymbolTable.Type

    Derives a new Type by instantiating the given list of symbols as WildcardTypes.

    Derives a new Type by instantiating the given list of symbols as WildcardTypes.

    syms

    the symbols to replace

    returns

    the new type with WildcardType replacing those syms

  31. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  32. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  33. def existingSymbols(syms: List[SymbolTable.Symbol]): List[SymbolTable.Symbol]
  34. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  35. def freshExistentialName(suffix: String, id: Int): SymbolTable.TypeName
    Attributes
    protected
  36. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  37. def getCurrentSymbolIdCount: Int
  38. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  39. val ids: Int
    Attributes
    protected
  40. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  41. def lockedCount: Int
  42. def lockedCount_=(i: Int): Unit
  43. def makeNoSymbol: SymbolTable.NoSymbol
    Attributes
    protected
  44. def mapParamss[T](sym: SymbolTable.Symbol)(f: (SymbolTable.Symbol) ⇒ T): List[List[T]]

    A deep map on a symbol's paramss.

  45. def markAllCompleted(syms: SymbolTable.Symbol*): Unit
  46. def markFlagsCompleted(syms: SymbolTable.Symbol*)(mask: Long): Unit
  47. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  48. def newFreeTermSymbol(name: SymbolTable.TermName, value: ⇒ Any, flags: Long = 0L, origin: String): SymbolTable.FreeTermSymbol

    Create a new free term.

    Create a new free term. Its owner is NoSymbol.

  49. def newFreeTypeSymbol(name: SymbolTable.TypeName, flags: Long = 0L, origin: String): SymbolTable.FreeTypeSymbol

    Create a new free type.

    Create a new free type. Its owner is NoSymbol.

  50. def newStubSymbol(owner: SymbolTable.Symbol, name: SymbolTable.Name, missingMessage: String): SymbolTable.Symbol
    Attributes
    protected
  51. def nextId(): Int
    Attributes
    protected
  52. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  53. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  54. def recursionTable: Map[SymbolTable.Symbol, Int]
  55. def recursionTable_=(value: Map[SymbolTable.Symbol, Int]): Unit
  56. def saveOriginalOwner(sym: SymbolTable.Symbol): Unit
    Attributes
    protected
  57. def symbolOf[T](implicit arg0: SymbolTable.WeakTypeTag[T]): SymbolTable.TypeSymbol
  58. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  59. def toString(): String
    Definition Classes
    AnyRef → Any
  60. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  61. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  62. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )

Deprecated Value Members

  1. def freshExistentialName(suffix: String): SymbolTable.TypeName
    Attributes
    protected
    Annotations
    @deprecated
    Deprecated

    (Since version 2.12.1) Use overload that accepts an id

  2. def nextExistentialId(): Int
    Attributes
    protected
    Annotations
    @deprecated
    Deprecated

    (Since version 2.12.1) Global existential IDs no longer used

Inherited from api.Symbols

Inherited from AnyRef

Inherited from Any

API

Symbols

Ungrouped