The jvm descriptor for a symbol.
The jvm descriptor for a symbol. If sym
represents a nested class, its ClassBType is added
to the innerClassBufferASM.
The jvm descriptor of a type.
The jvm descriptor of a type. If t
references a nested class, its ClassBType is added to
the innerClassBufferASM.
The ClassBType for a class symbol.
The ClassBType for a class symbol. If the class is nested, the ClassBType is added to the innerClassBufferASM.
The class symbol scala.Nothing is mapped to the class scala.runtime.Nothing$. Similarly, scala.Null is mapped to scala.runtime.Null$. This is because there exist no class files for the Nothing / Null. If used for example as a parameter type, we use the runtime classes in the classfile method signature.
Note that the referenced class symbol may be an implementation class. For example when compiling a mixed-in method that forwards to the static method in the implementation class, the class descriptor of the receiver (the implementation class) is obtained by creating the ClassBType.
The class internal name for a given class symbol.
The class internal name for a given class symbol. If the symbol describes a nested class, the ClassBType is added to the innerClassBufferASM.
This method returns the BType for a type reference, for example a parameter type.
This method returns the BType for a type reference, for example a parameter type.
If the result is a ClassBType for a nested class, it is added to the innerClassBufferASM.
If t
references a class, toTypeKind ensures that the class is not an implementation class.
See also comment on getClassBTypeAndRegisterInnerClass, which is invoked for implementation
classes.