The primary constructor of a class or trait, NoSymbol if not applicable.
The primary constructor of a class or trait, NoSymbol if not applicable.
The contents of a class definition during a period
TODO: Document why caches are supposedly safe to use
TODO: Document why caches are supposedly safe to use
The base classes of this class in linearization order, with the class itself as first element.
The base classes of this class in linearization order, with the class itself as first element.
Compute tp.baseTypeRef(this)
Compute tp.baseTypeRef(this)
Invalidate baseTypeRefCache, baseClasses and superClassBits on new run
Invalidate baseTypeRefCache, baseClasses and superClassBits on new run
The info asserted to have type ClassInfo
The info asserted to have type ClassInfo
The denotations of all parents in this class.
The denotations of all parents in this class.
The symbol asserted to have type ClassSymbol
The symbol asserted to have type ClassSymbol
Delete symbol from current scope. Note: We require that this does not happen after the first time someone does a findMember on a subclass.
Delete symbol from current scope. Note: We require that this does not happen after the first time someone does a findMember on a subclass.
Is this a subclass of base
,
and is the denoting symbol also different from Null
or Nothing
?
Is this a subclass of base
,
and is the denoting symbol also different from Null
or Nothing
?
If this class has the same decls
scope reference in phase
and
phase.next
, install a new denotation with a cloned scope in phase.next
.
If this class has the same decls
scope reference in phase
and
phase.next
, install a new denotation with a cloned scope in phase.next
.
Make sure the type parameters of this class appear in the order given
by typeParams
in the scope of the class. Reorder definitions in scope if necessar...
Make sure the type parameters of this class appear in the order given
by typeParams
in the scope of the class. Reorder definitions in scope if necessary.
Enter a symbol in current scope, and future scopes of same denotation. Note: We require that this does not happen after the first time someone does a fi...
Enter a symbol in current scope, and future scopes of same denotation. Note: We require that this does not happen after the first time someone does a findMember on a subclass.
Enter a symbol in current scope, and future scopes of same denotation. Note: We require that this does not happen after the first time someone does a fi...
Enter a symbol in current scope, and future scopes of same denotation. Note: We require that this does not happen after the first time someone does a findMember on a subclass.
Enter a symbol in given scope
without potentially replacing the old copy.
Enter a symbol in given scope
without potentially replacing the old copy.
Find member of this denotation with given name and
produce a denotation that contains the type of the member
as seen from given prefix pre
. Exclude all...
Find member of this denotation with given name and
produce a denotation that contains the type of the member
as seen from given prefix pre
. Exclude all members that have
flags in excluded
from consideration.
fullName
where `.' is the separator character
fullName
where `.' is the separator character
The encoded full path name of this denotation, where outer names and inner names
are separated by separator
strings.
Never translates expansions of oper...
The encoded full path name of this denotation, where outer names and inner names
are separated by separator
strings.
Never translates expansions of operators back to operator symbol.
Drops package objects. Represents terms in the owner chain by a simple ~
.
(Note: scalac uses nothing to represent terms, which can cause name clashes
between same-named definitions in different enclosing methods. Before this commit
we used `$' but this can cause ambiguities with the class separator '$').
A separator "" means "flat name"; the real separator in this case is "$" and
enclosing packages do not form part of the name.
Invalidate all caches and fields that depend on base classes and their contents
Invalidate all caches and fields that depend on base classes and their contents
The denotation is fully completed: all attributes are fully defined. ClassDenotations compiled from source are first completed, then fully completed. Pa...
The denotation is fully completed: all attributes are fully defined. ClassDenotations compiled from source are first completed, then fully completed. Packages are never fully completed since members can be added at any time.
Is this a subclass of the given class base
?
Is this a subclass of the given class base
?
A bloom filter for the names of all members in this class. Makes sense only for parent classes, and should definitely not be used for package classes be...
A bloom filter for the names of all members in this class. Makes sense only for parent classes, and should definitely not be used for package classes because cache never gets invalidated.
All members of this class that have the given name. The elements of the returned pre-denotation all have existing symbols.
All members of this class that have the given name. The elements of the returned pre-denotation all have existing symbols.
All non-private members of this class that have the given name. The elements of the returned pre-denotation all have existing symbols.
All non-private members of this class that have the given name. The elements of the returned pre-denotation all have existing symbols.
All non-private members of this class that have the given name. The elements of the returned pre-denotation all have existing symbols.
All non-private members of this class that have the given name. The elements of the returned pre-denotation all have existing symbols.
The parameter accessors of this class. Term and type accessors, getters and setters are all returned int his list
The parameter accessors of this class. Term and type accessors, getters and setters are all returned int his list
The primary constructor of a class or trait, NoSymbol if not applicable.
The primary constructor of a class or trait, NoSymbol if not applicable.
Replace symbol prev
(if defined in current class) by symbol replacement
.
If prev
is not defined in current class, do nothing.
Replace symbol prev
(if defined in current class) by symbol replacement
.
If prev
is not defined in current class, do nothing.
The symbol of the superclass, NoSymbol if no superclass exists
The symbol of the superclass, NoSymbol if no superclass exists
A bitset that contains the superId's of all base classes
A bitset that contains the superId's of all base classes
invalidate caches influenced by parent classes if one of the parents is younger than the denotation itself.
invalidate caches influenced by parent classes if one of the parents is younger than the denotation itself.
The this-type depends on the kind of class:
- for a package class p
: ThisType(TypeRef(Noprefix, p))
- for a module class m
: A term ref to m's source mo...
The this-type depends on the kind of class:
- for a package class p
: ThisType(TypeRef(Noprefix, p))
- for a module class m
: A term ref to m's source module.
- for all other classes c
with owner o
: ThisType(TypeRef(o.thisType, c))
The flags to be used for a type parameter owned by this symbol. Overridden by ClassDenotation.
The flags to be used for a type parameter owned by this symbol. Overridden by ClassDenotation.
The type parameters of this class
The type parameters of this class
The type parameters in this class, in the order they appear in the current
scope decls
. This might be temporarily the incorrect order when
reading Scala...
The type parameters in this class, in the order they appear in the current
scope decls
. This might be temporarily the incorrect order when
reading Scala2 pickled info. The problem is fixed by ensureTypeParamsInCorrectOrder
,
which is called once an unpickled symbol has been completed.
The TypeRef representing this type denotation at its original location.
The TypeRef representing this type denotation at its original location.