scala.tools.nsc.Global

# genBCode

#### object genBCode extends GenBCode

Source
  Global.scala

Linear Supertypes
GenBCode, BCodeSyncAndTry, BCodeBodyBuilder, BCodeSkelBuilder, BCodeHelpers, BytecodeWriters, BCodeTypes, BCodeIdiomatic, SubComponent, AnyRef, Any
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
      genBCode → BytecodeWriters → SubComponent

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
       GenBCode → SubComponent

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
       GenBCode → SubComponent

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
       genBCode → SubComponent

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
       genBCode → SubComponent

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