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
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new PlainBodyBuilder(cunit: Global.CompilationUnit)

Type Members

  1. 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. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. val MIN_SWITCH_DENSITY: Double
    Definition Classes
    BCClassGen
  5. final val MaximumJvmParameters: Int(254)
    Definition Classes
    PlainSkelBuilder
  6. def adapt(from: BTypesFromSymbols.BType, to: BTypesFromSymbols.BType): Unit
  7. def addClassFields(): Unit
    Definition Classes
    PlainSkelBuilder
  8. def addForwarders(isRemoteClass: Boolean, jclass: ClassVisitor, jclassName: String, moduleClass: Global.Symbol): Unit
    Definition Classes
    BCForwardersGen
  9. def addRemoteExceptionAnnot(isRemoteClass: Boolean, isJMethodPublic: Boolean, meth: Global.Symbol): Unit
    Definition Classes
    BCForwardersGen
  10. def addSerialVUID(id: Long, jclass: ClassVisitor): Unit
    Definition Classes
    BCClassGen
  11. val androidFieldName: Global.TermName
    Definition Classes
    JAndroidBuilder
  12. final def arrEncode(sb: Global.ScalaSigBytes): Array[String]
    Definition Classes
    BCAnnotGen
  13. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  14. var claszSymbol: Global.Symbol
    Definition Classes
    PlainSkelBuilder
  15. var cleanups: List[Label]
    Definition Classes
    PlainSkelBuilder
  16. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  17. var cnode: ClassNode
    Definition Classes
    PlainSkelBuilder
  18. def createJAttribute(name: String, b: Array[Byte], offset: Int, len: Int): Attribute
    Definition Classes
    BCPickles
  19. def currProgramPoint(): Label
    Definition Classes
    PlainSkelBuilder
  20. def debugLevel: Int
    Definition Classes
    BCInnerClassGen
  21. def descriptorForErasedType(tp: Global.Type): String
    Definition Classes
    BCAnnotGen
  22. var earlyReturnVar: Global.Symbol
    Definition Classes
    PlainSkelBuilder
  23. def emit(opc: Int): Unit
  24. def emitAnnotations(fw: FieldVisitor, annotations: List[Global.AnnotationInfo]): Unit
    Definition Classes
    BCAnnotGen
  25. def emitAnnotations(mw: MethodVisitor, annotations: List[Global.AnnotationInfo]): Unit
    Definition Classes
    BCAnnotGen
  26. def emitAnnotations(cw: ClassVisitor, annotations: List[Global.AnnotationInfo]): Unit
    Definition Classes
    BCAnnotGen
  27. def emitArgument(av: AnnotationVisitor, name: String, arg: Global.ClassfileAnnotArg): Unit
    Definition Classes
    BCAnnotGen
  28. def emitAssocs(av: AnnotationVisitor, assocs: List[(Global.Name, Global.ClassfileAnnotArg)]): Unit
    Definition Classes
    BCAnnotGen
  29. final val emitLines: Boolean
    Definition Classes
    BCInnerClassGen
  30. def emitLocalVarScope(sym: Global.Symbol, start: Label, end: Label, force: Boolean = false): Unit
    Definition Classes
    PlainSkelBuilder
  31. def emitParamAnnotations(jmethod: MethodVisitor, pannotss: List[List[Global.AnnotationInfo]]): Unit
    Definition Classes
    BCAnnotGen
  32. def emitParamNames(jmethod: MethodVisitor, params: List[Global.Symbol]): Unit
    Definition Classes
    BCAnnotGen
  33. final val emitSource: Boolean
    Definition Classes
    BCInnerClassGen
  34. final val emitVars: Boolean
    Definition Classes
    BCInnerClassGen
  35. def emitZeroOf(tk: BTypesFromSymbols.BType): Unit
  36. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  37. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  38. 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
  39. def fieldLoad(field: Global.Symbol, hostClass: Global.Symbol): Unit
  40. def fieldStore(field: Global.Symbol, hostClass: Global.Symbol): Unit
  41. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  42. def gen(tree: Global.Tree): Unit
    Definition Classes
    PlainSkelBuilder
  43. def genArithmeticOp(tree: Global.Tree, code: Int): BTypesFromSymbols.BType
  44. def genArrayOp(tree: Global.Tree, code: Int, expectedType: BTypesFromSymbols.BType): BTypesFromSymbols.BType
  45. def genBlock(tree: Global.Block, expectedType: BTypesFromSymbols.BType): Unit
  46. 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.

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

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

  75. def initJMethod(flags: Int, params: List[Global.Symbol]): Unit
    Definition Classes
    PlainSkelBuilder
  76. 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
  77. def isAndroidParcelableClass(sym: Global.Symbol): Boolean
    Definition Classes
    JAndroidBuilder
  78. def isAtProgramPoint(lbl: Label): Boolean
    Definition Classes
    PlainSkelBuilder
  79. var isCZParcelable: Boolean
    Definition Classes
    PlainSkelBuilder
  80. var isCZRemote: Boolean
    Definition Classes
    PlainSkelBuilder
  81. var isCZStaticModule: Boolean
    Definition Classes
    PlainSkelBuilder
  82. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  83. def isLiteral(t: Global.Tree): Boolean
  84. var isMethSymStaticCtor: Boolean
    Definition Classes
    PlainSkelBuilder
  85. var isModuleInitialized: Boolean
    Definition Classes
    PlainSkelBuilder
  86. def isNonNullExpr(t: Global.Tree): Boolean
  87. def isNull(t: Global.Tree): Boolean

    Some useful equality helpers.

  88. def isPrimitive(fun: Global.Symbol): Boolean
  89. var jMethodName: String
    Definition Classes
    PlainSkelBuilder
  90. var jumpDest: Map[Global.Symbol, Label]
    Definition Classes
    PlainSkelBuilder
  91. var labelDef: Map[Global.Symbol, Global.LabelDef]
    Definition Classes
    PlainSkelBuilder
  92. var labelDefsAtOrUnder: Map[Global.Tree, List[Global.LabelDef]]
    Definition Classes
    PlainSkelBuilder
  93. var lastEmittedLineNr: Int
    Definition Classes
    PlainSkelBuilder
  94. def lastInsn: AbstractInsnNode
    Definition Classes
    PlainSkelBuilder
  95. def legacyAddCreatorCode(clinit: MethodVisitor, cnode: ClassNode, thisName: String): Unit
    Definition Classes
    JAndroidBuilder
  96. def liftStringConcat(tree: Global.Tree): List[Global.Tree]
  97. def lineNumber(tree: Global.Tree): Unit
    Definition Classes
    PlainSkelBuilder
  98. def markProgramPoint(lbl: Label): Unit
    Definition Classes
    PlainSkelBuilder
  99. var methSymbol: Global.Symbol
    Definition Classes
    PlainSkelBuilder
  100. var mnode: MethodNode
    Definition Classes
    PlainSkelBuilder
  101. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  102. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  103. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  104. def paramTKs(app: Global.Apply): List[BTypesFromSymbols.BType]
    Definition Classes
    PlainSkelBuilder
  105. def pickleMarkerForeign: Attribute
    Definition Classes
    BCPickles
  106. def pickleMarkerLocal: Attribute
    Definition Classes
    BCPickles
  107. def programPoint(labelSym: Global.Symbol): Label
    Definition Classes
    PlainSkelBuilder
  108. def registerCleanup(finCleanup: Label): Unit
    Definition Classes
    PlainSkelBuilder
  109. def resetMethodBookkeeping(dd: Global.DefDef): Unit
    Definition Classes
    PlainSkelBuilder
  110. var returnType: BTypesFromSymbols.BType
    Definition Classes
    PlainSkelBuilder
  111. var shouldEmitCleanup: Boolean
    Definition Classes
    PlainSkelBuilder
  112. def symInfoTK(sym: Global.Symbol): BTypesFromSymbols.BType
    Definition Classes
    PlainSkelBuilder
  113. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  114. def testOpForPrimitive(primitiveCode: Int): TestOp
  115. var thisBType: BTypesFromSymbols.ClassBType
    Definition Classes
    PlainSkelBuilder
  116. var thisBTypeDescriptor: String
    Definition Classes
    PlainSkelBuilder
  117. def toString(): String
    Definition Classes
    AnyRef → Any
  118. def tpeTK(tree: Global.Tree): BTypesFromSymbols.BType
    Definition Classes
    PlainSkelBuilder
  119. def ubytesToCharArray(bytes: Array[Byte]): Array[Char]
    Definition Classes
    BCAnnotGen
  120. def unregisterCleanup(finCleanup: Label): Unit
    Definition Classes
    PlainSkelBuilder
  121. var varsInScope: List[(Global.Symbol, Label)]
    Definition Classes
    PlainSkelBuilder
  122. val versionPickle: PickleBuffer
    Definition Classes
    BCPickles
  123. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  124. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  125. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  126. object bc extends BCodeSkelBuilder.JCodeMethodN
    Definition Classes
    PlainSkelBuilder
  127. object locals
    Definition Classes
    PlainSkelBuilder

Inherited from AnyRef

Inherited from Any

Ungrouped