SymbolMethods

Extension methods of Symbol

Extension methods of Symbol

Extensions

Extensions

extension (self: Symbol)

Returns all symbols overridden by this symbol.

Returns all symbols overridden by this symbol.

Annotations attached to this symbol

Annotations attached to this symbol

Fields of a case class type -- only the ones declared in primary constructor

Fields of a case class type -- only the ones declared in primary constructor

Case class or case object children of a sealed trait

Case class or case object children of a sealed trait

The symbol of the companion class

The symbol of the companion class

The symbol of the companion module

The symbol of the companion module

All members directly declared in the class

All members directly declared in the class

Field with the given name directly declared in the class

Field with the given name directly declared in the class

Fields directly declared in the class

Fields directly declared in the class

Get non-private named methods defined directly inside the class

Get non-private named methods defined directly inside the class

Get all non-private methods defined directly inside the class, excluding constructors

Get all non-private methods defined directly inside the class, excluding constructors

Get non-private named methods defined directly inside the class

Get non-private named methods defined directly inside the class

Get all non-private methods defined directly inside the class, excluding constructors

Get all non-private methods defined directly inside the class, excluding constructors

The documentation for this symbol, if any

The documentation for this symbol, if any

Does this symbol represent a definition?

Does this symbol represent a definition?

def flags: Flags

Flags of this symbol

Flags of this symbol

The full name of this symbol up to the root package

The full name of this symbol up to the root package

def getAnnotation(annotSym: Symbol): Option[Term]

Get the annotation defined with annotSym attached to this symbol

Get the annotation defined with annotSym attached to this symbol

def hasAnnotation(annotSym: Symbol): Boolean

Is the annotation defined with annotSym attached to this symbol?

Is the annotation defined with annotSym attached to this symbol?

Is this symbol an abstract type?

Is this symbol an abstract type?

Is this symbol an alias type?

Is this symbol an alias type?

Is this symbol an anonymous class?

Is this symbol an anonymous class?

Is this symbol an anonymous function?

Is this symbol an anonymous function?

Is this the definition of a Bind pattern?

Is this the definition of a Bind pattern?

Is this the constructor of a class?

Is this the constructor of a class?

Is this the definition of a ClassDef tree?

Is this the definition of a ClassDef tree?

Is this the definition of a DefDef tree?

Is this the definition of a DefDef tree?

Does this symbol come from a currently compiled source file?

Does this symbol come from a currently compiled source file?

Dummy val symbol that owns all statements within the initialization of the class.

Dummy val symbol that owns all statements within the initialization of the class. This may also contain local definitions such as classes defined in a locally block in the class.

Does this symbol represent a no definition?

Does this symbol represent a no definition?

Is this the definition of a PackageDef tree?

Is this the definition of a PackageDef tree?

Is this symbol a class representing a refinement?

Is this symbol a class representing a refinement?

Is this the definition of a term?

Is this the definition of a term?

Is this the definition of a type?

Is this the definition of a type?

Is this the definition of a TypeDef tree

Is this the definition of a TypeDef tree

Is this the definition of a ValDef tree?

Is this the definition of a ValDef tree?

Owner of this symbol.

Owner of this symbol. The owner is the symbol in which this symbol is defined. Returns NoSymbol if this symbol does not have an owner.

Get named non-private fields declared or inherited

Get named non-private fields declared or inherited

Get all non-private fields declared or inherited

Get all non-private fields declared or inherited

Get named non-private methods declared or inherited

Get named non-private methods declared or inherited

Get all non-private methods declared or inherited

Get all non-private methods declared or inherited

def memberType(name: String): Symbol

Type member with the given name directly declared in the class

Type member with the given name directly declared in the class

Type member directly declared in the class

Type member directly declared in the class

The class symbol of the companion module class

The class symbol of the companion module class

def name: String

The name of this symbol

The name of this symbol

The symbol overriding this symbol in given subclass ofclazz.

The symbol overriding this symbol in given subclass ofclazz.

Value Params
ofclazz

is a subclass of this symbol's owner

Owner of this symbol.

Owner of this symbol. The owner is the symbol in which this symbol is defined. Throws if this symbol does not have an owner.

The symbols of each type parameter list and value parameter list of this method, or Nil if this isn't a method.

The symbols of each type parameter list and value parameter list of this method, or Nil if this isn't a method.

The position of this symbol

The position of this symbol

The primary constructor of a class or trait, noSymbol if not applicable.

The primary constructor of a class or trait, noSymbol if not applicable.

This symbol is private within the resulting type

This symbol is private within the resulting type

This symbol is protected within the resulting type

This symbol is protected within the resulting type

Signature of this definition

Signature of this definition

def tree: Tree

Tree of this definition

Tree of this definition

If this symbol isClassDef it will return a ClassDef, if this symbol isTypeDef it will return a TypeDef, if this symbol isValDef it will return a ValDef, if this symbol isDefDef it will return a DefDef if this symbol isBind it will return a Bind, else will throw

**Warning**: avoid using this method in macros.

**Caveat**: The tree is not guaranteed to exist unless the compiler option -Yretain-trees is enabled.

**Anti-pattern**: The following code is an anti-pattern:

symbol.tree.info

It should be replaced by the following code:

tp.memberType(symbol)