PlainSkelBuilder

trait BCPickles
class Object
trait Matchable
class Any

Type members

Classlikes

case class Local(tk: BType, name: String, idx: Int, isSynth: Boolean)
object bc extends JCodeMethodN
object locals

Value members

Abstract methods

def genLoad(tree: Tree, expectedType: BType): Unit

Concrete methods

def emitLocalVarScope(sym: Symbol, start: Label, end: Label, force: Boolean): Unit
def gen(tree: Tree): Unit
Definition Classes
def initJMethod(flags: Int, params: List[Symbol]): Unit
def lineNumber(tree: Tree): Unit
def paramTKs(app: Apply, take: Int): List[BType]
def programPoint(labelSym: Symbol): Label
def registerCleanup(finCleanup: Label): Unit
def tpeTK(tree: Tree): BType
def unregisterCleanup(finCleanup: Label): Unit

Inherited methods

def addForwarders(jclass: ClassVisitor, jclassName: String, moduleClass: Symbol): Unit
Inherited from:
BCForwardersGen
def addSerialVUID(id: Long, jclass: ClassVisitor): Unit
Inherited from:
BCClassGen
final def asmMethodType(msym: Symbol): MethodBType
Inherited from:
BCInnerClassGen
Inherited from:
BCInnerClassGen
Inherited from:
BCAnnotGen
Inherited from:
BCAnnotGen
Inherited from:
BCAnnotGen
Inherited from:
BCAnnotGen
def emitParamNames(jmethod: MethodVisitor, params: List[Symbol]): Unit
Inherited from:
BCAnnotGen

The ClassBType for a class symbol. If the class is nested, the ClassBType is added to the innerClassBufferASM.

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.

Inherited from:
BCInnerClassGen

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.

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. If the symbol describes a nested class, the ClassBType is added to the innerClassBufferASM.

The class internal name for a given class symbol. If the symbol describes a nested class, the ClassBType is added to the innerClassBufferASM.

Inherited from:
BCInnerClassGen
def legacyAddCreatorCode(clinit: MethodVisitor, cnode: ClassNode, thisName: String): Unit
Inherited from:
JAndroidBuilder
final def symDescriptor(sym: Symbol): String

The jvm descriptor for a symbol. If sym represents a nested class, its ClassBType is added to the innerClassBufferASM.

The jvm descriptor for a symbol. If sym represents a nested class, its ClassBType is added to the innerClassBufferASM.

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

The jvm descriptor of a type. If t references a nested class, its ClassBType is added to the innerClassBufferASM.

The jvm descriptor of a type. If t references a nested class, its ClassBType is added to the innerClassBufferASM.

Inherited from:
BCInnerClassGen

Inherited fields

final val emitLines: Boolean
Inherited from:
BCInnerClassGen
final val emitSource: Boolean
Inherited from:
BCInnerClassGen
final val emitVars: Boolean
Inherited from:
BCInnerClassGen