scala.tools.nsc.Global

genBCode

object genBCode extends GenBCode

Source
Global.scala
Linear Supertypes
Content Hierarchy Learn more about scaladoc diagrams
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. genBCode
  2. GenBCode
  3. BCodeSyncAndTry
  4. BCodeBodyBuilder
  5. BCodeSkelBuilder
  6. BCodeHelpers
  7. BytecodeWriters
  8. BCodeTypes
  9. BCodeIdiomatic
  10. SubComponent
  11. AnyRef
  12. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

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

    Definition Classes
    GenBCode
  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

    Definition Classes
    GenBCode
  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

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 AbstractFunctionReference: Array[Tracked]

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

    Definition Classes
    BCodeTypes
  6. var AndroidCreatorClass: Global.Symbol

    Definition Classes
    BCodeTypes
  7. var AndroidParcelableInterface: Global.Symbol

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

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

    Definition Classes
    BCodeTypes
  10. var BeanInfoAttr: Global.Symbol

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

    Definition Classes
    BCodeTypes
  12. val CLASS_CONSTRUCTOR_NAME: String

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

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

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

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

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

    Definition Classes
    BCodeTypes
  18. val INNER_CLASSES_FLAGS: Int

    Definition Classes
    BCodeTypes
  19. val INSTANCE_CONSTRUCTOR_NAME: String

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

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

    Definition Classes
    BCodeIdiomatic
  22. object JCodeMethodN

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

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

    Definition Classes
    BCodeTypes
  25. val PublicStatic: Int

    Definition Classes
    BCodeTypes
  26. val PublicStaticFinal: Int

    Definition Classes
    BCodeTypes
  27. val StringBuilderClassName: String

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

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

    Definition Classes
    BCodeTypes
  30. var String_valueOf: Global.Symbol

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

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

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

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

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

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

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

    Attributes
    protected
    Definition Classes
    BCodeIdiomatic
  38. val bTypes: BTypes[global.type] { type BTypeName = scala.tools.nsc.Global.genBCode.global.TypeName }

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

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

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

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

    Definition Classes
    BCodeTypes
  43. val classfileVersion: Int

    Definition Classes
    BCodeIdiomatic
  44. def clearBCodeTypes(): Unit

    Definition Classes
    BCodeTypes
  45. def clone(): AnyRef

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

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

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

    Definition Classes
    BCodeTypes
  49. val emitStackMapFrame: Boolean

    Definition Classes
    BCodeIdiomatic
  50. def enabled: Boolean

    Is this component enabled? Default is true.

    Is this component enabled? Default is true.

    Definition Classes
    SubComponent
  51. final def eq(arg0: AnyRef): Boolean

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

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

    Definition Classes
    BCodeTypes
  54. 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
  55. val extraProc: Int

    Definition Classes
    BCodeIdiomatic
  56. def factoryNonJarBytecodeWriter(): BytecodeWriter

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

    Definition Classes
    BCodeHelpers
  58. def finalize(): Unit

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

    Definition Classes
    BCodeHelpers
  60. final def getClass(): Class[_]

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

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

    clsName

    cls.getName

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

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

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

    Definition Classes
    BCodeTypes
  66. val global: Global.this.type

    The global environment; overridden by instantiation in Global.

    The global environment; overridden by instantiation in Global.

    Definition Classes
    genBCodeBytecodeWritersSubComponent
  67. final def hasInternalName(sym: Global.Symbol): Boolean

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

    Definition Classes
    BCodeTypes
  69. 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
  70. var hashMethodSym: Global.Symbol

    Definition Classes
    BCodeTypes
  71. def initBCodeTypes(): Unit

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

    Definition Classes
    BCodeHelpers
  73. 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
  74. def innerClassSymbolFor(s: Global.Symbol): Global.Symbol

    Definition Classes
    BCodeTypes
  75. 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
  76. val isCompilingStdLib: Boolean

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

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

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

    Definition Classes
    Any
  80. object isJavaEntryPoint

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

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

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

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

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

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

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

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

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

    Definition Classes
    BCodeTypes
  90. 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
  91. val majorVersion: Int

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

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

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

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

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

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

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

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

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

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

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

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

    The phase factory

    The phase factory

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

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

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

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

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

    Definition Classes
    BytecodeWriters
  109. 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
  110. var phantomTypeMap: Map[Global.Symbol, (bTypes)#ClassBType]

    Definition Classes
    BCodeTypes
  111. val phaseName: String

    The name of the phase

    The name of the phase

    Definition Classes
    GenBCodeSubComponent
  112. 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
  113. 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
  114. var pickledBytes: Int

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

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

    Names of phases required by this component.

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

    Definition Classes
    SubComponent
  117. val runsAfter: collection.immutable.List[String]

    Names of phases that must run before this phase.

    Names of phases that must run before this phase.

    Definition Classes
    genBCodeSubComponent
  118. 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
  119. val runsRightAfter: None.type

    Name of the phase that this phase must follow immediately.

    Name of the phase that this phase must follow immediately.

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

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

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

    Definition Classes
    BCodeHelpers
  123. val strMODULE_INSTANCE_FIELD: String

    Definition Classes
    BCodeTypes
  124. 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
  125. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  126. 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
  127. def toString(): String

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

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

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

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from GenBCode

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

Ungrouped