Packages

abstract class PlainSkelBuilder extends BCClassGen with BCAnnotGen with BCInnerClassGen with JAndroidBuilder with BCForwardersGen with BCPickles with BCJGenSigGen

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

Instance Constructors

  1. new PlainSkelBuilder(cunit: Global.CompilationUnit)

Type Members

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

Abstract Value Members

  1. abstract def genLoadTo(tree: Global.Tree, expectedType: BTypesFromSymbols.BType, dest: LoadDestination): Unit

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 PlainSkelBuilder toany2stringadd[PlainSkelBuilder] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def ->[B](y: B): (PlainSkelBuilder, B)
    Implicit
    This member is added by an implicit conversion from PlainSkelBuilder toArrowAssoc[PlainSkelBuilder] 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)
  8. def addClassFields(): Unit
  9. def addForwarders(jclass: ClassVisitor, jclassName: String, moduleClass: 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 asInstanceOf[T0]: T0
    Definition Classes
    Any
  13. def assignModuleInstanceField(meth: MethodVisitor): Unit
    Attributes
    protected
  14. var claszSymbol: Global.Symbol
  15. var cleanups: List[Label]
  16. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  17. var cnode: ClassNode
  18. def createJAttribute(name: String, b: Array[Byte], offset: Int, len: Int): Attribute
    Definition Classes
    BCPickles
  19. def currProgramPoint(): Label
  20. def debugLevel: Int
    Definition Classes
    BCInnerClassGen
  21. def descriptorForErasedType(tp: Global.Type): String
    Definition Classes
    BCAnnotGen
  22. var earlyReturnVar: Global.Symbol
  23. def emitAnnotations(fw: FieldVisitor, annotations: List[Global.AnnotationInfo]): Unit
    Definition Classes
    BCAnnotGen
  24. def emitAnnotations(mw: MethodVisitor, annotations: List[Global.AnnotationInfo]): Unit
    Definition Classes
    BCAnnotGen
  25. def emitAnnotations(cw: ClassVisitor, annotations: List[Global.AnnotationInfo]): Unit
    Definition Classes
    BCAnnotGen
  26. def emitArgument(av: AnnotationVisitor, name: String, arg: Global.ClassfileAnnotArg): Unit
    Definition Classes
    BCAnnotGen
  27. def emitAssocs(av: AnnotationVisitor, assocs: List[(Global.Name, Global.ClassfileAnnotArg)]): Unit
    Definition Classes
    BCAnnotGen
  28. final val emitLines: Boolean
    Definition Classes
    BCInnerClassGen
  29. def emitLocalVarScope(sym: Global.Symbol, start: Label, end: Label, force: Boolean = false): Unit
  30. def emitParamAnnotations(jmethod: MethodVisitor, pannotss: List[List[Global.AnnotationInfo]]): Unit
    Definition Classes
    BCAnnotGen
  31. def emitParamNames(jmethod: MethodVisitor, params: List[Global.Symbol]): Unit
    Definition Classes
    BCAnnotGen
  32. final val emitSource: Boolean
    Definition Classes
    BCInnerClassGen
  33. final val emitVars: Boolean
    Definition Classes
    BCInnerClassGen
  34. def ensuring(cond: (PlainSkelBuilder) => Boolean, msg: => Any): PlainSkelBuilder
    Implicit
    This member is added by an implicit conversion from PlainSkelBuilder toEnsuring[PlainSkelBuilder] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  35. def ensuring(cond: (PlainSkelBuilder) => Boolean): PlainSkelBuilder
    Implicit
    This member is added by an implicit conversion from PlainSkelBuilder toEnsuring[PlainSkelBuilder] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  36. def ensuring(cond: Boolean, msg: => Any): PlainSkelBuilder
    Implicit
    This member is added by an implicit conversion from PlainSkelBuilder toEnsuring[PlainSkelBuilder] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  37. def ensuring(cond: Boolean): PlainSkelBuilder
    Implicit
    This member is added by an implicit conversion from PlainSkelBuilder toEnsuring[PlainSkelBuilder] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  38. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  39. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  40. 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 scala.reflect.internal.AnnotationInfos.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
  41. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  42. def gen(tree: Global.Tree): Unit
  43. def genDefDef(dd: Global.DefDef): Unit
  44. def genPlainClass(cd0: Global.ClassDef): Unit
  45. def getAnnotPickle(jclassName: String, sym: Global.Symbol): Option[Global.AnnotationInfo]
    Definition Classes
    BCPickles
  46. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  47. def getExceptions(excs: List[Global.AnnotationInfo]): List[String]
    Definition Classes
    BCForwardersGen
  48. def getGenericSignature(sym: Global.Symbol, owner: Global.Symbol, memberTpe: Global.Type): String
    Definition Classes
    BCJGenSigGen
  49. def getGenericSignature(sym: Global.Symbol, owner: Global.Symbol): String
    Definition Classes
    BCJGenSigGen
  50. def getJumpDestOrCreate(labelSym: Global.Symbol): JumpDestination
  51. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  52. def initJMethod(flags: Int, params: List[Global.Symbol]): Unit
  53. 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
  54. def isAndroidParcelableClass(sym: Global.Symbol): Boolean
    Definition Classes
    JAndroidBuilder
  55. def isAtProgramPoint(lbl: Label): Boolean
  56. var isCZParcelable: Boolean
  57. var isCZStaticModule: Boolean
  58. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  59. var isMethSymStaticCtor: Boolean
  60. var isModuleInitialized: Boolean
  61. var jMethodName: String
  62. var jumpDest: Map[Global.Symbol, JumpDestination]
  63. var labelDef: Map[Global.Symbol, Global.LabelDef]
  64. var labelDefsAtOrUnder: Map[Global.Tree, List[Global.LabelDef]]
  65. var lastEmittedLineNr: Int
  66. def lastInsn: AbstractInsnNode
  67. def legacyAddCreatorCode(clinit: MethodVisitor, cnode: ClassNode, thisName: String): Unit
    Definition Classes
    JAndroidBuilder
  68. def lineNumber(tree: Global.Tree): Unit
  69. def markProgramPoint(lbl: Label): Unit
  70. var methSymbol: Global.Symbol
  71. var mnode: MethodNode
  72. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  73. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  74. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  75. def paramTKs(app: Global.Apply): List[BTypesFromSymbols.BType]
  76. def pickleMarkerForeign: Attribute
    Definition Classes
    BCPickles
  77. def pickleMarkerLocal: Attribute
    Definition Classes
    BCPickles
  78. def registerCleanup(finCleanup: Label): Unit
  79. def resetMethodBookkeeping(dd: Global.DefDef): Unit
  80. var returnType: BTypesFromSymbols.BType
  81. var shouldEmitCleanup: Boolean
  82. def symInfoTK(sym: Global.Symbol): BTypesFromSymbols.BType
  83. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  84. var thisBType: BTypesFromSymbols.ClassBType
  85. var thisBTypeDescriptor: String
  86. def toString(): String
    Definition Classes
    AnyRef → Any
  87. def tpeTK(tree: Global.Tree): BTypesFromSymbols.BType
  88. def unregisterCleanup(finCleanup: Label): Unit
  89. var varsInScope: List[(Global.Symbol, Label)]
  90. val versionPickle: PickleBuffer
    Definition Classes
    BCPickles
  91. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  92. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  93. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  94. object JumpDestination
  95. object bc extends BCodeSkelBuilder.JCodeMethodN
  96. object locals

Deprecated Value Members

  1. def formatted(fmtstr: String): String
    Implicit
    This member is added by an implicit conversion from PlainSkelBuilder toStringFormat[PlainSkelBuilder] 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.

  2. def [B](y: B): (PlainSkelBuilder, B)
    Implicit
    This member is added by an implicit conversion from PlainSkelBuilder toArrowAssoc[PlainSkelBuilder] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @deprecated
    Deprecated

    (Since version 2.13.0) Use -> instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd fromPlainSkelBuilder to any2stringadd[PlainSkelBuilder]

Inherited by implicit conversion StringFormat fromPlainSkelBuilder to StringFormat[PlainSkelBuilder]

Inherited by implicit conversion Ensuring fromPlainSkelBuilder to Ensuring[PlainSkelBuilder]

Inherited by implicit conversion ArrowAssoc fromPlainSkelBuilder to ArrowAssoc[PlainSkelBuilder]

Ungrouped