PlainSkelBuilder

dotty.tools.backend.jvm.BCodeSkelBuilder.PlainSkelBuilder

Attributes

Graph
Supertypes
trait BCPickles
trait BCJGenSigGen
trait BCAnnotGen
trait BCClassGen
class Object
trait Matchable
class Any
Show all
Known subtypes

Members list

Type members

Classlikes

case class Local(tk: BType, name: String, idx: Int, isSynth: Boolean)

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object bc extends JCodeMethodN

Attributes

Supertypes
class JCodeMethodN
class Object
trait Matchable
class Any
Self type
bc.type
object locals

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
locals.type

Value members

Abstract methods

def genLoadTo(tree: Tree, expectedType: BType, dest: LoadDestination): Unit

Concrete methods

def emitLocalVarScope(sym: Symbol, start: Label, end: Label, force: Boolean): Unit
def gen(tree: Tree): Unit
def genDefDef(dd: DefDef): Unit

Attributes

Definition Classes
def initJMethod(flags: Int, params: List[Symbol]): Unit
def lineNumber(tree: Tree): Unit
def paramTKs(app: Apply, take: Int): List[BType]
def registerCleanup(finCleanup: Label): Unit
def registerJumpDest(labelSym: Symbol, expectedType: BType, dest: LoadDestination): Unit
def symInfoTK(sym: Symbol): BType
def tpeTK(tree: Tree): BType
def unregisterCleanup(finCleanup: Label): Unit

Inherited methods

def addForwarders(jclass: ClassVisitor, jclassName: String, moduleClass: Symbol): Unit

Attributes

Inherited from:
BCForwardersGen
def addSerialVUID(id: Long, jclass: ClassVisitor): Unit

Attributes

Inherited from:
BCClassGen
final def asmMethodType(msym: Symbol): MethodBType

Attributes

Inherited from:
BCInnerClassGen

Attributes

Inherited from:
BCInnerClassGen
def emitAnnotations(fw: FieldVisitor, annotations: List[Annotation]): Unit

Attributes

Inherited from:
BCAnnotGen
def emitAnnotations(mw: MethodVisitor, annotations: List[Annotation]): Unit

Attributes

Inherited from:
BCAnnotGen
def emitAnnotations(cw: ClassVisitor, annotations: List[Annotation]): Unit

Attributes

Inherited from:
BCAnnotGen

Attributes

Inherited from:
BCAnnotGen
def emitParamNames(jmethod: MethodVisitor, params: List[Symbol]): Unit

Attributes

Inherited from:
BCAnnotGen
final def getClassBType(sym: Symbol): ClassBType

The ClassBType for a class symbol.

The ClassBType for a class symbol.

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.

Attributes

Inherited from:
BCInnerClassGen

Attributes

Inherited from:
BCForwardersGen

Generates the generic signature for sym before erasure.

Generates the generic signature for sym before erasure.

Value parameters

owner

The owner of sym.

sym

The symbol for which to generate a signature.

Attributes

Returns

The generic signature of sym before erasure, as specified in the Java Virtual Machine Specification, ยง4.3.4, or null if sym doesn't need a generic signature.

See also
Inherited from:
BCJGenSigGen
final def internalName(sym: Symbol): String

The class internal name for a given class symbol.

The class internal name for a given class symbol.

Attributes

Inherited from:
BCInnerClassGen

Attributes

Inherited from:
JAndroidBuilder
def legacyAddCreatorCode(clinit: MethodVisitor, cnode: ClassNode, thisName: String): Unit

Attributes

Inherited from:
JAndroidBuilder

Attributes

Inherited from:
BCPickles

Attributes

Inherited from:
BCPickles
final def symDescriptor(sym: Symbol): String

The jvm descriptor for a symbol.

The jvm descriptor for a symbol.

Attributes

Inherited from:
BCInnerClassGen
final def toTypeKind(tp: Type): BType

Attributes

Inherited from:
BCInnerClassGen
final def typeDescriptor(t: Type): String

The jvm descriptor of a type.

The jvm descriptor of a type.

Attributes

Inherited from:
BCInnerClassGen

Inherited fields

Attributes

Inherited from:
JAndroidBuilder

Attributes

Inherited from:
JAndroidBuilder

Attributes

Inherited from:
BCClassGen

Attributes

Inherited from:
JAndroidBuilder
final val emitLines: Boolean

Attributes

Inherited from:
BCInnerClassGen
final val emitSource: Boolean

Attributes

Inherited from:
BCInnerClassGen
final val emitVars: Boolean

Attributes

Inherited from:
BCInnerClassGen

Attributes

Inherited from:
BCPickles