Encodes a constructor symbol of java.lang.String for use in RuntimeString.
Encodes a constructor symbol of java.lang.String for use in RuntimeString.
newString
java.lang.String
Encodes a method symbol of java.lang.String for use in RuntimeString.
Encodes a method symbol of java.lang.String for use in RuntimeString.
This basically means adding an initial parameter of type
java.lang.String, which is the this
parameter.
Patches the result type of a method symbol to sanitize it.
Patches the result type of a method symbol to sanitize it.
For some reason, dotc thinks that the info.resultType
of an
isConstructor
method (for classes or traits) is the enclosing class
or trait, but the bodies and usages act as if the result type was Unit
.
This method returns UnitType
for constructor methods, and otherwise
sym.info.resultType
.
Encoding of symbol names for JavaScript
Some issues that this encoding solves: * Overloading: encode the full signature in the JS name * Same scope for fields and methods of a class * Global access to classes and modules (by their full name)