Packages

abstract class PlainBodyBuilder extends PlainSkelBuilder

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. PlainBodyBuilder
  2. PlainSkelBuilder
  3. BCPickles
  4. BCForwardersGen
  5. BCJGenSigGen
  6. JAndroidBuilder
  7. BCAnnotGen
  8. BCClassGen
  9. BCInnerClassGen
  10. AnyRef
  11. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new PlainBodyBuilder(cunit: Global.CompilationUnit)

Type Members

  1. sealed abstract class JumpDestination extends AnyRef
    Definition Classes
    PlainSkelBuilder
  2. case class Local(tk: BTypesFromSymbols.BType, name: String, idx: Int, isSynth: Boolean) extends Product with Serializable
    Definition Classes
    PlainSkelBuilder

Abstract Value Members

  1. abstract def genLoadTry(tree: Global.Try): BTypesFromSymbols.BType
  2. abstract def genSynchronized(tree: Global.Apply, expectedType: BTypesFromSymbols.BType): BTypesFromSymbols.BType

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. def +(other: String): String
    Implicit
    This member is added by an implicit conversion from PlainBodyBuilder to any2stringadd[PlainBodyBuilder] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def ->[B](y: B): (PlainBodyBuilder, B)
    Implicit
    This member is added by an implicit conversion from PlainBodyBuilder to ArrowAssoc[PlainBodyBuilder] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  5. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  6. val MIN_SWITCH_DENSITY: Double
    Definition Classes
    BCClassGen
  7. final val MaximumJvmParameters: Int(254)
    Definition Classes
    PlainSkelBuilder
  8. def adapt(from: BTypesFromSymbols.BType, to: BTypesFromSymbols.BType): Unit
  9. def addClassFields(): Unit
    Definition Classes
    PlainSkelBuilder
  10. def addForwarders(isRemoteClass: Boolean, jclass: ClassVisitor, jclassName: String, moduleClass: Global.Symbol): Unit
    Definition Classes
    BCForwardersGen
  11. def addRemoteExceptionAnnot(isRemoteClass: Boolean, isJMethodPublic: Boolean, meth: Global.Symbol): Unit
    Definition Classes
    BCForwardersGen
  12. def addSerialVUID(id: Long, jclass: ClassVisitor): Unit
    Definition Classes
    BCClassGen
  13. val androidFieldName: Global.TermName
    Definition Classes
    JAndroidBuilder
  14. final def arrEncode(sb: Global.ScalaSigBytes): Array[String]
    Definition Classes
    BCAnnotGen
  15. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  16. var claszSymbol: Global.Symbol
    Definition Classes
    PlainSkelBuilder
  17. var cleanups: List[Label]
    Definition Classes
    PlainSkelBuilder
  18. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  19. var cnode: ClassNode
    Definition Classes
    PlainSkelBuilder
  20. def createJAttribute(name: String, b: Array[Byte], offset: Int, len: Int): Attribute
    Definition Classes
    BCPickles
  21. def currProgramPoint(): Label
    Definition Classes
    PlainSkelBuilder
  22. def debugLevel: Int
    Definition Classes
    BCInnerClassGen
  23. def descriptorForErasedType(tp: Global.Type): String
    Definition Classes
    BCAnnotGen
  24. var earlyReturnVar: Global.Symbol
    Definition Classes
    PlainSkelBuilder
  25. def emit(opc: Int): Unit
  26. def emitAnnotations(fw: FieldVisitor, annotations: List[Global.AnnotationInfo]): Unit
    Definition Classes
    BCAnnotGen
  27. def emitAnnotations(mw: MethodVisitor, annotations: List[Global.AnnotationInfo]): Unit
    Definition Classes
    BCAnnotGen
  28. def emitAnnotations(cw: ClassVisitor, annotations: List[Global.AnnotationInfo]): Unit
    Definition Classes
    BCAnnotGen
  29. def emitArgument(av: AnnotationVisitor, name: String, arg: Global.ClassfileAnnotArg): Unit
    Definition Classes
    BCAnnotGen
  30. def emitAssocs(av: AnnotationVisitor, assocs: List[(Global.Name, Global.ClassfileAnnotArg)]): Unit
    Definition Classes
    BCAnnotGen
  31. final val emitLines: Boolean
    Definition Classes
    BCInnerClassGen
  32. def emitLocalVarScope(sym: Global.Symbol, start: Label, end: Label, force: Boolean = false): Unit
    Definition Classes
    PlainSkelBuilder
  33. def emitLocalVarScopes(): Unit

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

  34. def emitParamAnnotations(jmethod: MethodVisitor, pannotss: List[List[Global.AnnotationInfo]]): Unit
    Definition Classes
    BCAnnotGen
  35. def emitParamNames(jmethod: MethodVisitor, params: List[Global.Symbol]): Unit
    Definition Classes
    BCAnnotGen
  36. final val emitSource: Boolean
    Definition Classes
    BCInnerClassGen
  37. final val emitVars: Boolean
    Definition Classes
    BCInnerClassGen
  38. def emitZeroOf(tk: BTypesFromSymbols.BType): Unit
  39. def ensuring(cond: (PlainBodyBuilder) ⇒ Boolean, msg: ⇒ Any): PlainBodyBuilder
    Implicit
    This member is added by an implicit conversion from PlainBodyBuilder to Ensuring[PlainBodyBuilder] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  40. def ensuring(cond: (PlainBodyBuilder) ⇒ Boolean): PlainBodyBuilder
    Implicit
    This member is added by an implicit conversion from PlainBodyBuilder to Ensuring[PlainBodyBuilder] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  41. def ensuring(cond: Boolean, msg: ⇒ Any): PlainBodyBuilder
    Implicit
    This member is added by an implicit conversion from PlainBodyBuilder to Ensuring[PlainBodyBuilder] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  42. def ensuring(cond: Boolean): PlainBodyBuilder
    Implicit
    This member is added by an implicit conversion from PlainBodyBuilder to Ensuring[PlainBodyBuilder] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  43. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  44. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  45. def erasedType(tp: Global.Type): Global.Type

    Annotations are not processed by the compilation pipeline like ordinary trees.

    Annotations are not processed by the compilation pipeline like ordinary trees. Instead, the typer extracts them into AnnotationInfo objects which are attached to the corresponding symbol (sym.annotations) or type (as an AnnotatedType, eliminated by erasure).

    For Scala annotations this is OK: they are stored in the pickle and ignored by the backend. Java annotations on the other hand are additionally emitted to the classfile in Java's format.

    This means that Type instances within an AnnotationInfo reach the backend non-erased. Examples:

    • @(javax.annotation.Resource @annotation.meta.getter) val x = 0 Here, annotationInfo.atp is an AnnotatedType.
    • @SomeAnnotation[T] val x = 0 In principle, the annotationInfo.atp is a non-erased type ref. However, this cannot actually happen because Java annotations cannot be generic.
    • @javax.annotation.Resource(type = classOf[List[_]]) val x = 0 The annotationInfo.assocs contains a LiteralAnnotArg(Constant(tp)) where tp is the non-erased existential type.
    Definition Classes
    BCAnnotGen
  46. def fieldLoad(field: Global.Symbol, hostClass: Global.Symbol): Unit
  47. def fieldStore(field: Global.Symbol, hostClass: Global.Symbol): Unit
  48. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  49. def gen(tree: Global.Tree): Unit
    Definition Classes
    PlainSkelBuilder
  50. def genAdaptAndSendToDest(generatedType: BTypesFromSymbols.BType, expectedType: BTypesFromSymbols.BType, dest: BCodeBodyBuilder.LoadDestination): Unit
  51. def genArithmeticOp(tree: Global.Tree, code: Int): BTypesFromSymbols.BType
  52. def genArrayOp(tree: Global.Tree, code: Int, expectedType: BTypesFromSymbols.BType): BTypesFromSymbols.BType
  53. def genBlockTo(tree: Global.Block, expectedType: BTypesFromSymbols.BType, dest: BCodeBodyBuilder.LoadDestination): Unit
  54. def genCallMethod(method: Global.Symbol, style: InvokeStyle, pos: Global.Position, specificReceiver: Global.Symbol = null): BTypesFromSymbols.BType

    Generate a method invocation.

    Generate a method invocation. If specificReceiver != null, it is used as receiver in the invocation instruction, otherwise method.owner. A specific receiver class is needed to prevent an IllegalAccessError, (aladdin bug 455). Same for super calls, scala/bug#7936.

  55. def genCast(to: BTypesFromSymbols.RefBType, cast: Boolean): Unit
  56. def genCoercion(code: Int): Unit
  57. def genConstant(const: Global.Constant): Unit
  58. def genConversion(from: BTypesFromSymbols.BType, to: BTypesFromSymbols.BType, cast: Boolean): Unit
  59. def genDefDef(dd: Global.DefDef): Unit
    Definition Classes
    PlainSkelBuilder
  60. def genEqEqPrimitive(l: Global.Tree, r: Global.Tree, success: Label, failure: Label, targetIfNoJump: Label, pos: Global.Position): Unit
  61. def genInvokeDynamicLambda(canLMF: Global.delambdafy.LambdaMetaFactoryCapable): AnyVal
  62. def genLoad(tree: Global.Tree, expectedType: BTypesFromSymbols.BType): Unit
  63. def genLoad(tree: Global.Tree): Unit
  64. def genLoadArguments(args: List[Global.Tree], btpes: List[BTypesFromSymbols.BType]): Unit
  65. def genLoadIfTo(tree: Global.If, expectedType: BTypesFromSymbols.BType, dest: BCodeBodyBuilder.LoadDestination): BTypesFromSymbols.BType
  66. def genLoadLabelArguments(args: List[Global.Tree], lblDef: Global.LabelDef, gotoPos: Global.Position): Unit
  67. def genLoadModule(module: Global.Symbol): Unit
  68. def genLoadModule(tree: Global.Tree): BTypesFromSymbols.BType
  69. def genLoadQualifier(tree: Global.Tree): Unit
  70. def genLoadTo(tree: Global.Tree, expectedType: BTypesFromSymbols.BType, dest: BCodeBodyBuilder.LoadDestination): Unit
    Definition Classes
    PlainBodyBuilderPlainSkelBuilder
  71. def genPlainClass(cd: Global.ClassDef): Unit
    Definition Classes
    PlainSkelBuilder
  72. def genPrimitiveOp(tree: Global.Apply, expectedType: BTypesFromSymbols.BType): BTypesFromSymbols.BType
  73. def genScalaHash(tree: Global.Tree, applyPos: Global.Position): BTypesFromSymbols.BType
  74. def genStat(tree: Global.Tree): Unit
  75. def genStringConcat(tree: Global.Tree): BTypesFromSymbols.BType
  76. def genThrow(expr: Global.Tree): BTypesFromSymbols.BType
  77. def getAnnotPickle(jclassName: String, sym: Global.Symbol): Option[Global.AnnotationInfo]
    Definition Classes
    BCPickles
  78. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  79. def getExceptions(excs: List[Global.AnnotationInfo]): List[String]
    Definition Classes
    BCForwardersGen
  80. def getGenericSignature(sym: Global.Symbol, owner: Global.Symbol, memberTpe: Global.Type): String
    Definition Classes
    BCJGenSigGen
  81. def getGenericSignature(sym: Global.Symbol, owner: Global.Symbol): String
    Definition Classes
    BCJGenSigGen
  82. def getJumpDestOrCreate(labelSym: Global.Symbol): JumpDestination
    Definition Classes
    PlainSkelBuilder
  83. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  84. def ifOneIsNull(l: Global.Tree, r: Global.Tree): Global.Tree

    If l or r is constant null, returns the other ; otherwise null

  85. def initJMethod(flags: Int, params: List[Global.Symbol]): Unit
    Definition Classes
    PlainSkelBuilder
  86. final def internalName(sym: Global.Symbol): String

    The class internal name for a given class symbol.

    The class internal name for a given class symbol.

    Definition Classes
    BCInnerClassGen
  87. def isAndroidParcelableClass(sym: Global.Symbol): Boolean
    Definition Classes
    JAndroidBuilder
  88. def isAtProgramPoint(lbl: Label): Boolean
    Definition Classes
    PlainSkelBuilder
  89. var isCZParcelable: Boolean
    Definition Classes
    PlainSkelBuilder
  90. var isCZRemote: Boolean
    Definition Classes
    PlainSkelBuilder
  91. var isCZStaticModule: Boolean
    Definition Classes
    PlainSkelBuilder
  92. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  93. def isLiteral(t: Global.Tree): Boolean
  94. var isMethSymStaticCtor: Boolean
    Definition Classes
    PlainSkelBuilder
  95. var isModuleInitialized: Boolean
    Definition Classes
    PlainSkelBuilder
  96. def isNonNullExpr(t: Global.Tree): Boolean
  97. def isNull(t: Global.Tree): Boolean

    Some useful equality helpers.

  98. def isPrimitive(fun: Global.Symbol): Boolean
  99. var jMethodName: String
    Definition Classes
    PlainSkelBuilder
  100. var jumpDest: Map[Global.Symbol, JumpDestination]
    Definition Classes
    PlainSkelBuilder
  101. var labelDef: Map[Global.Symbol, Global.LabelDef]
    Definition Classes
    PlainSkelBuilder
  102. var labelDefsAtOrUnder: Map[Global.Tree, List[Global.LabelDef]]
    Definition Classes
    PlainSkelBuilder
  103. var lastEmittedLineNr: Int
    Definition Classes
    PlainSkelBuilder
  104. def lastInsn: AbstractInsnNode
    Definition Classes
    PlainSkelBuilder
  105. def legacyAddCreatorCode(clinit: MethodVisitor, cnode: ClassNode, thisName: String): Unit
    Definition Classes
    JAndroidBuilder
  106. def liftStringConcat(tree: Global.Tree): List[Global.Tree]
  107. def lineNumber(tree: Global.Tree): Unit
    Definition Classes
    PlainSkelBuilder
  108. def markProgramPoint(lbl: Label): Unit
    Definition Classes
    PlainSkelBuilder
  109. var methSymbol: Global.Symbol
    Definition Classes
    PlainSkelBuilder
  110. var mnode: MethodNode
    Definition Classes
    PlainSkelBuilder
  111. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  112. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  113. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  114. def paramTKs(app: Global.Apply): List[BTypesFromSymbols.BType]
    Definition Classes
    PlainSkelBuilder
  115. def pickleMarkerForeign: Attribute
    Definition Classes
    BCPickles
  116. def pickleMarkerLocal: Attribute
    Definition Classes
    BCPickles
  117. def registerCleanup(finCleanup: Label): Unit
    Definition Classes
    PlainSkelBuilder
  118. def resetMethodBookkeeping(dd: Global.DefDef): Unit
    Definition Classes
    PlainSkelBuilder
  119. var returnType: BTypesFromSymbols.BType
    Definition Classes
    PlainSkelBuilder
  120. var shouldEmitCleanup: Boolean
    Definition Classes
    PlainSkelBuilder
  121. def symInfoTK(sym: Global.Symbol): BTypesFromSymbols.BType
    Definition Classes
    PlainSkelBuilder
  122. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  123. def testOpForPrimitive(primitiveCode: Int): TestOp
  124. var thisBType: BTypesFromSymbols.ClassBType
    Definition Classes
    PlainSkelBuilder
  125. var thisBTypeDescriptor: String
    Definition Classes
    PlainSkelBuilder
  126. def toString(): String
    Definition Classes
    AnyRef → Any
  127. def tpeTK(tree: Global.Tree): BTypesFromSymbols.BType
    Definition Classes
    PlainSkelBuilder
  128. def ubytesToCharArray(bytes: Array[Byte]): Array[Char]
    Definition Classes
    BCAnnotGen
  129. def unregisterCleanup(finCleanup: Label): Unit
    Definition Classes
    PlainSkelBuilder
  130. var varsInScope: List[(Global.Symbol, Label)]
    Definition Classes
    PlainSkelBuilder
  131. val versionPickle: PickleBuffer
    Definition Classes
    BCPickles
  132. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  133. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  134. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  135. def [B](y: B): (PlainBodyBuilder, B)
    Implicit
    This member is added by an implicit conversion from PlainBodyBuilder to ArrowAssoc[PlainBodyBuilder] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
  136. object JumpDestination
    Definition Classes
    PlainSkelBuilder
  137. object bc extends BCodeSkelBuilder.JCodeMethodN
    Definition Classes
    PlainSkelBuilder
  138. object locals
    Definition Classes
    PlainSkelBuilder

Deprecated Value Members

  1. def formatted(fmtstr: String): String
    Implicit
    This member is added by an implicit conversion from PlainBodyBuilder to StringFormat[PlainBodyBuilder] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @deprecated @inline()
    Deprecated

    (Since version 2.12.16) Use formatString.format(value) instead of value.formatted(formatString), or use the f"" string interpolator. In Java 15 and later, formatted resolves to the new method in String which has reversed parameters.

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd from PlainBodyBuilder to any2stringadd[PlainBodyBuilder]

Inherited by implicit conversion StringFormat from PlainBodyBuilder to StringFormat[PlainBodyBuilder]

Inherited by implicit conversion Ensuring from PlainBodyBuilder to Ensuring[PlainBodyBuilder]

Inherited by implicit conversion ArrowAssoc from PlainBodyBuilder to ArrowAssoc[PlainBodyBuilder]

Ungrouped