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.