Scala Compiler2.13.2 < Back


# Packages

-  package root

  The Scala compiler and reflection APIs.

  The Scala compiler and reflection APIs.

  Definition Classes
    root
-  package scala
  Definition Classes
    root
-  package tools
  Definition Classes
    scala
-  package nsc
  Definition Classes
    tools
-  package backend
  Definition Classes
    nsc
-  package jvm
  Definition Classes
    backend
-  abstract class BCodeSyncAndTry extends BCodeBodyBuilder
  Definition Classes
    jvm
- BCAnnotGen
- BCClassGen
- BCForwardersGen
- BCInnerClassGen
- BCJGenSigGen
- BCPickles
- EnclosingMethodEntry
- InsnIterInsnList
- InsnIterMethodNode
- JAndroidBuilder
- JCodeMethodN
- JCommonBuilder
- JMirrorBuilder
- LabelDefsFinder
- PlainBodyBuilder
- PlainSkelBuilder
- SyncAndTryBuilder
- delambdafyInline
- isJavaEntryPoint

c

scala.tools.nsc.backend.jvm.BCodeSyncAndTry

# SyncAndTryBuilder

###

#### class SyncAndTryBuilder extends PlainBodyBuilder

Source
  BCodeSyncAndTry.scala

Linear Supertypes
BCodeSyncAndTry.PlainBodyBuilder, BCodeSyncAndTry.PlainSkelBuilder, BCodeSyncAndTry.BCPickles, BCodeSyncAndTry.BCForwardersGen, BCodeSyncAndTry.BCJGenSigGen, BCodeSyncAndTry.JAndroidBuilder, BCodeSyncAndTry.BCAnnotGen, BCodeSyncAndTry.BCClassGen, BCodeSyncAndTry.BCInnerClassGen, AnyRef, Any
Type Hierarchy

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. Protected

### 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.  final def !=(arg0: Any): Boolean
   Definition Classes
     AnyRef → Any
4.  final def ##: Int
   Definition Classes
     AnyRef → Any
5.  def +(other: String): String
   Implicit
     This member is added by an implicit conversion from SyncAndTryBuilder toany2stringadd[SyncAndTryBuilder] performed by method any2stringadd in scala.Predef.
   Definition Classes
     any2stringadd
6.  def ->[B](y: B): (SyncAndTryBuilder, B)
   Implicit
     This member is added by an implicit conversion from SyncAndTryBuilder toArrowAssoc[SyncAndTryBuilder] performed by method ArrowAssoc in scala.Predef.
   Definition Classes
     ArrowAssoc
   Annotations
     @inline()
7.  final def ==(arg0: Any): Boolean
   Definition Classes
     AnyRef → Any
8.  val MIN_SWITCH_DENSITY: Double
   Definition Classes
     BCClassGen
9.  final val MaximumJvmParameters: Int(254)
   Definition Classes
     PlainSkelBuilder
10.  def adapt(from: BTypesFromSymbols.BType, to: BTypesFromSymbols.BType): Unit
    Definition Classes
      PlainBodyBuilder
11.  def addClassFields(): Unit
    Definition Classes
      PlainSkelBuilder
12.  def addForwarders(jclass: ClassVisitor, jclassName: String, moduleClass: 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.  def assignModuleInstanceField(meth: MethodVisitor): Unit
    Attributes
      protected
    Definition Classes
      PlainSkelBuilder
17.  var claszSymbol: Global.Symbol
    Definition Classes
      PlainSkelBuilder
18.  var cleanups: List[Label]
    Definition Classes
      PlainSkelBuilder
19.  def clone(): AnyRef
    Attributes
      protected[lang]
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.CloneNotSupportedException]) @native()
20.  var cnode: ClassNode
    Definition Classes
      PlainSkelBuilder
21.  def createJAttribute(name: String, b: Array[Byte], offset: Int, len: Int): Attribute
    Definition Classes
      BCPickles
22.  def currProgramPoint(): Label
    Definition Classes
      PlainSkelBuilder
23.  def debugLevel: Int
    Definition Classes
      BCInnerClassGen
24.  def descriptorForErasedType(tp: Global.Type): String
    Definition Classes
      BCAnnotGen
25.  var earlyReturnVar: Global.Symbol
    Definition Classes
      PlainSkelBuilder
26.  def emit(opc: Int): Unit
    Definition Classes
      PlainBodyBuilder
27.  def emitAnnotations(fw: FieldVisitor, annotations: List[Global.AnnotationInfo]): Unit
    Definition Classes
      BCAnnotGen
28.  def emitAnnotations(mw: MethodVisitor, annotations: List[Global.AnnotationInfo]): Unit
    Definition Classes
      BCAnnotGen
29.  def emitAnnotations(cw: ClassVisitor, annotations: List[Global.AnnotationInfo]): Unit
    Definition Classes
      BCAnnotGen
30.  def emitArgument(av: AnnotationVisitor, name: String, arg: Global.ClassfileAnnotArg): Unit
    Definition Classes
      BCAnnotGen
31.  def emitAssocs(av: AnnotationVisitor, assocs: List[(Global.Name, Global.ClassfileAnnotArg)]): Unit
    Definition Classes
      BCAnnotGen
32.  def emitFinalizer(finalizer: Global.Tree, tmp: Global.Symbol, isDuplicate: Boolean): Unit
33.  final val emitLines: Boolean
    Definition Classes
      BCInnerClassGen
34.  def emitLocalVarScope(sym: Global.Symbol, start: Label, end: Label, force: Boolean = false): Unit
    Definition Classes
      PlainSkelBuilder
35.  def emitParamAnnotations(jmethod: MethodVisitor, pannotss: List[List[Global.AnnotationInfo]]): Unit
    Definition Classes
      BCAnnotGen
36.  def emitParamNames(jmethod: MethodVisitor, params: List[Global.Symbol]): Unit
    Definition Classes
      BCAnnotGen
37.  final val emitSource: Boolean
    Definition Classes
      BCInnerClassGen
38.  final val emitVars: Boolean
    Definition Classes
      BCInnerClassGen
39.  def emitZeroOf(tk: BTypesFromSymbols.BType): Unit
    Definition Classes
      PlainBodyBuilder
40.  def ensuring(cond: (SyncAndTryBuilder) => Boolean, msg: => Any): SyncAndTryBuilder
    Implicit
      This member is added by an implicit conversion from SyncAndTryBuilder toEnsuring[SyncAndTryBuilder] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring
41.  def ensuring(cond: (SyncAndTryBuilder) => Boolean): SyncAndTryBuilder
    Implicit
      This member is added by an implicit conversion from SyncAndTryBuilder toEnsuring[SyncAndTryBuilder] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring
42.  def ensuring(cond: Boolean, msg: => Any): SyncAndTryBuilder
    Implicit
      This member is added by an implicit conversion from SyncAndTryBuilder toEnsuring[SyncAndTryBuilder] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring
43.  def ensuring(cond: Boolean): SyncAndTryBuilder
    Implicit
      This member is added by an implicit conversion from SyncAndTryBuilder toEnsuring[SyncAndTryBuilder] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring
44.  final def eq(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef
45.  def equals(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef → Any
46.  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
47.  def fieldLoad(field: Global.Symbol, hostClass: Global.Symbol): Unit
    Definition Classes
      PlainBodyBuilder
48.  def fieldStore(field: Global.Symbol, hostClass: Global.Symbol): Unit
    Definition Classes
      PlainBodyBuilder
49.  def finalize(): Unit
    Attributes
      protected[lang]
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.Throwable])
50.  def formatted(fmtstr: String): String
    Implicit
      This member is added by an implicit conversion from SyncAndTryBuilder toStringFormat[SyncAndTryBuilder] performed by method StringFormat in scala.Predef.
    Definition Classes
      StringFormat
    Annotations
      @inline()
51.  def gen(tree: Global.Tree): Unit
    Definition Classes
      PlainSkelBuilder
52.  def genArithmeticOp(tree: Global.Tree, code: Int): BTypesFromSymbols.BType
    Definition Classes
      PlainBodyBuilder
53.  def genArrayOp(tree: Global.Tree, code: Int, expectedType: BTypesFromSymbols.BType): BTypesFromSymbols.BType
    Definition Classes
      PlainBodyBuilder
54.  def genBlock(tree: Global.Block, expectedType: BTypesFromSymbols.BType): Unit
    Definition Classes
      PlainBodyBuilder
55.  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
56.  def genCast(to: BTypesFromSymbols.RefBType, cast: Boolean): Unit
    Definition Classes
      PlainBodyBuilder
57.  def genCoercion(code: Int): Unit
    Definition Classes
      PlainBodyBuilder
58.  def genConstant(const: Global.Constant): Unit
    Definition Classes
      PlainBodyBuilder
59.  def genConversion(from: BTypesFromSymbols.BType, to: BTypesFromSymbols.BType, cast: Boolean): Unit
    Definition Classes
      PlainBodyBuilder
60.  def genDefDef(dd: Global.DefDef): Unit
    Definition Classes
      PlainSkelBuilder
61.  def genEqEqPrimitive(l: Global.Tree, r: Global.Tree, success: Label, failure: Label, targetIfNoJump: Label, pos: Global.Position): Unit
    Definition Classes
      PlainBodyBuilder
62.  def genInvokeDynamicLambda(canLMF: Global.delambdafy.LambdaMetaFactoryCapable): Unit
    Definition Classes
      PlainBodyBuilder
63.  def genLoad(tree: Global.Tree, expectedType: BTypesFromSymbols.BType): Unit
    Definition Classes
      PlainBodyBuilder → PlainSkelBuilder
64.  def genLoad(tree: Global.Tree): Unit
    Definition Classes
      PlainBodyBuilder
65.  def genLoadArguments(args: List[Global.Tree], btpes: List[BTypesFromSymbols.BType]): Unit
    Definition Classes
      PlainBodyBuilder
66.  def genLoadIf(tree: Global.If, expectedType: BTypesFromSymbols.BType): BTypesFromSymbols.BType
    Definition Classes
      PlainBodyBuilder
67.  def genLoadLabelArguments(args: List[Global.Tree], lblDef: Global.LabelDef, gotoPos: Global.Position): Unit
    Definition Classes
      PlainBodyBuilder
68.  def genLoadModule(module: Global.Symbol): Unit
    Definition Classes
      PlainBodyBuilder
69.  def genLoadModule(tree: Global.Tree): BTypesFromSymbols.BType
    Definition Classes
      PlainBodyBuilder
70.  def genLoadQualifier(tree: Global.Tree): Unit
    Definition Classes
      PlainBodyBuilder
71.  def genLoadTry(tree: Global.Try): BTypesFromSymbols.BType
    Definition Classes
      SyncAndTryBuilder → PlainBodyBuilder
72.  def genPlainClass(cd0: Global.ClassDef): Unit
    Definition Classes
      PlainSkelBuilder
73.  def genPrimitiveOp(tree: Global.Apply, expectedType: BTypesFromSymbols.BType): BTypesFromSymbols.BType
    Definition Classes
      PlainBodyBuilder
74.  def genScalaHash(tree: Global.Tree, applyPos: Global.Position): BTypesFromSymbols.BType
    Definition Classes
      PlainBodyBuilder
75.  def genStat(tree: Global.Tree): Unit
    Definition Classes
      PlainBodyBuilder
76.  def genStringConcat(tree: Global.Tree): BTypesFromSymbols.BType
    Definition Classes
      PlainBodyBuilder
77.  def genSynchronized(tree: Global.Apply, expectedType: BTypesFromSymbols.BType): BTypesFromSymbols.BType
    Definition Classes
      SyncAndTryBuilder → PlainBodyBuilder
78.  def genThrow(expr: Global.Tree): BTypesFromSymbols.BType
    Definition Classes
      PlainBodyBuilder
79.  def getAnnotPickle(jclassName: String, sym: Global.Symbol): Option[Global.AnnotationInfo]
    Definition Classes
      BCPickles
80.  final def getClass(): Class[_ <: AnyRef]
    Definition Classes
      AnyRef → Any
    Annotations
      @native()
81.  def getExceptions(excs: List[Global.AnnotationInfo]): List[String]
    Definition Classes
      BCForwardersGen
82.  def getGenericSignature(sym: Global.Symbol, owner: Global.Symbol, memberTpe: Global.Type): String
    Definition Classes
      BCJGenSigGen
83.  def getGenericSignature(sym: Global.Symbol, owner: Global.Symbol): String
    Definition Classes
      BCJGenSigGen
84.  def hashCode(): Int
    Definition Classes
      AnyRef → Any
    Annotations
      @native()
85.  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
86.  def initJMethod(flags: Int, params: List[Global.Symbol]): Unit
    Definition Classes
      PlainSkelBuilder
87.  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
88.  def isAndroidParcelableClass(sym: Global.Symbol): Boolean
    Definition Classes
      JAndroidBuilder
89.  def isAtProgramPoint(lbl: Label): Boolean
    Definition Classes
      PlainSkelBuilder
90.  var isCZParcelable: 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
    Definition Classes
      PlainBodyBuilder
94.  var isMethSymStaticCtor: Boolean
    Definition Classes
      PlainSkelBuilder
95.  var isModuleInitialized: Boolean
    Definition Classes
      PlainSkelBuilder
96.  def isNonNullExpr(t: Global.Tree): Boolean
    Definition Classes
      PlainBodyBuilder
97.  def isNull(t: Global.Tree): Boolean

    Some useful equality helpers.

    Some useful equality helpers.

    Definition Classes
      PlainBodyBuilder
98.  def isPrimitive(fun: Global.Symbol): Boolean
    Definition Classes
      PlainBodyBuilder
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]
     Definition Classes
       PlainBodyBuilder
107.  def lineNumber(tree: Global.Tree): Unit
     Definition Classes
       PlainSkelBuilder
108.  def markProgramPoint(lbl: Label): Unit
     Definition Classes
       PlainSkelBuilder
109.  def mayCleanStack(tree: Global.Tree): Boolean
110.  var methSymbol: Global.Symbol
     Definition Classes
       PlainSkelBuilder
111.  var mnode: MethodNode
     Definition Classes
       PlainSkelBuilder
112.  final def ne(arg0: AnyRef): Boolean
     Definition Classes
       AnyRef
113.  def nopIfNeeded(lbl: Label): Unit
114.  final def notify(): Unit
     Definition Classes
       AnyRef
     Annotations
       @native()
115.  final def notifyAll(): Unit
     Definition Classes
       AnyRef
     Annotations
       @native()
116.  def paramTKs(app: Global.Apply): List[BTypesFromSymbols.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 protect(start: Label, end: Label, handler: Label, excType: BTypesFromSymbols.ClassBType): Unit
121.  def registerCleanup(finCleanup: Label): Unit
     Definition Classes
       PlainSkelBuilder
122.  def resetMethodBookkeeping(dd: Global.DefDef): Unit
     Definition Classes
       PlainSkelBuilder
123.  var returnType: BTypesFromSymbols.BType
     Definition Classes
       PlainSkelBuilder
124.  var shouldEmitCleanup: Boolean
     Definition Classes
       PlainSkelBuilder
125.  def symInfoTK(sym: Global.Symbol): BTypesFromSymbols.BType
     Definition Classes
       PlainSkelBuilder
126.  final def synchronized[T0](arg0: => T0): T0
     Definition Classes
       AnyRef
127.  def testOpForPrimitive(primitiveCode: Int): TestOp
     Definition Classes
       PlainBodyBuilder
128.  var thisBType: BTypesFromSymbols.ClassBType
     Definition Classes
       PlainSkelBuilder
129.  var thisBTypeDescriptor: String
     Definition Classes
       PlainSkelBuilder
130.  def toString(): String
     Definition Classes
       AnyRef → Any
131.  def tpeTK(tree: Global.Tree): BTypesFromSymbols.BType
     Definition Classes
       PlainSkelBuilder
132.  def unregisterCleanup(finCleanup: Label): Unit
     Definition Classes
       PlainSkelBuilder
133.  var varsInScope: List[(Global.Symbol, Label)]
     Definition Classes
       PlainSkelBuilder
134.  val versionPickle: PickleBuffer
     Definition Classes
       BCPickles
135.  final def wait(): Unit
     Definition Classes
       AnyRef
     Annotations
       @throws(classOf[java.lang.InterruptedException])
136.  final def wait(arg0: Long, arg1: Int): Unit
     Definition Classes
       AnyRef
     Annotations
       @throws(classOf[java.lang.InterruptedException])
137.  final def wait(arg0: Long): Unit
     Definition Classes
       AnyRef
     Annotations
       @throws(classOf[java.lang.InterruptedException]) @native()

### Deprecated Value Members

1.  def →[B](y: B): (SyncAndTryBuilder, B)
   Implicit
     This member is added by an implicit conversion from SyncAndTryBuilder toArrowAssoc[SyncAndTryBuilder] 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 BCodeSyncAndTry.PlainBodyBuilder

### Inherited from BCodeSyncAndTry.PlainSkelBuilder

### Inherited from BCodeSyncAndTry.BCPickles

### Inherited from BCodeSyncAndTry.BCForwardersGen

### Inherited from BCodeSyncAndTry.BCJGenSigGen

### Inherited from BCodeSyncAndTry.JAndroidBuilder

### Inherited from BCodeSyncAndTry.BCAnnotGen

### Inherited from BCodeSyncAndTry.BCClassGen

### Inherited from BCodeSyncAndTry.BCInnerClassGen

### Inherited from AnyRef

### Inherited from Any

### Inherited by implicit conversion any2stringadd fromSyncAndTryBuilder to any2stringadd[SyncAndTryBuilder]

### Inherited by implicit conversion StringFormat fromSyncAndTryBuilder to StringFormat[SyncAndTryBuilder]

### Inherited by implicit conversion Ensuring fromSyncAndTryBuilder to Ensuring[SyncAndTryBuilder]

### Inherited by implicit conversion ArrowAssoc fromSyncAndTryBuilder to ArrowAssoc[SyncAndTryBuilder]

### Ungrouped