Packages

class SyncAndTryBuilder extends PlainBodyBuilder

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. SyncAndTryBuilder
  2. PlainBodyBuilder
  3. PlainSkelBuilder
  4. BCPickles
  5. BCForwardersGen
  6. BCJGenSigGen
  7. JAndroidBuilder
  8. BCAnnotGen
  9. BCClassGen
  10. BCInnerClassGen
  11. AnyRef
  12. 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 SyncAndTryBuilder(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
  2. case class BoundEH(patSymbol: Global.Symbol, caseBody: Global.Tree) extends EHClause with Product with Serializable
  3. trait EHClause extends AnyRef
  4. case class NamelessEH(typeToDrop: BTypesFromSymbols.ClassBType, caseBody: Global.Tree) extends EHClause with Product with Serializable

Value Members

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

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

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

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

    Definition Classes
    PlainBodyBuilder
  70. def initJMethod(flags: Int, params: List[Global.Symbol]): Unit
    Definition Classes
    PlainSkelBuilder
  71. 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
  72. def isAndroidParcelableClass(sym: Global.Symbol): Boolean
    Definition Classes
    JAndroidBuilder
  73. def isAtProgramPoint(lbl: Label): Boolean
    Definition Classes
    PlainSkelBuilder
  74. var isCZParcelable: Boolean
    Definition Classes
    PlainSkelBuilder
  75. var isCZRemote: Boolean
    Definition Classes
    PlainSkelBuilder
  76. var isCZStaticModule: Boolean
    Definition Classes
    PlainSkelBuilder
  77. def isLiteral(t: Global.Tree): Boolean
    Definition Classes
    PlainBodyBuilder
  78. var isMethSymStaticCtor: Boolean
    Definition Classes
    PlainSkelBuilder
  79. var isModuleInitialized: Boolean
    Definition Classes
    PlainSkelBuilder
  80. def isNonNullExpr(t: Global.Tree): Boolean
    Definition Classes
    PlainBodyBuilder
  81. def isNull(t: Global.Tree): Boolean

    Some useful equality helpers.

    Some useful equality helpers.

    Definition Classes
    PlainBodyBuilder
  82. def isPrimitive(fun: Global.Symbol): Boolean
    Definition Classes
    PlainBodyBuilder
  83. var jMethodName: String
    Definition Classes
    PlainSkelBuilder
  84. var jumpDest: Map[Global.Symbol, Label]
    Definition Classes
    PlainSkelBuilder
  85. var labelDef: Map[Global.Symbol, Global.LabelDef]
    Definition Classes
    PlainSkelBuilder
  86. var labelDefsAtOrUnder: Map[Global.Tree, List[Global.LabelDef]]
    Definition Classes
    PlainSkelBuilder
  87. var lastEmittedLineNr: Int
    Definition Classes
    PlainSkelBuilder
  88. def lastInsn: AbstractInsnNode
    Definition Classes
    PlainSkelBuilder
  89. def legacyAddCreatorCode(clinit: MethodVisitor, cnode: ClassNode, thisName: String): Unit
    Definition Classes
    JAndroidBuilder
  90. def liftStringConcat(tree: Global.Tree): List[Global.Tree]
    Definition Classes
    PlainBodyBuilder
  91. def lineNumber(tree: Global.Tree): Unit
    Definition Classes
    PlainSkelBuilder
  92. def markProgramPoint(lbl: Label): Unit
    Definition Classes
    PlainSkelBuilder
  93. def mayCleanStack(tree: Global.Tree): Boolean
  94. var methSymbol: Global.Symbol
    Definition Classes
    PlainSkelBuilder
  95. var mnode: MethodNode
    Definition Classes
    PlainSkelBuilder
  96. def nopIfNeeded(lbl: Label): Unit
  97. def paramTKs(app: Global.Apply): List[BTypesFromSymbols.BType]
    Definition Classes
    PlainSkelBuilder
  98. def pickleMarkerForeign: Attribute
    Definition Classes
    BCPickles
  99. def pickleMarkerLocal: Attribute
    Definition Classes
    BCPickles
  100. def programPoint(labelSym: Global.Symbol): Label
    Definition Classes
    PlainSkelBuilder
  101. def protect(start: Label, end: Label, handler: Label, excType: BTypesFromSymbols.ClassBType): Unit
  102. def registerCleanup(finCleanup: Label): Unit
    Definition Classes
    PlainSkelBuilder
  103. def resetMethodBookkeeping(dd: Global.DefDef): Unit
    Definition Classes
    PlainSkelBuilder
  104. var returnType: BTypesFromSymbols.BType
    Definition Classes
    PlainSkelBuilder
  105. var shouldEmitCleanup: Boolean
    Definition Classes
    PlainSkelBuilder
  106. def symInfoTK(sym: Global.Symbol): BTypesFromSymbols.BType
    Definition Classes
    PlainSkelBuilder
  107. def testOpForPrimitive(primitiveCode: Int): TestOp
    Definition Classes
    PlainBodyBuilder
  108. var thisBType: BTypesFromSymbols.ClassBType
    Definition Classes
    PlainSkelBuilder
  109. def tpeTK(tree: Global.Tree): BTypesFromSymbols.BType
    Definition Classes
    PlainSkelBuilder
  110. def ubytesToCharArray(bytes: Array[Byte]): Array[Char]
    Definition Classes
    BCAnnotGen
  111. def unregisterCleanup(finCleanup: Label): Unit
    Definition Classes
    PlainSkelBuilder
  112. var varsInScope: List[(Global.Symbol, Label)]
    Definition Classes
    PlainSkelBuilder
  113. val versionPickle: PickleBuffer
    Definition Classes
    BCPickles