PlainBodyBuilder

dotty.tools.backend.jvm.BCodeBodyBuilder.PlainBodyBuilder
abstract class PlainBodyBuilder(cunit: CompilationUnit) extends PlainSkelBuilder

Attributes

Graph
Supertypes
Known subtypes

Members list

Type members

Inherited classlikes

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

Attributes

Inherited from:
PlainSkelBuilder
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object bc extends JCodeMethodN

Attributes

Inherited from:
PlainSkelBuilder
Supertypes
class Object
trait Matchable
class Any
object locals

Attributes

Inherited from:
PlainSkelBuilder
Supertypes
class Object
trait Matchable
class Any

Value members

Abstract methods

def genLoadTry(tree: Try): BType
def genSynchronized(tree: Apply, expectedType: BType): BType

Concrete methods

def adapt(from: BType, to: BType): Unit
def emit(opc: Int): Unit

Add entries to the LocalVariableTable JVM attribute for all the vars in varsInScope, ending at the current program point.

Add entries to the LocalVariableTable JVM attribute for all the vars in varsInScope, ending at the current program point.

Attributes

def emitZeroOf(tk: BType): Unit
def fieldLoad(field: Symbol, hostClass: Symbol = ...): Unit
def fieldStore(field: Symbol, hostClass: Symbol = ...): Unit
def genAdaptAndSendToDest(generatedType: BType, expectedType: BType, dest: BCodeBodyBuilder.this.LoadDestination): Unit
def genArithmeticOp(tree: Tree, code: Int): BType
def genArrayOp(tree: Tree, code: Int, expectedType: BType): BType
def genBlockTo(tree: Block, expectedType: BType, dest: BCodeBodyBuilder.this.LoadDestination): Unit
def genCast(to: RefBType, cast: Boolean): Unit
def genCoercion(code: Int): Unit
def genConversion(from: BType, to: BType, cast: Boolean): Unit
def genEqEqPrimitive(l: Tree, r: Tree, success: Label, failure: Label, targetIfNoJump: Label): Unit
def genInvokeDynamicLambda(ctor: Symbol, lambdaTarget: Symbol, environmentSize: Int, functionalInterface: Symbol): BType
def genLoad(tree: Tree): BType
def genLoad(tree: Tree, expectedType: BType): Unit
def genLoadArguments(args: List[Tree], btpes: List[BType]): Unit
def genLoadIfTo(tree: If, expectedType: BType, dest: BCodeBodyBuilder.this.LoadDestination): BType
def genLoadModule(tree: Tree): BType
def genLoadModule(module: Symbol): Unit
def genLoadTo(tree: Tree, expectedType: BType, dest: BCodeBodyBuilder.this.LoadDestination): Unit
def genPrimitiveOp(tree: Apply, expectedType: BType): BType
def genScalaHash(tree: Tree): BType
def genStat(tree: Tree): Unit
def genStringConcat(tree: Tree): BType
def isPrimitive(fun: Tree): Boolean
def testOpForPrimitive(primitiveCode: Int): TestOp

Inherited methods

Attributes

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

Attributes

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

Attributes

Inherited from:
BCClassGen

Attributes

Inherited from:
PlainSkelBuilder
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
def emitLocalVarScope(sym: Symbol, start: Label, end: Label, force: Boolean = ...): Unit

Attributes

Inherited from:
PlainSkelBuilder

Attributes

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

Attributes

Inherited from:
BCAnnotGen

Attributes

Inherited from:
PlainSkelBuilder
def gen(tree: Tree): Unit

Attributes

Inherited from:
PlainSkelBuilder
def genDefDef(dd: DefDef): Unit

Attributes

Inherited from:
PlainSkelBuilder

Attributes

Inherited from:
PlainSkelBuilder

Attributes

Definition Classes
Inherited from:
PlainSkelBuilder

Attributes

Inherited from:
BCForwardersGen
def getGenericSignature(sym: Symbol, owner: Symbol): String | Null

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

Attributes

Inherited from:
JAndroidBuilder

Attributes

Inherited from:
PlainSkelBuilder

Attributes

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

Attributes

Inherited from:
JAndroidBuilder
def lineNumber(tree: Tree): Unit

Attributes

Inherited from:
PlainSkelBuilder

Attributes

Inherited from:
PlainSkelBuilder
def paramTKs(app: Apply, take: Int = ...): List[BType]

Attributes

Inherited from:
PlainSkelBuilder

Attributes

Inherited from:
BCPickles

Attributes

Inherited from:
BCPickles
def registerCleanup(finCleanup: Label): Unit

Attributes

Inherited from:
PlainSkelBuilder
def registerJumpDest(labelSym: Symbol, expectedType: BType, dest: BCodeSkelBuilder.this.LoadDestination): Unit

Attributes

Inherited from:
PlainSkelBuilder

Attributes

Inherited from:
PlainSkelBuilder
def symInfoTK(sym: Symbol): BType

Attributes

Inherited from:
PlainSkelBuilder
def tpeTK(tree: Tree): BType

Attributes

Inherited from:
PlainSkelBuilder
def unregisterCleanup(finCleanup: Label): Unit

Attributes

Inherited from:
PlainSkelBuilder

Inherited fields

Attributes

Inherited from:
JAndroidBuilder

Attributes

Inherited from:
JAndroidBuilder

Attributes

Inherited from:
BCClassGen
inline val MaximumJvmParameters: 254

Attributes

Inherited from:
PlainSkelBuilder

Attributes

Inherited from:
JAndroidBuilder

Attributes

Inherited from:
PlainSkelBuilder

Attributes

Inherited from:
PlainSkelBuilder
var cnode: ClassNode1

Attributes

Inherited from:
PlainSkelBuilder

Attributes

Inherited from:
PlainSkelBuilder

Attributes

Inherited from:
PlainSkelBuilder

Attributes

Inherited from:
PlainSkelBuilder

Attributes

Inherited from:
PlainSkelBuilder

Attributes

Inherited from:
PlainSkelBuilder

Attributes

Inherited from:
PlainSkelBuilder

Attributes

Inherited from:
PlainSkelBuilder

Attributes

Inherited from:
PlainSkelBuilder
var mnode: MethodNode1

Attributes

Inherited from:
PlainSkelBuilder

Attributes

Inherited from:
PlainSkelBuilder

Attributes

Inherited from:
PlainSkelBuilder

Attributes

Inherited from:
PlainSkelBuilder

Attributes

Inherited from:
PlainSkelBuilder

Attributes

Inherited from:
PlainSkelBuilder

Attributes

Inherited from:
PlainSkelBuilder