Get ClassSymbol if class is either defined in current compilation run or present on classpath.
Get ClassSymbol if class is either defined in current compilation run or present on classpath. Returns NoSymbol otherwise.
Map given symbols, subjecting their attributes to the mappings
defined in the given TreeTypeMap ttmap
.
Map given symbols, subjecting their attributes to the mappings
defined in the given TreeTypeMap ttmap
.
Cross symbol references are brought over from originals to copies.
Do not copy any symbols if all attributes of all symbols stay the same.
Create a class symbol from its non-info fields and a function producing its info (the produced info may be lazy).
Create a class symbol from a function producing its denotation
Create a class symbol from its non-info fields and the fields of its info.
Create a module symbol with associated module class from its non-info fields and the fields of the module class info.
Create a package symbol with associated package class from its non-info fields its member scope.
Create a class constructor symbol for given class cls
.
Create an empty default constructor symbol for given class cls
.
Create an import symbol pointing back to given qualifier expr
.
Create the local template dummy of given class cls
.
Create the local template dummy of given class cls
.
In a template
trait T { val fld: Int; { val x: int = 2 }; val fld2 = { val y = 2; y }}
the owner of x
is the local dummy of the template. The owner of the local
dummy is then the class of the template itself. By contrast, the owner of y
would be fld2
. There is a single local dummy per template.
Create a module symbol with associated module class from its non-info fields and a function producing the info of the module class (this info may be lazy).
Create a class symbol without a denotation.
Create a symbol without a denotation.
Create a symbol without a denotation. Note this uses a cast instead of a direct type refinement because it's debug-friendlier not to create an anonymous class here.
Same as newCompleteClassSymbol
except that parents
can be a list of arbitrary
types which get normalized into type refs and parameter bindings.
Create a package symbol with associated package class from its non-info fields and a lazy type for loading the package's members.
Create a symbol representing a selftype declaration for class cls
.
Create a new skolem symbol.
Create a new skolem symbol. This is not the same as SkolemType, even though the motivation (create a singleton referencing to a type) is similar.
Create a stub symbol that will issue a missing reference error when attempted to be completed.
Create a symbol from its fields (info may be lazy)
Create new type parameters with given owner, names, and flags.
Create new type parameters with given owner, names, and flags.
A function that, given type refs to the newly created parameters returns a list of their bounds.
Creation methods for symbols