scala.tools.nsc.backend.jvm.BCodeBodyBuilder

# PlainBodyBuilder

#### abstract class PlainBodyBuilder extends PlainSkelBuilder

Linear Supertypes
BCodeBodyBuilder.PlainSkelBuilder, BCodeBodyBuilder.BCPickles, BCodeBodyBuilder.BCForwardersGen, BCodeBodyBuilder.BCJGenSigGen, BCodeBodyBuilder.JAndroidBuilder, BCodeBodyBuilder.BCAnnotGen, BCodeBodyBuilder.BCClassGen, BCodeBodyBuilder.BCInnerClassGen, AnyRef, Any
Known Subclasses
PlainClassBuilder, SyncAndTryBuilder
Type Hierarchy Learn more about scaladoc diagrams
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

Learn more about member selection
Visibility

1. Public
2. All

### Instance Constructors

1. #### new PlainBodyBuilder(cunit: Global.CompilationUnit)

### Type Members

1. #### case class EnclMethodEntry(owner: String, name: String, methodType: BCodeHelpers.BType) extends Product with Serializable

   Definition Classes
     BCClassGen

2. #### case class Local(tk: BCodeSkelBuilder.BType, name: String, idx: Int, isSynth: Boolean) extends Product with Serializable

   Definition Classes
     PlainSkelBuilder

### Abstract Value Members

1. #### abstract def genLoadTry(tree: Global.Try): BCodeBodyBuilder.BType

2. #### abstract def genSynchronized(tree: Global.Apply, expectedType: BCodeBodyBuilder.BType): BCodeBodyBuilder.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 information
     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 information
     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 ExcludedForwarderFlags: Long

   Definition Classes
     BCForwardersGen

7. #### val MIN_SWITCH_DENSITY: Double

   Definition Classes
     BCClassGen

8. #### final val MaximumJvmParameters: Int(254)

   Definition Classes
     PlainSkelBuilder

9. #### def adapt(from: BCodeBodyBuilder.BType, to: BCodeBodyBuilder.BType): Unit

10. #### def addClassFields(): Unit

    Definition Classes
      PlainSkelBuilder

11. #### def addForwarders(isRemoteClass: Boolean, jclass: ClassVisitor, jclassName: String, moduleClass: Global.Symbol): Unit

    Definition Classes
      BCForwardersGen

12. #### def addRemoteExceptionAnnot(isRemoteClass: Boolean, isJMethodPublic: Boolean, meth: Global.Symbol): Unit

    Definition Classes
      BCForwardersGen

13. #### def addSerialVUID(id: Long, jclass: ClassVisitor): Unit

    Definition Classes
      BCClassGen

14. #### val androidFieldName: Global.TermName

    Definition Classes
      JAndroidBuilder

15. #### final def asInstanceOf[T0]: T0

    Definition Classes
      Any

16. #### final def asmClassType(sym: Global.Symbol): BCodeBodyBuilder.BType

    Definition Classes
      BCInnerClassGen

17. #### def asmMethodType(msym: Global.Symbol): BCodeBodyBuilder.BType

    Definition Classes
      BCInnerClassGen

18. #### object bc extends BCodeSkelBuilder.JCodeMethodN

    Definition Classes
      PlainSkelBuilder

19. #### var claszSymbol: Global.Symbol

    Definition Classes
      PlainSkelBuilder

20. #### var cleanups: List[Label]

    Definition Classes
      PlainSkelBuilder

21. #### def clone(): AnyRef

    Attributes
      protected[java.lang]
    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

22. #### var cnode: ClassNode

    Definition Classes
      PlainSkelBuilder

23. #### def createJAttribute(name: String, b: Array[Byte], offset: Int, len: Int): Attribute

    Definition Classes
      BCPickles

24. #### def currProgramPoint(): Label

    Definition Classes
      PlainSkelBuilder

25. #### def debugLevel: Int

    Definition Classes
      BCInnerClassGen

26. #### final def descriptor(sym: Global.Symbol): String

    Definition Classes
      BCInnerClassGen

27. #### final def descriptor(t: Global.Type): String

    Definition Classes
      BCInnerClassGen

28. #### var earlyReturnVar: Global.Symbol

    Definition Classes
      PlainSkelBuilder

29. #### def emit(opc: Int): Unit

30. #### def emitAnnotations(fw: FieldVisitor, annotations: List[Global.AnnotationInfo]): Unit

    Definition Classes
      BCAnnotGen

31. #### def emitAnnotations(mw: MethodVisitor, annotations: List[Global.AnnotationInfo]): Unit

    Definition Classes
      BCAnnotGen

32. #### def emitAnnotations(cw: ClassVisitor, annotations: List[Global.AnnotationInfo]): Unit

    Definition Classes
      BCAnnotGen

33. #### def emitArgument(av: AnnotationVisitor, name: String, arg: Global.ClassfileAnnotArg): Unit

    Definition Classes
      BCAnnotGen

34. #### def emitAssocs(av: AnnotationVisitor, assocs: List[(Global.Name, Global.ClassfileAnnotArg)]): Unit

    Definition Classes
      BCAnnotGen

35. #### val emitLines: Boolean

    Definition Classes
      BCInnerClassGen

36. #### def emitLocalVarScope(sym: Global.Symbol, start: Label, end: Label, force: Boolean = false): Unit

    Definition Classes
      PlainSkelBuilder

37. #### def emitParamAnnotations(jmethod: MethodVisitor, pannotss: List[List[Global.AnnotationInfo]]): Unit

    Definition Classes
      BCAnnotGen

38. #### val emitSource: Boolean

    Definition Classes
      BCInnerClassGen

39. #### val emitVars: Boolean

    Definition Classes
      BCInnerClassGen

40. #### def emitZeroOf(tk: BCodeBodyBuilder.BType): Unit

41. #### def ensuring(cond: (PlainBodyBuilder) ⇒ Boolean, msg: ⇒ Any): PlainBodyBuilder

    Implicit information
      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: (PlainBodyBuilder) ⇒ Boolean): PlainBodyBuilder

    Implicit information
      This member is added by an implicit conversion from PlainBodyBuilder to Ensuring[PlainBodyBuilder] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring

43. #### def ensuring(cond: Boolean, msg: ⇒ Any): PlainBodyBuilder

    Implicit information
      This member is added by an implicit conversion from PlainBodyBuilder to Ensuring[PlainBodyBuilder] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring

44. #### def ensuring(cond: Boolean): PlainBodyBuilder

    Implicit information
      This member is added by an implicit conversion from PlainBodyBuilder to Ensuring[PlainBodyBuilder] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring

45. #### final def eq(arg0: AnyRef): Boolean

    Definition Classes
      AnyRef

46. #### def equals(arg0: Any): Boolean

    Definition Classes
      AnyRef → Any

47. #### def fieldLoad(field: Global.Symbol, hostClass: Global.Symbol = null): Unit

48. #### def fieldStore(field: Global.Symbol, hostClass: Global.Symbol = null): Unit

49. #### def finalize(): Unit

    Attributes
      protected[java.lang]
    Definition Classes
      AnyRef
    Annotations
      @throws( classOf[java.lang.Throwable] )

50. #### def findHostClass(selector: Global.Type, sym: Global.Symbol): Global.Symbol

51. #### def formatted(fmtstr: String): String

    Implicit information
      This member is added by an implicit conversion from PlainBodyBuilder to StringFormat[PlainBodyBuilder] performed by method StringFormat in scala.Predef.
    Definition Classes
      StringFormat
    Annotations
      @inline()

52. #### def gen(tree: Global.Tree): Unit

    Definition Classes
      PlainSkelBuilder

53. #### def genArithmeticOp(tree: Global.Tree, code: Int): BCodeBodyBuilder.BType

54. #### def genArrayOp(tree: Global.Tree, code: Int, expectedType: BCodeBodyBuilder.BType): BCodeBodyBuilder.BType

55. #### def genBlock(tree: Global.Block, expectedType: BCodeBodyBuilder.BType): Unit

56. #### def genCallMethod(method: Global.Symbol, style: InvokeStyle, hostClass0: Global.Symbol = null, pos: Global.Position = NoPosition): Unit

57. #### def genCast(to: BCodeBodyBuilder.BType, cast: Boolean): Unit

58. #### def genCoercion(code: Int): Unit

59. #### def genConstant(const: Global.Constant): Unit

60. #### def genConversion(from: BCodeBodyBuilder.BType, to: BCodeBodyBuilder.BType, cast: Boolean): Unit

61. #### def genDefDef(dd: Global.DefDef): Unit

    Definition Classes
      PlainSkelBuilder

62. #### def genEqEqPrimitive(l: Global.Tree, r: Global.Tree, success: Label, failure: Label): Unit

63. #### def genLoad(tree: Global.Tree, expectedType: BCodeBodyBuilder.BType): Unit

    Definition Classes
      PlainBodyBuilder → PlainSkelBuilder

64. #### def genLoad(tree: Global.Tree): Unit

65. #### def genLoadArguments(args: List[Global.Tree], btpes: List[BCodeBodyBuilder.BType]): Unit

66. #### def genLoadIf(tree: Global.If, expectedType: BCodeBodyBuilder.BType): BCodeBodyBuilder.BType

67. #### def genLoadLabelArguments(args: List[Global.Tree], lblDef: Global.LabelDef, gotoPos: Global.Position): Unit

68. #### def genLoadModule(module: Global.Symbol): Unit

69. #### def genLoadModule(tree: Global.Tree): BCodeBodyBuilder.BType

70. #### def genLoadQualifier(tree: Global.Tree): Unit

71. #### def genPlainClass(cd: Global.ClassDef): Unit

    Definition Classes
      PlainSkelBuilder

72. #### def genPrimitiveOp(tree: Global.Apply, expectedType: BCodeBodyBuilder.BType): BCodeBodyBuilder.BType

73. #### def genScalaHash(tree: Global.Tree): BCodeBodyBuilder.BType

74. #### def genStat(tree: Global.Tree): Unit

75. #### def genStringConcat(tree: Global.Tree): BCodeBodyBuilder.BType

76. #### def genThrow(expr: Global.Tree): BCodeBodyBuilder.BType

77. #### def getAnnotPickle(jclassName: String, sym: Global.Symbol): Option[Global.AnnotationInfo]

    Definition Classes
      BCPickles

78. #### final def getClass(): Class[_]

    Definition Classes
      AnyRef → Any

79. #### def getCurrentCUnit(): Global.CompilationUnit

    Definition Classes
      PlainSkelBuilder → BCJGenSigGen

80. #### def getEnclosingMethodAttribute(clazz: Global.Symbol): EnclMethodEntry

    Definition Classes
      BCClassGen

81. #### def getExceptions(excs: List[Global.AnnotationInfo]): List[String]

    Definition Classes
      BCForwardersGen

82. #### def getGenericSignature(sym: Global.Symbol, owner: Global.Symbol): String

    Definition Classes
      BCJGenSigGen

83. #### def hashCode(): Int

    Definition Classes
      AnyRef → Any

84. #### def ifOneIsNull(l: Global.Tree, r: Global.Tree): Global.Tree

85. #### def initJMethod(flags: Int, paramAnnotations: List[List[Global.AnnotationInfo]]): Unit

    Definition Classes
      PlainSkelBuilder

86. #### val innerClassBufferASM: Set[BCodeBodyBuilder.BType]

    Definition Classes
      BCInnerClassGen

87. #### var insideCleanupBlock: Boolean

    Definition Classes
      PlainSkelBuilder

88. #### final def internalName(sym: Global.Symbol): String

    Definition Classes
      BCInnerClassGen

89. #### def isAndroidParcelableClass(sym: Global.Symbol): Boolean

    Definition Classes
      JAndroidBuilder

90. #### def isAtProgramPoint(lbl: Label): Boolean

    Definition Classes
      PlainSkelBuilder

91. #### var isCZParcelable: Boolean

    Definition Classes
      PlainSkelBuilder

92. #### var isCZRemote: Boolean

    Definition Classes
      PlainSkelBuilder

93. #### var isCZStaticModule: Boolean

    Definition Classes
      PlainSkelBuilder

94. #### final def isInstanceOf[T0]: Boolean

    Definition Classes
      Any

95. #### var isMethSymStaticCtor: Boolean

    Definition Classes
      PlainSkelBuilder

96. #### var isModuleInitialized: Boolean

    Definition Classes
      PlainSkelBuilder

97. #### def isNull(t: Global.Tree): Boolean

98. #### def isPrimitive(fun: Global.Symbol): Boolean

99. #### var jMethodName: String

    Definition Classes
      PlainSkelBuilder

100. #### var jumpDest: Map[Global.Symbol, Label]

     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. #### object locals

     Definition Classes
       PlainSkelBuilder

109. #### def log(msg: ⇒ AnyRef): Unit

     Definition Classes
       PlainSkelBuilder

110. #### def markProgramPoint(lbl: Label): Unit

     Definition Classes
       PlainSkelBuilder

111. #### var methSymbol: Global.Symbol

     Definition Classes
       PlainSkelBuilder

112. #### var mnode: MethodNode

     Definition Classes
       PlainSkelBuilder

113. #### final def ne(arg0: AnyRef): Boolean

     Definition Classes
       AnyRef

114. #### final def notify(): Unit

     Definition Classes
       AnyRef

115. #### final def notifyAll(): Unit

     Definition Classes
       AnyRef

116. #### def paramTKs(app: Global.Apply): List[BCodeBodyBuilder.BType]

     Definition Classes
       PlainSkelBuilder

117. #### def pickleMarkerForeign: Attribute

     Definition Classes
       BCPickles

118. #### def pickleMarkerLocal: Attribute

     Definition Classes
       BCPickles

119. #### def programPoint(labelSym: Global.Symbol): Label

     Definition Classes
       PlainSkelBuilder

120. #### def registerCleanup(finCleanup: Label): Unit

     Definition Classes
       PlainSkelBuilder

121. #### def resetMethodBookkeeping(dd: Global.DefDef): Unit

     Definition Classes
       PlainSkelBuilder

122. #### var returnType: BCodeBodyBuilder.BType

     Definition Classes
       PlainSkelBuilder

123. #### def serialVUID(csym: Global.Symbol): Option[Long]

     Definition Classes
       BCClassGen

124. #### var shouldEmitCleanup: Boolean

     Definition Classes
       PlainSkelBuilder

125. #### def symInfoTK(sym: Global.Symbol): BCodeBodyBuilder.BType

     Definition Classes
       PlainSkelBuilder

126. #### final def synchronized[T0](arg0: ⇒ T0): T0

     Definition Classes
       AnyRef

127. #### val testOpForPrimitive: Array[Global.icodes.TestOp]

128. #### var thisName: String

     Definition Classes
       PlainSkelBuilder

129. #### def toString(): String

     Definition Classes
       AnyRef → Any

130. #### final def toTypeKind(t: Global.Type): BCodeBodyBuilder.BType

     Definition Classes
       BCInnerClassGen

131. #### def tpeTK(tree: Global.Tree): BCodeBodyBuilder.BType

     Definition Classes
       PlainSkelBuilder

132. #### final def trackMemberClasses(csym: Global.Symbol, lateClosuresBTs: List[BCodeBodyBuilder.BType]): List[BCodeBodyBuilder.BType]

     Definition Classes
       BCInnerClassGen

133. #### def unregisterCleanup(finCleanup: Label): Unit

     Definition Classes
       PlainSkelBuilder

134. #### var varsInScope: List[(Global.Symbol, Label)]

     Definition Classes
       PlainSkelBuilder

135. #### val versionPickle: PickleBuffer

     Definition Classes
       BCPickles

136. #### final def wait(): Unit

     Definition Classes
       AnyRef
     Annotations
       @throws( ... )

137. #### final def wait(arg0: Long, arg1: Int): Unit

     Definition Classes
       AnyRef
     Annotations
       @throws( ... )

138. #### final def wait(arg0: Long): Unit

     Definition Classes
       AnyRef
     Annotations
       @throws( ... )

139. #### def →[B](y: B): (PlainBodyBuilder, B)

     Implicit information
       This member is added by an implicit conversion from PlainBodyBuilder to ArrowAssoc[PlainBodyBuilder] performed by method ArrowAssoc in scala.Predef.
     Definition Classes
       ArrowAssoc

### Inherited from BCodeBodyBuilder.PlainSkelBuilder

### Inherited from BCodeBodyBuilder.BCPickles

### Inherited from BCodeBodyBuilder.BCForwardersGen

### Inherited from BCodeBodyBuilder.BCJGenSigGen

### Inherited from BCodeBodyBuilder.JAndroidBuilder

### Inherited from BCodeBodyBuilder.BCAnnotGen

### Inherited from BCodeBodyBuilder.BCClassGen

### Inherited from BCodeBodyBuilder.BCInnerClassGen

### 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