scala.tools.nsc.backend

jvm

package jvm

Content Hierarchy Learn more about scaladoc diagrams
Visibility
  1. Public
  2. All

Type Members

  1. abstract class BCodeBodyBuilder extends BCodeSkelBuilder

  2. abstract class BCodeHelpers extends BCodeTypes with BytecodeWriters

  3. final class BCodeICodeCommon[G <: Global] extends AnyRef

    This trait contains code shared between GenBCode and GenICode that depends on types defined in the compiler cake (Global).

  4. abstract class BCodeIdiomatic extends SubComponent

  5. abstract class BCodeSkelBuilder extends BCodeHelpers

  6. abstract class BCodeSyncAndTry extends BCodeBodyBuilder

  7. abstract class BCodeTypes extends BCodeIdiomatic

  8. abstract class BTypes[G <: Global] extends AnyRef

    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).

  9. trait BytecodeWriters extends AnyRef

    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.

  10. class FileConflictException extends IOException

    Can't output a file due to the state of the file system.

  11. abstract class GenASM extends SubComponent with BytecodeWriters with GenJVMASM

  12. abstract class GenBCode extends BCodeSyncAndTry

  13. trait GenJVMASM extends AnyRef

    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.

Value Members

  1. object AsmUtils

Ungrouped