Symbol
A Symbol represents a Scala definition/declaration or a package.
Value parameters
- coord
-
The coordinates of the symbol (a position or an index)
- id
-
A unique identifier of the symbol (unique per ContextBase)
Attributes
- Graph
-
- Supertypes
-
trait Showabletrait SrcPostrait ParamInfoclass Designatorclass Objecttrait Matchableclass AnyShow all
- Known subtypes
-
class ClassSymbolobject NoSymbol.type
Members list
Type members
Value members
Concrete methods
The source or class file from which this class or the class containing this symbol was generated, null if not applicable. Note that this the returned classfile might be the top-level class containing this symbol instead of the directly enclosing class. Overridden in ClassSymbol
The source or class file from which this class or the class containing this symbol was generated, null if not applicable. Note that this the returned classfile might be the top-level class containing this symbol instead of the directly enclosing class. Overridden in ClassSymbol
Attributes
The class file from which this class was generated, null if not applicable.
The class file from which this class was generated, null if not applicable.
Attributes
Copy a symbol, overriding selective fields. Note that coord
and associatedFile
will be set from the fields in owner
, not the fields in sym
.
Copy a symbol, overriding selective fields. Note that coord
and associatedFile
will be set from the fields in owner
, not the fields in sym
.
Attributes
The tree defining the symbol at pickler time, EmptyTree if none was retained
The tree defining the symbol at pickler time, EmptyTree if none was retained
Attributes
Set defining tree if this symbol retains its definition tree
Set defining tree if this symbol retains its definition tree
Attributes
The current denotation of this symbol
The current denotation of this symbol
Attributes
Remove symbol from scope of owning class
Remove symbol from scope of owning class
Attributes
Remove symbol from scope of owning class after given phase
. Create a fresh denotation for its owner class if the class does not already have one that starts being valid after phase
.
Remove symbol from scope of owning class after given phase
. Create a fresh denotation for its owner class if the class does not already have one that starts being valid after phase
.
Attributes
This symbol entered into owner's scope (owner must be a class).
This symbol entered into owner's scope (owner must be a class).
Attributes
Enter this symbol in its class owner after given phase
. Create a fresh denotation for its owner class if the class does not already have one that starts being valid after phase
.
Enter this symbol in its class owner after given phase
. Create a fresh denotation for its owner class if the class does not already have one that starts being valid after phase
.
Attributes
If this symbol satisfies predicate p
this symbol, otherwise NoSymbol
If this symbol satisfies predicate p
this symbol, otherwise NoSymbol
Attributes
Calculate a hash code value for the object.
Calculate a hash code value for the object.
The default hashing algorithm is platform dependent.
Note that it is allowed for two objects to have identical hash codes (o1.hashCode.equals(o2.hashCode)
) yet not be equal (o1.equals(o2)
returns false
). A degenerate implementation could always return 0
. However, it is required that if two objects are equal (o1.equals(o2)
returns true
) that they have identical hash codes (o1.hashCode.equals(o2.hashCode)
). Therefore, when overriding this method, be sure to verify that the behavior is consistent with the equals
method.
Attributes
- Returns
-
the hash code value for this object.
- Definition Classes
-
Any
Does this symbol come from a currently compiled source file?
Does this symbol come from a currently compiled source file?
Attributes
Is this symbol valid in the current run and has an associated file that is not a binary file. e.g. This will return true for symbols defined by the user in a prior run of the REPL, that are still valid.
Is this symbol valid in the current run and has an associated file that is not a binary file. e.g. This will return true for symbols defined by the user in a prior run of the REPL, that are still valid.
Attributes
Is the symbol a pattern bound symbol?
Is the symbol a pattern bound symbol?
Attributes
Test whether symbol is private. This conservatively returns false
if symbol does not yet have a denotation, or denotation is a class that is not yet read.
Test whether symbol is private. This conservatively returns false
if symbol does not yet have a denotation, or denotation is a class that is not yet read.
Attributes
Special cased here, because it may be used on naked symbols in substituters
Special cased here, because it may be used on naked symbols in substituters
Attributes
Is this the info of a type parameter? Will return false
for symbols that are not type parameters.
Is this the info of a type parameter? Will return false
for symbols that are not type parameters.
Attributes
Is symbol valid in current run?
Is symbol valid in current run?
Attributes
The last known denotation of this symbol, without going through current
The last known denotation of this symbol, without going through current
Attributes
The current name of this symbol
The current name of this symbol
Attributes
This symbol, if it exists, otherwise the result of evaluating that
This symbol, if it exists, otherwise the result of evaluating that
Attributes
The original denotation of this symbol, without forcing anything
The original denotation of this symbol, without forcing anything
Attributes
The info of the type parameter
The info of the type parameter
Attributes
The info of the type parameter as seen from a prefix type. For type parameter symbols, this is the memberInfo
as seen from prefix
. For type lambda parameters, it's the same as paramInfos
as asSeenFrom
has already been applied to the whole type lambda.
The info of the type parameter as seen from a prefix type. For type parameter symbols, this is the memberInfo
as seen from prefix
. For type lambda parameters, it's the same as paramInfos
as asSeenFrom
has already been applied to the whole type lambda.
Attributes
The parameter bounds, or the completer if the type parameter is an as-yet uncompleted symbol.
The parameter bounds, or the completer if the type parameter is an as-yet uncompleted symbol.
Attributes
The name of the type parameter
The name of the type parameter
Attributes
A type that refers to the parameter
A type that refers to the parameter
Attributes
The variance of the type parameter
The variance of the type parameter
Attributes
Does this symbol retain its definition tree? A good policy for this needs to balance costs and benefits, where costs are mainly memoty leaks, in particular across runs.
Does this symbol retain its definition tree? A good policy for this needs to balance costs and benefits, where costs are mainly memoty leaks, in particular across runs.
Attributes
The symbol's signature if it is completed or a method, NotAMethod otherwise.
The symbol's signature if it is completed or a method, NotAMethod otherwise.
Attributes
A symbol related to sym
that is defined in source code.
A symbol related to sym
that is defined in source code.
Attributes
- See also
-
enclosingSourceSymbols
The position of this symbol, or NoSpan if the symbol was not loaded from source or from TASTY. This is always a zero-extent position.
The position of this symbol, or NoSpan if the symbol was not loaded from source or from TASTY. This is always a zero-extent position.
Attributes
This positioned item, widened to SrcPos
. Used to make clear we only need the position, typically for error reporting.
This positioned item, widened to SrcPos
. Used to make clear we only need the position, typically for error reporting.
Attributes
A trap to avoid calling x.symbol on something that is already a symbol. This would be expanded to toDenot(x).symbol
which is guaraneteed to be the same as x
. With the given setup, all such calls will give implicit-not found errors
A trap to avoid calling x.symbol on something that is already a symbol. This would be expanded to toDenot(x).symbol
which is guaraneteed to be the same as x
. With the given setup, all such calls will give implicit-not found errors
Attributes
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
-
Any
Inherited methods
Attributes
- Inherited from:
- SrcPos
A fallback text representation, if the pattern matching in Printers does not have a case for this showable element
A fallback text representation, if the pattern matching in Printers does not have a case for this showable element
Attributes
- Inherited from:
- Showable
Attributes
- Inherited from:
- SrcPos
The variance of the type parameter, as a number -1, 0, +1. Bivariant is mapped to 1, i.e. it is treated like Covariant.
The variance of the type parameter, as a number -1, 0, +1. Bivariant is mapped to 1, i.e. it is treated like Covariant.
Attributes
- Inherited from:
- ParamInfo
The string representation of this showable element.
The string representation with each line after the first one indented by the given given margin (in spaces).
The string representation with each line after the first one indented by the given given margin (in spaces).
Attributes
- Inherited from:
- Showable
The summarized string representation of this showable element. Recursion depth is limited to some smallish value. Default is Config.summarizeDepth.
The summarized string representation of this showable element. Recursion depth is limited to some smallish value. Default is Config.summarizeDepth.
Attributes
- Inherited from:
- Showable
Attributes
- Inherited from:
- SrcPos