This trait contains code shared between GenBCode and GenICode that depends on types defined in the compiler cake (Global).
BTypes is a backend component that defines the class BType, a number of basic instances and some utilities.
BTypes is a backend component that defines the class BType, a number of basic instances and some utilities.
A BType is essentially an slice of the array chrs
denoting the name of the type, and a field
denoting the kind (object, array, method, or one of the primitive types).
BTypes depends on Global just because it re-uses hash-consing of Name. It would be cleaner to create an interface for BTypeName and extend it in scala.reflect.internal.Names#Name, that would simplify testing BTypes (no Global needed).
For the last mile: turning generated bytecode in memory into something you can use.
For the last mile: turning generated bytecode in memory into something you can use. Has implementations for writing to class files, jars, and disassembled/javap output.
Can't output a file due to the state of the file system.
Code shared between the erstwhile legacy backend (aka GenJVM) and the new backend scala.tools.nsc.backend.jvm.GenASM.
Code shared between the erstwhile legacy backend (aka GenJVM) and the new backend scala.tools.nsc.backend.jvm.GenASM. There should be more here, but for now I'm starting with the refactorings that are either straightforward to review or necessary for maintenance.