Create a (source) name for a class symbol s
.
Create a (source) name for a class symbol s
.
Create a (source) name for the class symbol s
with a prefix determined by the class symbol in
.
Create a (source) name for the class symbol s
with a prefix determined by the class symbol in
.
If s
represents a package object pkg3
, then the returned name will be pkg1.pkg2.pkg3.package
.
If s
represents a class Foo
nested in package object pkg3
then the returned name is pkg1.pkg2.pk3.Foo
.
Note that some objects with special access rights are encoded in names
(like qualified privates private[qualifier]
). In order to get the right
original names, we need to use unexpandedName
.
Create a String (source) name for a class symbol s
.
Create a String (source) name for a class symbol s
.
Given a class symbol cls
, construct a name representing this constructor.
Given a class symbol cls
, construct a name representing this constructor.
For a class:
a.b.Foo
this is:
a;b;Foo;init;
The prefix is important to avoid name hashing all constructors together (see #97), the weird format is necessary to avoid scalac or zinc trying to interpret this name (in particular we should not use '.' and we should not use '<init>'), we use ';' because it is one of the few characters that cannot appear in a valid JVM name.
Creates a flat (binary) name for a class symbol s
.
Creates a flat (binary) name for a class symbol s
.
Mangle a JVM symbol name in a format better suited for internal uses by sbt.
Mangle a JVM symbol name in a format better suited for internal uses by sbt.
Contains utility methods for looking up class files corresponding to Symbols.