trait Symbols extends api.Symbols
- Alphabetic
- By Inheritance
- Symbols
- Symbols
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
-
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 asisPublic
orisFinal
,params
andreturnType
methods for method symbols,baseClasses
for class symbols and so on. Some of these methods don't make sense for certain subclasses ofSymbol
and returnNoSymbol
,Nil
or other empty values.- Definition Classes
- Symbols
-
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 asisPublic
orisFinal
,params
andreturnType
methods for method symbols,baseClasses
for class symbols and so on. Some of these methods don't make sense for certain subclasses ofSymbol
and returnNoSymbol
,Nil
or other empty values.- Definition Classes
- Symbols
-
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 asisPublic
orisFinal
,params
andreturnType
methods for method symbols,baseClasses
for class symbols and so on. Some of these methods don't make sense for certain subclasses ofSymbol
and returnNoSymbol
,Nil
or other empty values.- Definition Classes
- Symbols
-
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 asisPublic
orisFinal
,params
andreturnType
methods for method symbols,baseClasses
for class symbols and so on. Some of these methods don't make sense for certain subclasses ofSymbol
and returnNoSymbol
,Nil
or other empty values.- Definition Classes
- Symbols
-
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 asisPublic
orisFinal
,params
andreturnType
methods for method symbols,baseClasses
for class symbols and so on. Some of these methods don't make sense for certain subclasses ofSymbol
and returnNoSymbol
,Nil
or other empty values.- Definition Classes
- Symbols
-
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 asisPublic
orisFinal
,params
andreturnType
methods for method symbols,baseClasses
for class symbols and so on. Some of these methods don't make sense for certain subclasses ofSymbol
and returnNoSymbol
,Nil
or other empty values.- Definition Classes
- Symbols
-
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())
- class AliasTypeSymbol extends SymbolTable.TypeSymbol
-
class
ClassSymbol extends SymbolTable.TypeSymbol with SymbolTable.ClassSymbolApi
A class for class symbols
-
case class
CyclicReference(sym: SymbolTable.Symbol, info: SymbolTable.Type) extends SymbolTable.TypeError with Product with Serializable
An exception for cyclic references of symbol definitions
- trait FreeSymbol extends SymbolTable.Symbol
- class FreeTermSymbol extends SymbolTable.TermSymbol with SymbolTable.FreeSymbol with SymbolTable.FreeTermSymbolApi
- class FreeTypeSymbol extends SymbolTable.TypeSkolem with SymbolTable.FreeSymbol with SymbolTable.FreeTypeSymbolApi
-
class
MethodSymbol extends SymbolTable.TermSymbol with SymbolTable.MethodSymbolApi
A class for method symbols
-
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!
-
class
ModuleSymbol extends SymbolTable.TermSymbol with SymbolTable.ModuleSymbolApi
A class for module symbols
-
class
NoSymbol extends SymbolTable.Symbol
An object representing a missing symbol
- class PackageClassSymbol extends SymbolTable.ModuleClassSymbol
- class PackageObjectClassSymbol extends SymbolTable.ModuleClassSymbol
- class RefinementClassSymbol extends SymbolTable.ClassSymbol
- class StubClassSymbol extends SymbolTable.ClassSymbol with SymbolTable.StubSymbol
- trait StubSymbol extends SymbolTable.Symbol
- class StubTermSymbol extends SymbolTable.TermSymbol with SymbolTable.StubSymbol
-
abstract
class
Symbol extends SymbolTable.SymbolContextApiImpl with HasFlags with SymbolTable.Annotatable[SymbolTable.Symbol] with SymbolTable.Attachable
The class for all symbols
- abstract class SymbolContextApiImpl extends SymbolTable.SymbolApi
- case class SymbolOps(isFlagRelated: Boolean, mask: Long) extends Product with Serializable
-
class
TermSymbol extends SymbolTable.Symbol with SymbolTable.TermSymbolApi
A class for term symbols
-
class
TypeSkolem extends SymbolTable.TypeSymbol
A class for type parameters viewed from inside their scopes
-
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
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- val AllOps: SymbolTable.SymbolOps
- implicit val ClassSymbolTag: ClassTag[SymbolTable.ClassSymbol]
- def FlagOps(mask: Long): SymbolTable.SymbolOps
- implicit val FreeTermSymbolTag: ClassTag[SymbolTable.FreeTermSymbol]
- implicit val FreeTypeSymbolTag: ClassTag[SymbolTable.FreeTypeSymbol]
- implicit val MethodSymbolTag: ClassTag[SymbolTable.MethodSymbol]
- implicit val ModuleSymbolTag: ClassTag[SymbolTable.ModuleSymbol]
-
lazy val
NoSymbol: SymbolTable.NoSymbol
A special "missing" symbol.
- implicit val SymbolTag: ClassTag[SymbolTable.Symbol]
- implicit val TermSymbolTag: ClassTag[SymbolTable.TermSymbol]
- implicit val TypeSymbolTag: ClassTag[SymbolTable.TypeSymbol]
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
def
cloneSymbols(syms: List[SymbolTable.Symbol]): List[SymbolTable.Symbol]
Convenience functions which derive symbols by cloning.
-
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
- def cloneSymbolsAtOwner(syms: List[SymbolTable.Symbol], owner: SymbolTable.Symbol): List[SymbolTable.Symbol]
- def cloneSymbolsAtOwnerAndModify(syms: List[SymbolTable.Symbol], owner: SymbolTable.Symbol, infoFn: (SymbolTable.Type) ⇒ SymbolTable.Type): List[SymbolTable.Symbol]
-
final
def
closestEnclMethod(from: SymbolTable.Symbol): SymbolTable.Symbol
Return closest enclosing method, unless shadowed by an enclosing class.
- def connectModuleToClass(m: SymbolTable.ModuleSymbol, moduleClass: SymbolTable.ClassSymbol): SymbolTable.ModuleSymbol
-
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.
- def createFromClonedSymbolsAtOwner[T](syms: List[SymbolTable.Symbol], owner: SymbolTable.Symbol, tpe: SymbolTable.Type)(creator: (List[SymbolTable.Symbol], SymbolTable.Type) ⇒ T): T
- def defineOriginalOwner(sym: SymbolTable.Symbol, owner: SymbolTable.Symbol): Unit
-
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
-
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
andas
across the given function.Derives a new list of symbols from the given list by mapping the given list of
syms
andas
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
-
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
-
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
-
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
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def existingSymbols(syms: List[SymbolTable.Symbol]): List[SymbolTable.Symbol]
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
- def foreachParamss(sym: SymbolTable.Symbol)(f: (SymbolTable.Symbol) ⇒ Unit): Unit
-
def
freshExistentialName(suffix: String, id: Int): SymbolTable.TypeName
- Attributes
- protected
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def getCurrentSymbolIdCount: Int
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
val
ids: Int
- Attributes
- protected
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def lockedCount: Int
- def lockedCount_=(i: Int): Unit
-
def
makeNoSymbol: SymbolTable.NoSymbol
- Attributes
- protected
-
def
mapParamss[T](sym: SymbolTable.Symbol)(f: (SymbolTable.Symbol) ⇒ T): List[List[T]]
A deep map on a symbol's paramss.
- def markAllCompleted(syms: SymbolTable.Symbol*): Unit
- def markFlagsCompleted(syms: SymbolTable.Symbol*)(mask: Long): Unit
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
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.
-
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.
-
def
newStubSymbol(owner: SymbolTable.Symbol, name: SymbolTable.Name, missingMessage: String): SymbolTable.Symbol
- Attributes
- protected
-
def
nextId(): Int
- Attributes
- protected
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def recursionTable: Map[SymbolTable.Symbol, Int]
- def recursionTable_=(value: Map[SymbolTable.Symbol, Int]): Unit
-
def
saveOriginalOwner(sym: SymbolTable.Symbol): Unit
- Attributes
- protected
- def symbolOf[T](implicit arg0: SymbolTable.WeakTypeTag[T]): SymbolTable.TypeSymbol
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
Deprecated Value Members
-
def
freshExistentialName(suffix: String): SymbolTable.TypeName
- Attributes
- protected
- Annotations
- @deprecated
- Deprecated
(Since version 2.12.1) Use overload that accepts an id
-
def
nextExistentialId(): Int
- Attributes
- protected
- Annotations
- @deprecated
- Deprecated
(Since version 2.12.1) Global existential IDs no longer used