The class or term up to which this symbol is accessible, or RootClass if it is public.
The class or term up to which this symbol is accessible, or RootClass if it is public. As java protected statics are otherwise completely inaccessible in scala, they are treated as public.
The modifiers of this symbol
After the typer phase (before, look at the definition's Modifiers), contains the annotations attached to member a definition (class, method, type, field).
The decoded name of the symbol, e.
The decoded name of the symbol, e.g. ==
instead of $eq$eq
.
String representation of symbol's definition.
String representation of symbol's definition. It uses the symbol's raw info to avoid forcing types.
The owner, skipping package objects.
The next enclosing class.
The name of the symbol before decoding, e.
The name of the symbol before decoding, e.g. $eq$eq
instead of ==
.
String representation of existentially bound variable
Though both Symbol and Modifiers widen this method to public, it's defined protected here to give us the option in the future to route flag methods through accessors and disallow raw flag manipulation.
Though both Symbol and Modifiers widen this method to public, it's defined protected here to give us the option in the future to route flag methods through accessors and disallow raw flag manipulation. And after that, perhaps, on some magical day: a typesafe enumeration.
The encoded full path name of this symbol, where outer names and inner names are separated by periods.
The encoded full path name of this symbol, where outer names and inner names
are separated by separator
characters.
The encoded full path name of this symbol, where outer names and inner names
are separated by separator
characters.
Never translates expansions of operators back to operator symbol.
Never adds id.
Drops package objects.
Does symbol have a private or protected qualifier set?
Does symbol have ALL the flags in mask
set?
Does symbol have ANY flag in mask
set?
The printable representation of this entity's flags and access boundary, restricted to flags in the given mask.
Does this symbol have given modifier?
Whether this entity has NONE of the flags in the given mask.
Whether this entity has NONE of the flags in the given mask.
An id number which is unique for all symbols in this universe
Is this symbol an effective root for fullname string?
Is this symbol effectively final? I.
Is this symbol effectively final? I.e, it cannot be overridden
Package tests
Is this symbol locally defined? I.
Is this symbol locally defined? I.e. not accessed from outside this
instance
Is this class symbol a subclass of that symbol?
Is this symbol a type but not a class?
Conditions where we omit the prefix when printing a symbol, to avoid unpleasantries like Predef.
Conditions where we omit the prefix when printing a symbol, to avoid unpleasantries like Predef.String.
Overridden in NullClass and NothingClass for custom behavior.
Term symbols with the exception of static parts of Java classes and packages.
String representation of symbol's definition key word
For a lazy value, its lazy accessor.
For a lazy value, its lazy accessor. NoSymbol for all others.
The module class corresponding to this module.
The name of the symbol as a member of the Name
type.
String representation of symbol's simple name.
Symbol of an abstract type type T >: .
Symbol of an abstract type type T >: ... <: ...
Symbol of a type definition type T = .
Symbol of a type definition type T = ...
Instance constructor with info set.
Propagates ConstrFlags (JAVA, specifically) from owner to constructor.
Create local dummy for template (owner of local blocks)
Refinement types P { val x: String; type T <: Number } also have symbols, they are refinementClasses
Static constructor with info set.
Synthetic value parameter when parameter symbol is not available.
Synthetic value parameter when parameter symbol is not available. Calling this method multiple times will re-use the same parameter name.
Synthetic value parameters when parameter symbols are not available.
Synthetic value parameters when parameter symbols are not available. Calling this method multiple times will re-use the same parameter names.
Synthetic value parameters when parameter symbols are not available
Symbol of a type parameter
The owner of this symbol.
Access level encoding: there are three scala flags (PRIVATE, PROTECTED, and LOCAL) which combine with value privateWithin (the "foo" in private[foo]) to define from where an entity can be accessed.
Access level encoding: there are three scala flags (PRIVATE, PROTECTED, and LOCAL) which combine with value privateWithin (the "foo" in private[foo]) to define from where an entity can be accessed. The meanings are as follows:
PRIVATE access restricted to class only. PROTECTED access restricted to class and subclasses only. LOCAL can only be set in conjunction with PRIVATE or PROTECTED. Further restricts access to the same object instance.
In addition, privateWithin can be used to set a visibility barrier. When set, everything contained in the named enclosing package or class has access. It is incompatible with PRIVATE or LOCAL, but is additive with PROTECTED (i.e. if either the flags or privateWithin allow access, then it is allowed.)
The java access levels translate as follows:
java private: hasFlag(PRIVATE) && !hasAccessBoundary java package: !hasFlag(PRIVATE | PROTECTED) && (privateWithin == enclosing package) java protected: hasFlag(PROTECTED) && (privateWithin == enclosing package) java public: !hasFlag(PRIVATE | PROTECTED) && !hasAccessBoundary
If the given flag is set on this symbol, also set the corresponding notFLAG.
If the given flag is set on this symbol, also set the corresponding notFLAG. For instance if flag is PRIVATE, the notPRIVATE flag will be set if PRIVATE is currently set.
The simple name of this Symbol
If this is a package object or its implementing class, its owner: otherwise this.
The module corresponding to this module class (note that this is not updated when a module is cloned), or NoSymbol if this is not a ModuleClass.
If symbol is a class, the type this.type
in this class,
otherwise NoPrefix
.
If symbol is a class, the type this.type
in this class,
otherwise NoPrefix
.
We always have: thisType <:< typeOfThis
The type constructor of a symbol is: For a type symbol, the type corresponding to the symbol itself, excluding parameters.
The type constructor of a symbol is: For a type symbol, the type corresponding to the symbol itself, excluding parameters. Not applicable for term symbols.
The variance of this symbol as an integer
String representation of symbol's variance