scala.tools.nsc.backend.jvm

GenBCode

abstract class GenBCode extends BCodeSyncAndTry

Source
GenBCode.scala
Linear Supertypes
Known Subclasses
Type Hierarchy Learn more about scaladoc diagrams
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. GenBCode
  2. BCodeSyncAndTry
  3. BCodeBodyBuilder
  4. BCodeSkelBuilder
  5. BCodeHelpers
  6. BytecodeWriters
  7. BCodeTypes
  8. BCodeIdiomatic
  9. SubComponent
  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 GenBCode()

Type Members

  1. trait AsmpBytecodeWriter extends BytecodeWriter

    Definition Classes
    BytecodeWriters
  2. trait BCAnnotGen extends BCInnerClassGen

    Definition Classes
    BCodeHelpers
  3. trait BCClassGen extends BCInnerClassGen

    Definition Classes
    BCodeHelpers
  4. trait BCForwardersGen extends BCAnnotGen with BCJGenSigGen

    Definition Classes
    BCodeHelpers
  5. trait BCInnerClassGen extends AnyRef

    Definition Classes
    BCodeHelpers
  6. trait BCJGenSigGen extends AnyRef

    Definition Classes
    BCodeHelpers
  7. trait BCPickles extends AnyRef

    Definition Classes
    BCodeHelpers
  8. class BCodePhase extends StdPhase

  9. trait BytecodeWriter extends AnyRef

    Definition Classes
    BytecodeWriters
  10. final class CClassWriter extends ClassWriter

    Definition Classes
    BCodeHelpers
  11. trait ClassBytecodeWriter extends BytecodeWriter

    Definition Classes
    BytecodeWriters
  12. class DirectToJarfileWriter extends BytecodeWriter

    Definition Classes
    BytecodeWriters
  13. trait DumpBytecodeWriter extends BytecodeWriter

    Definition Classes
    BytecodeWriters
  14. case class InnerClassEntry(name: String, outerName: String, innerName: String, access: Int) extends Product with Serializable

    Definition Classes
    BCodeTypes
  15. implicit class InsnIterInsnList extends AnyRef

    Definition Classes
    BCodeIdiomatic
  16. implicit class InsnIterMethodNode extends AnyRef

    Definition Classes
    BCodeIdiomatic
  17. trait JAndroidBuilder extends AnyRef

    Definition Classes
    BCodeHelpers
  18. class JBeanInfoBuilder extends JBuilder

    Definition Classes
    BCodeHelpers
  19. abstract class JBuilder extends BCInnerClassGen

    Definition Classes
    BCodeHelpers
  20. abstract class JCodeMethodN extends AnyRef

    Definition Classes
    BCodeIdiomatic
  21. abstract class JCommonBuilder extends JBuilder with BCAnnotGen with BCForwardersGen with BCPickles

    Definition Classes
    BCodeHelpers
  22. class JMirrorBuilder extends JCommonBuilder

    Definition Classes
    BCodeHelpers
  23. class LabelDefsFinder extends Global.Traverser

    Definition Classes
    BCodeIdiomatic
  24. abstract class PlainBodyBuilder extends PlainSkelBuilder

    Definition Classes
    BCodeBodyBuilder
  25. final class PlainClassBuilder extends SyncAndTryBuilder

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

    Definition Classes
    BCodeSkelBuilder
  27. abstract class StdPhase extends GlobalPhase

    A standard phase template

    A standard phase template

    Definition Classes
    SubComponent
  28. abstract class SyncAndTryBuilder extends PlainBodyBuilder

    Definition Classes
    BCodeSyncAndTry
  29. case class Tracked(c: (BCodeTypes.bTypes)#ClassBType, flags: Int, sc: Tracked, ifaces: Array[Tracked], innersChain: Array[InnerClassEntry]) extends Product with Serializable

    A Tracked instance stores information about a BType.

    A Tracked instance stores information about a BType. This allows ansering type questions without resolving to the compiler, in a thread-safe manner, in particular isSubtypeOf.

    c

    the BType described by this Tracked

    flags

    the java flags for the type, computed by BCodeTypes#javaFlags

    sc

    the bytecode-level superclass if any, null otherwise

    ifaces

    the interfaces explicitly declared. Not included are those transitively supported, but the utility method allLeafIfaces() can be used for that.

    innersChain

    the containing classes for a non-package-level class c, null otherwise.

    Note: the optimizer may inline anonymous closures, thus eliding those inner classes (no physical class file is emitted for elided classes). Before committing innersChain to bytecode, cross-check with the list of elided classes (SI-6546).

    All methods of this class can-multi-thread

    TODO @lry c: ClassBType. rename to ClassBTypeInfo

    Definition Classes
    BCodeTypes

Abstract Value Members

  1. abstract val global: Global

    Definition Classes
    BytecodeWriters
  2. abstract val runsAfter: List[String]

    Names of phases that must run before this phase.

    Names of phases that must run before this phase.

    Definition Classes
    SubComponent
  3. abstract val runsRightAfter: Option[String]

    Name of the phase that this phase must follow immediately.

    Name of the phase that this phase must follow immediately.

    Definition Classes
    SubComponent

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 GenBCode to any2stringadd[GenBCode] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def ->[B](y: B): (GenBCode, B)

    Implicit information
    This member is added by an implicit conversion from GenBCode to ArrowAssoc[GenBCode] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  6. val AbstractFunctionReference: Array[Tracked]

    Definition Classes
    BCodeTypes
  7. var AbstractPartialFunctionReference: (bTypes)#ClassBType

    Definition Classes
    BCodeTypes
  8. var AndroidCreatorClass: Global.Symbol

    Definition Classes
    BCodeTypes
  9. var AndroidParcelableInterface: Global.Symbol

    Definition Classes
    BCodeTypes
  10. val AnyRefReference: (bTypes)#ClassBType

    Definition Classes
    BCodeIdiomatic
  11. var ArrayInterfaces: Set[Tracked]

    Definition Classes
    BCodeTypes
  12. var BeanInfoAttr: Global.Symbol

    Definition Classes
    BCodeTypes
  13. var BoxesRunTime: (bTypes)#ClassBType

    Definition Classes
    BCodeTypes
  14. val CLASS_CONSTRUCTOR_NAME: String

    Definition Classes
    BCodeIdiomatic
  15. val EMPTY_BTYPE_ARRAY: Array[(bTypes)#BType]

    Definition Classes
    BCodeIdiomatic
  16. val EMPTY_INT_ARRAY: Array[Int]

    Definition Classes
    BCodeIdiomatic
  17. val EMPTY_LABEL_ARRAY: Array[Label]

    Definition Classes
    BCodeIdiomatic
  18. val EMPTY_STRING_ARRAY: Array[String]

    Definition Classes
    BCodeIdiomatic
  19. val FunctionReference: Array[Tracked]

    Definition Classes
    BCodeTypes
  20. val INNER_CLASSES_FLAGS: Int

    Definition Classes
    BCodeTypes
  21. val INSTANCE_CONSTRUCTOR_NAME: String

    Definition Classes
    BCodeIdiomatic
  22. val JAVA_LANG_OBJECT: (bTypes)#ClassBType

    Definition Classes
    BCodeIdiomatic
  23. val JAVA_LANG_STRING: (bTypes)#ClassBType

    Definition Classes
    BCodeIdiomatic
  24. object JCodeMethodN

    Definition Classes
    BCodeIdiomatic
  25. val ObjectReference: (bTypes)#ClassBType

    Definition Classes
    BCodeIdiomatic
  26. var PartialFunctionReference: (bTypes)#ClassBType

    Definition Classes
    BCodeTypes
  27. val PublicStatic: Int

    Definition Classes
    BCodeTypes
  28. val PublicStaticFinal: Int

    Definition Classes
    BCodeTypes
  29. val StringBuilderClassName: String

    Definition Classes
    BCodeIdiomatic
  30. var StringBuilderReference: (bTypes)#BType

    Definition Classes
    BCodeIdiomatic
  31. var StringReference: (bTypes)#ClassBType

    Definition Classes
    BCodeTypes
  32. var String_valueOf: Global.Symbol

    Definition Classes
    BCodeTypes
  33. var ThrowableReference: (bTypes)#ClassBType

    Definition Classes
    BCodeTypes
  34. val abstractFunctionArityMap: Map[(bTypes)#BType, Int]

    Definition Classes
    BCodeTypes
  35. final def addInnerClassesASM(jclass: ClassVisitor, refedInnerClasses: Iterable[(bTypes)#BType]): Unit

    Definition Classes
    BCodeHelpers
  36. final def afterOwnPhase[T](op: ⇒ T): T

    Definition Classes
    SubComponent
    Annotations
    @inline()
  37. def allInterfaces(is: Iterable[Tracked]): Boolean

    Definition Classes
    BCodeTypes
  38. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  39. val bCodeICodeCommon: BCodeICodeCommon[global.type]

    Attributes
    protected
    Definition Classes
    BCodeIdiomatic
  40. val bTypes: BTypes[global.type] { type BTypeName = GenBCode.this.global.TypeName }

    Definition Classes
    BCodeIdiomatic
  41. final def beforeOwnPhase[T](op: ⇒ T): T

    Definition Classes
    SubComponent
    Annotations
    @inline()
  42. var boxResultType: Map[Global.Symbol, (bTypes)#BType]

    Definition Classes
    BCodeTypes
  43. def checkAllInterfaces(ifaces: Iterable[Tracked]): Unit

    Definition Classes
    BCodeTypes
  44. var classCastExceptionReference: (bTypes)#ClassBType

    Definition Classes
    BCodeTypes
  45. val classfileVersion: Int

    Definition Classes
    BCodeIdiomatic
  46. def clearBCodeTypes(): Unit

    Definition Classes
    BCodeTypes
  47. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  48. final def coercionFrom(code: Int): (bTypes)#BType

    Definition Classes
    BCodeIdiomatic
  49. final def coercionTo(code: Int): (bTypes)#BType

    Definition Classes
    BCodeIdiomatic
  50. final def conforms(a: (bTypes)#BType, b: (bTypes)#BType): Boolean

    Definition Classes
    BCodeTypes
  51. val emitStackMapFrame: Boolean

    Definition Classes
    BCodeIdiomatic
  52. def enabled: Boolean

    Is this component enabled? Default is true.

    Is this component enabled? Default is true.

    Definition Classes
    SubComponent
  53. def ensuring(cond: (GenBCode) ⇒ Boolean, msg: ⇒ Any): GenBCode

    Implicit information
    This member is added by an implicit conversion from GenBCode to Ensuring[GenBCode] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  54. def ensuring(cond: (GenBCode) ⇒ Boolean): GenBCode

    Implicit information
    This member is added by an implicit conversion from GenBCode to Ensuring[GenBCode] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  55. def ensuring(cond: Boolean, msg: ⇒ Any): GenBCode

    Implicit information
    This member is added by an implicit conversion from GenBCode to Ensuring[GenBCode] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  56. def ensuring(cond: Boolean): GenBCode

    Implicit information
    This member is added by an implicit conversion from GenBCode to Ensuring[GenBCode] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  57. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  58. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  59. final def exemplar(csym0: Global.Symbol): Tracked

    Definition Classes
    BCodeTypes
  60. val exemplars: ConcurrentHashMap[(bTypes)#BType, Tracked]

    TODO @lry should probably be a map form ClassBType to Tracked

    TODO @lry should probably be a map form ClassBType to Tracked

    Definition Classes
    BCodeTypes
  61. val extraProc: Int

    Definition Classes
    BCodeIdiomatic
  62. def factoryNonJarBytecodeWriter(): BytecodeWriter

    Definition Classes
    BytecodeWriters
  63. def fieldSymbols(cls: Global.Symbol): List[Global.Symbol]

    Definition Classes
    BCodeHelpers
  64. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  65. def firstCommonSuffix(as: List[Tracked], bs: List[Tracked]): (bTypes)#ClassBType

    Definition Classes
    BCodeHelpers
  66. def formatted(fmtstr: String): String

    Implicit information
    This member is added by an implicit conversion from GenBCode to StringFormat[GenBCode] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  67. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  68. def getFile(sym: Global.Symbol, clsName: String, suffix: String): AbstractFile

    Definition Classes
    BytecodeWriters
  69. def getFile(base: AbstractFile, clsName: String, suffix: String): AbstractFile

    clsName

    cls.getName

    Definition Classes
    BytecodeWriters
  70. def getFileForClassfile(base: AbstractFile, clsName: String, suffix: String): AbstractFile

    Definition Classes
    BCodeHelpers
  71. def getOutFolder(csym: Global.Symbol, cName: String, cunit: Global.CompilationUnit): AbstractFile

    Definition Classes
    BCodeHelpers
  72. def getSuperInterfaces(csym: Global.Symbol): List[Global.Symbol]

    Definition Classes
    BCodeTypes
  73. final def hasInternalName(sym: Global.Symbol): Boolean

    Definition Classes
    BCodeTypes
  74. final def hasPublicBitSet(flags: Int): Boolean

    Definition Classes
    BCodeTypes
  75. def hashCode(): Int

    SubComponent are added to a HashSet and two phases are the same if they have the same name

    SubComponent are added to a HashSet and two phases are the same if they have the same name

    Definition Classes
    SubComponent → AnyRef → Any
  76. var hashMethodSym: Global.Symbol

    Definition Classes
    BCodeTypes
  77. def initBCodeTypes(): Unit

    Definition Classes
    BCodeTypes
  78. def initBytecodeWriter(entryPoints: List[Global.Symbol]): BytecodeWriter

    Definition Classes
    BCodeHelpers
  79. val initial: Boolean

    True if this phase runs before all other phases.

    True if this phase runs before all other phases. Usually, parser.

    Definition Classes
    SubComponent
  80. def innerClassSymbolFor(s: Global.Symbol): Global.Symbol

    Definition Classes
    BCodeTypes
  81. val internal: Boolean

    True if this phase is not provided by a plug-in.

    True if this phase is not provided by a plug-in.

    Definition Classes
    SubComponent
  82. val isCompilingStdLib: Boolean

    Definition Classes
    BCodeTypes
  83. final def isDeprecated(sym: Global.Symbol): Boolean

    Definition Classes
    BCodeTypes
  84. def isFunctionType(t: (bTypes)#BType): Boolean

    Definition Classes
    BCodeTypes
  85. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  86. object isJavaEntryPoint

    Definition Classes
    BCodeHelpers
  87. def isPartialFunctionType(t: (bTypes)#BType): Boolean

    Definition Classes
    BCodeTypes
  88. final def isRemote(s: Global.Symbol): Boolean

    Definition Classes
    BCodeTypes
  89. def isStaticModule(sym: Global.Symbol): Boolean

    Definition Classes
    BCodeTypes
  90. def isTopLevelModule(sym: Global.Symbol): Boolean

    Definition Classes
    BCodeTypes
  91. def javaFieldFlags(sym: Global.Symbol): Int

    Definition Classes
    BCodeTypes
  92. def javaFlags(sym: Global.Symbol): Int

    Definition Classes
    BCodeTypes
  93. var jioSerializableReference: (bTypes)#ClassBType

    Definition Classes
    BCodeTypes
  94. var jlCloneableReference: (bTypes)#ClassBType

    Definition Classes
    BCodeTypes
  95. var jlNPEReference: (bTypes)#ClassBType

    Definition Classes
    BCodeTypes
  96. def jvmWiseLUB(a: (bTypes)#ClassBType, b: (bTypes)#ClassBType): (bTypes)#ClassBType

    Finding the least upper bound in agreement with the bytecode verifier (given two internal names handed out by ASM) Background: http://gallium.inria.fr/~xleroy/publi/bytecode-verification-JAR.pdf http://comments.gmane.org/gmane.comp.java.vm.languages/2293 https://issues.scala-lang.org/browse/SI-3872

    Finding the least upper bound in agreement with the bytecode verifier (given two internal names handed out by ASM) Background: http://gallium.inria.fr/~xleroy/publi/bytecode-verification-JAR.pdf http://comments.gmane.org/gmane.comp.java.vm.languages/2293 https://issues.scala-lang.org/browse/SI-3872

    can-multi-thread

    Definition Classes
    BCodeHelpers
  97. val majorVersion: Int

    Definition Classes
    BCodeIdiomatic
  98. final def maxType(a: (bTypes)#BType, other: (bTypes)#BType): (bTypes)#BType

    Definition Classes
    BCodeTypes
  99. def maxValueType(a: (bTypes)#BType, other: (bTypes)#BType): (bTypes)#BType

    Definition Classes
    BCodeTypes
  100. def methodSymbols(cd: Global.ClassDef): List[Global.Symbol]

    Definition Classes
    BCodeHelpers
  101. def minimizeInterfaces(lstIfaces: Set[Tracked]): Set[Tracked]

    Definition Classes
    BCodeTypes
  102. final def mkArray(xs: List[Label]): Array[Label]

    Definition Classes
    BCodeIdiomatic
  103. final def mkArray(xs: List[String]): Array[String]

    Definition Classes
    BCodeIdiomatic
  104. final def mkArray(xs: List[(bTypes)#BType]): Array[(bTypes)#BType]

    Definition Classes
    BCodeIdiomatic
  105. final def mkArrayReverse(xs: List[Int]): Array[Int]

    Definition Classes
    BCodeIdiomatic
  106. final def mkArrayReverse(xs: List[String]): Array[String]

    Definition Classes
    BCodeIdiomatic
  107. def mkFlags(args: Int*): Int

    Definition Classes
    BCodeIdiomatic
  108. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  109. def newPhase(prev: Phase): BCodePhase

    The phase factory

    The phase factory

    Definition Classes
    GenBCodeSubComponent
  110. def nonInterfaces(is: Iterable[Tracked]): Iterable[Tracked]

    Definition Classes
    BCodeTypes
  111. final def notify(): Unit

    Definition Classes
    AnyRef
  112. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  113. val objArrayReference: (bTypes)#ArrayBType

    Definition Classes
    BCodeIdiomatic
  114. def outputDirectory(sym: Global.Symbol): AbstractFile

    Definition Classes
    BytecodeWriters
  115. def ownPhase: Phase

    The phase corresponding to this subcomponent in the current compiler run

    The phase corresponding to this subcomponent in the current compiler run

    Definition Classes
    SubComponent
  116. var phantomTypeMap: Map[Global.Symbol, (bTypes)#ClassBType]

    Definition Classes
    BCodeTypes
  117. val phaseName: String

    The name of the phase

    The name of the phase

    Definition Classes
    GenBCodeSubComponent
  118. def phaseNewFlags: Long

    New flags defined by the phase which are not valid before

    New flags defined by the phase which are not valid before

    Definition Classes
    SubComponent
  119. def phaseNextFlags: Long

    New flags defined by the phase which are not valid until immediately after it

    New flags defined by the phase which are not valid until immediately after it

    Definition Classes
    SubComponent
  120. var pickledBytes: Int

    Definition Classes
    BCodeHelpers
  121. var primitiveTypeMap: Map[Global.Symbol, (bTypes)#BType]

    Definition Classes
    BCodeTypes
  122. val requires: List[String]

    Names of phases required by this component.

    Names of phases required by this component. Default is Nil.

    Definition Classes
    SubComponent
  123. val runsBefore: List[String]

    Names of phases that must run after this phase.

    Names of phases that must run after this phase. Default is Nil.

    Definition Classes
    SubComponent
  124. final def saveInnerClassesFor(csym: Global.Symbol, csymTK: (bTypes)#BType): Array[InnerClassEntry]

    Definition Classes
    BCodeTypes
  125. var scalaSerializableReference: (bTypes)#ClassBType

    Definition Classes
    BCodeTypes
  126. def serialVUID(csym: Global.Symbol): Option[Long]

    Definition Classes
    BCodeHelpers
  127. val strMODULE_INSTANCE_FIELD: String

    Definition Classes
    BCodeTypes
  128. val symExemplars: ConcurrentHashMap[Global.Symbol, Tracked]

    Maps class symbols to their corresponding Tracked instance.

    Maps class symbols to their corresponding Tracked instance.

    Definition Classes
    BCodeTypes
  129. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  130. val terminal: Boolean

    True if this phase runs after all other phases.

    True if this phase runs after all other phases. Usually, terminal.

    Definition Classes
    SubComponent
  131. def toString(): String

    Definition Classes
    AnyRef → Any
  132. final val typeOfArrayOp: Map[Int, (bTypes)#BType]

    Definition Classes
    BCodeIdiomatic
  133. var unboxResultType: Map[Global.Symbol, (bTypes)#BType]

    Definition Classes
    BCodeTypes
  134. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  135. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  136. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  137. def [B](y: B): (GenBCode, B)

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

Inherited from BCodeSyncAndTry

Inherited from BCodeBodyBuilder

Inherited from BCodeSkelBuilder

Inherited from BCodeHelpers

Inherited from BytecodeWriters

Inherited from BCodeTypes

Inherited from BCodeIdiomatic

Inherited from SubComponent

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd from GenBCode to any2stringadd[GenBCode]

Inherited by implicit conversion StringFormat from GenBCode to StringFormat[GenBCode]

Inherited by implicit conversion Ensuring from GenBCode to Ensuring[GenBCode]

Inherited by implicit conversion ArrowAssoc from GenBCode to ArrowAssoc[GenBCode]

Ungrouped