ClassSymbol

tastyquery.Symbols$.ClassSymbol
See theClassSymbol companion object
final class ClassSymbol extends TypeSymbol with DeclaringSymbol

Attributes

Companion:
object
Graph
Supertypes
class Symbol
class Object
trait Matchable
class Any

Members list

Concise view

Type members

Inherited types

Attributes

Inherited from:
TypeSymbol

Value members

Concrete methods

final def appliedRef(using Context): Type
final def companionClass(using Context): Option[ClassSymbol]

Get the companion class of this class, if it exists:

Get the companion class of this class, if it exists:

  • for class C => object class C[$]
  • for object class C[$] => class C

Attributes

final def declarations(using Context): List[TermOrTypeSymbol]

Note: this will force all trees in a package

Note: this will force all trees in a package

Attributes

final def findAllOverloadedDecls(name: TermName)(using Context): List[TermSymbol]

Returns a list of all the overloaded declarations with the given unsigned name.

Returns a list of all the overloaded declarations with the given unsigned name.

Attributes

Throws:
java.lang.IllegalArgumentException

if the provided name is a SignedName

tastyquery.Exceptions.MemberNotFoundException

if there is no declaration with the given unsigned name

final def findDecl(name: Name)(using Context): TermOrTypeSymbol
final def findDecl(name: TypeName)(using Context): TypeSymbol
final def findDecl(name: TermName)(using Context): TermSymbol
final def findMember(name: Name)(using Context): TermOrTypeSymbol
final def findMember(name: TermName)(using Context): TermSymbol
final def findMember(name: TypeName)(using Context): TypeSymbol

Convenience method to find a non-overloaded decl from its unsigned name.

Convenience method to find a non-overloaded decl from its unsigned name.

Attributes

Throws:
java.lang.IllegalArgumentException

if the provided name is a SignedName

tastyquery.Exceptions.MemberNotFoundException

if there are multiple or no overload with the given unsigned name

final def getAllOverloadedDecls(name: TermName)(using Context): List[TermSymbol]

Returns a list of all the overloaded declarations with the given unsigned name.

Returns a list of all the overloaded declarations with the given unsigned name.

If there is no declaration with the given unsigned name, this method returns Nil.

Attributes

Throws:
java.lang.IllegalArgumentException

if the provided name is a SignedName

final def getDecl(name: Name)(using Context): Option[TermOrTypeSymbol]
final def getDecl(name: TypeName)(using Context): Option[TypeSymbol]
final def getDecl(name: TermName)(using Context): Option[TermSymbol]
final def getMember(name: Name)(using Context): Option[TermOrTypeSymbol]
final def getMember(name: TermName)(using Context): Option[TermSymbol]
final def getMember(name: TypeName)(using Context): Option[TypeSymbol]
final def getNonOverloadedDecl(name: TermName)(using Context): Option[TermSymbol]

Convenience method to get a non-overloaded decl from its unsigned name.

Convenience method to get a non-overloaded decl from its unsigned name.

If there are multiple or no overload with the given unsigned name, this method returns None.

Attributes

Throws:
java.lang.IllegalArgumentException

if the provided name is a SignedName

final def givenSelfType(using Context): Option[Type]
final def isSubclass(that: ClassSymbol)(using Context): Boolean
final def linearization(using Context): List[ClassSymbol]
final def moduleValue(using Context): Option[TermSymbol]

Get the module value of this module class definition, if it exists:

Get the module value of this module class definition, if it exists:

  • for object class C[$] => object val C

Attributes

final def parents(using Context): List[Type]
final def sealedChildren(using Context): List[ClassSymbol | TermSymbol]

The direct children of a sealed class (including enums).

The direct children of a sealed class (including enums).

If this.is(Sealed) is false, this method returns Nil.

Otherwise, each element of the list is either:

  • a non-module class that extends this class (including enum class cases), or
  • a module value whose module class extends this class, or
  • an enum val case for this enum class.

The results are ordered by their declaration order in the source.

Attributes

final def selfType(using Context): Type
final def typeParams(using Context): List[ClassTypeParamSymbol]

Deprecated methods

final def getDecls(name: Name)(using Context): List[TermOrTypeSymbol]

Attributes

Deprecated
true

Inherited methods

final def allOverriddenSymbols(using Context): Iterator[Symbol]

All symbols overridden by this symbol.

All symbols overridden by this symbol.

Attributes

Inherited from:
TermOrTypeSymbol
final def annotations: List[Annotation]

Attributes

Inherited from:
Symbol
final def asClass: ClassSymbol

Attributes

Inherited from:
Symbol

Attributes

Inherited from:
Symbol

Attributes

Inherited from:
Symbol
final def asTerm: TermSymbol

Attributes

Inherited from:
Symbol
final def asType: TypeSymbol

Attributes

Inherited from:
Symbol

Attributes

Inherited from:
Symbol
final protected def failNotCompleted(details: String): Nothing

Attributes

Inherited from:
Symbol
final def flags: FlagSet

Attributes

Inherited from:
Symbol

Attributes

Inherited from:
Symbol
final def getAnnotation(annotClass: ClassSymbol)(using Context): Option[Annotation]

Attributes

Inherited from:
Symbol
final def getAnnotations(annotClass: ClassSymbol)(using Context): List[Annotation]

Attributes

Inherited from:
Symbol
final def hasAnnotation(annotClass: ClassSymbol)(using Context): Boolean

Attributes

Inherited from:
Symbol
final def is(flag: Flag): Boolean

Attributes

Inherited from:
Symbol
final def isAllOf(testFlags: FlagSet, butNotAnyOf: FlagSet): Boolean

Attributes

Inherited from:
Symbol
final def isAllOf(testFlags: FlagSet): Boolean

Attributes

Inherited from:
Symbol
final def isAnyOf(testFlags: FlagSet): Boolean

Attributes

Inherited from:
Symbol
final def isClass: Boolean

Attributes

Inherited from:
Symbol
final def isDeclaringSymbol: Boolean

Attributes

Inherited from:
Symbol
final def isOpaqueTypeAlias(using Context): Boolean

Attributes

Inherited from:
TypeSymbol
final def isPackage: Boolean

Attributes

Inherited from:
Symbol
final def isRoot: Boolean

Attributes

Inherited from:
Symbol
final def isTerm: Boolean

Attributes

Inherited from:
Symbol
final def isType: Boolean

Attributes

Inherited from:
Symbol
final def isTypeAlias(using Context): Boolean

Attributes

Inherited from:
TypeSymbol
final def matchingSymbol(inClass: ClassSymbol, siteClass: ClassSymbol)(using Context): Option[Symbol]

The symbol whose name and type matches the type of this symbol in the given class.

The symbol whose name and type matches the type of this symbol in the given class.

If inClass == this.owner, matchingSymbol returns this symbol. Otherwise, private members and constructors are ignored.

Unlike the override-related methods overriddenSymbol and overridingSymbol, this method can return non-empty results when inClass and this.owner are unrelated.

siteClass must be a common subclass of this.owner and inClass.

Attributes

inClass

The class in which to look for a matching symbol

siteClass

The base class from which member types are computed

Throws:
java.lang.IllegalArgumentException

if owner.isClass is false, if siteClass.isSubclass(owner.asClass) is false, or if siteClass.isSubclass(inClass) is false

Inherited from:
TermOrTypeSymbol
final def nextOverriddenSymbol(using Context): Option[Symbol]

The first symbol overridden by this symbol, if any.

The first symbol overridden by this symbol, if any.

Attributes

Inherited from:
TermOrTypeSymbol
final def overriddenSymbol(inClass: ClassSymbol)(using Context): Option[Symbol]

The symbol, in class inClass, that is overridden by this symbol, if any.

The symbol, in class inClass, that is overridden by this symbol, if any.

Attributes

Inherited from:
TermOrTypeSymbol
final def overrides(that: TermOrTypeSymbol)(using Context): Boolean

Returns true iff this symbol override that symbol.

Returns true iff this symbol override that symbol.

Attributes

Inherited from:
TermOrTypeSymbol
final def overridingSymbol(inClass: ClassSymbol)(using Context): Option[Symbol]

The symbol overriding this symbol in given subclass inClass, if any.

The symbol overriding this symbol in given subclass inClass, if any.

Attributes

Inherited from:
TermOrTypeSymbol
final def privateWithin: Option[Symbol]

Attributes

Inherited from:
Symbol

The source language in which this symbol was defined.

The source language in which this symbol was defined.

The source language of a symbol may have an influence on how it is erased, and therefore on how its signature is computed.

Attributes

Inherited from:
TermOrTypeSymbol
final def staticRef(using Context): TypeRef

Attributes

Inherited from:
TypeSymbol
def toDebugString: String

Attributes

Inherited from:
Symbol
override def toString: String

Returns a string representation of the object.

Returns a string representation of the object.

The default representation is platform dependent.

Attributes

Returns:

a string representation of the object.

Definition Classes
Symbol -> Any
Inherited from:
Symbol
final def tree(using Context): Option[DefiningTreeType]

Attributes

Inherited from:
Symbol