scala.tools.nsc.backend.jvm

# BCodeTypes

#### abstract class BCodeTypes extends BCodeIdiomatic

Source
  BCodeTypes.scala

Linear Supertypes
BCodeIdiomatic, SubComponent, AnyRef, Any
Known Subclasses
BCodeBodyBuilder, BCodeHelpers, BCodeSkelBuilder, BCodeSyncAndTry, GenBCode, genBCode
Type Hierarchy Learn more about scaladoc diagrams
Ordering

1. Alphabetic
2. By inheritance

Inherited

1. BCodeTypes
2. BCodeIdiomatic
3. SubComponent
4. AnyRef
5. 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 BCodeTypes()

### Type Members

1. #### case class InnerClassEntry(name: String, outerName: String, innerName: String, access: Int) extends Product with Serializable

2. #### implicit class InsnIterInsnList extends AnyRef

   Definition Classes
     BCodeIdiomatic

3. #### implicit class InsnIterMethodNode extends AnyRef

   Definition Classes
     BCodeIdiomatic

4. #### abstract class JCodeMethodN extends AnyRef

   Definition Classes
     BCodeIdiomatic

5. #### class LabelDefsFinder extends Global.Traverser

   Definition Classes
     BCodeIdiomatic

6. #### abstract class StdPhase extends GlobalPhase

   A standard phase template

   A standard phase template

   Definition Classes
     SubComponent

7. #### 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

### Abstract Value Members

1. #### abstract val global: Global

   The global environment; overridden by instantiation in Global.

   The global environment; overridden by instantiation in Global.

   Definition Classes
     SubComponent

2. #### abstract def newPhase(prev: Phase): Phase

   The phase factory

   The phase factory

   Definition Classes
     SubComponent

3. #### abstract val phaseName: String

   The name of the phase

   The name of the phase

   Definition Classes
     SubComponent

4. #### 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

5. #### 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 BCodeTypes to any2stringadd[BCodeTypes] performed by method any2stringadd in scala.Predef.
   Definition Classes
     any2stringadd

4. #### def ->[B](y: B): (BCodeTypes, B)

   Implicit information
     This member is added by an implicit conversion from BCodeTypes to ArrowAssoc[BCodeTypes] 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]

7. #### var AbstractPartialFunctionReference: (bTypes)#ClassBType

8. #### var AndroidCreatorClass: Global.Symbol

9. #### var AndroidParcelableInterface: Global.Symbol

10. #### val AnyRefReference: (bTypes)#ClassBType

    Definition Classes
      BCodeIdiomatic

11. #### var ArrayInterfaces: Set[Tracked]

12. #### var BeanInfoAttr: Global.Symbol

13. #### var BoxesRunTime: (bTypes)#ClassBType

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]

20. #### val INNER_CLASSES_FLAGS: Int

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

27. #### val PublicStatic: Int

28. #### val PublicStaticFinal: Int

29. #### val StringBuilderClassName: String

    Definition Classes
      BCodeIdiomatic

30. #### var StringBuilderReference: (bTypes)#BType

    Definition Classes
      BCodeIdiomatic

31. #### var StringReference: (bTypes)#ClassBType

32. #### var String_valueOf: Global.Symbol

33. #### var ThrowableReference: (bTypes)#ClassBType

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

35. #### final def afterOwnPhase[T](op: ⇒ T): T

    Definition Classes
      SubComponent
    Annotations
      @inline()

36. #### def allInterfaces(is: Iterable[Tracked]): Boolean

37. #### final def asInstanceOf[T0]: T0

    Definition Classes
      Any

38. #### val bCodeICodeCommon: BCodeICodeCommon[global.type]

    Attributes
      protected
    Definition Classes
      BCodeIdiomatic

39. #### val bTypes: BTypes[global.type] { type BTypeName = BCodeTypes.this.global.TypeName }

    Definition Classes
      BCodeIdiomatic

40. #### final def beforeOwnPhase[T](op: ⇒ T): T

    Definition Classes
      SubComponent
    Annotations
      @inline()

41. #### var boxResultType: Map[Global.Symbol, (bTypes)#BType]

42. #### def checkAllInterfaces(ifaces: Iterable[Tracked]): Unit

43. #### var classCastExceptionReference: (bTypes)#ClassBType

44. #### val classfileVersion: Int

    Definition Classes
      BCodeIdiomatic

45. #### def clearBCodeTypes(): Unit

46. #### def clone(): AnyRef

    Attributes
      protected[java.lang]
    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

47. #### final def coercionFrom(code: Int): (bTypes)#BType

    Definition Classes
      BCodeIdiomatic

48. #### final def coercionTo(code: Int): (bTypes)#BType

    Definition Classes
      BCodeIdiomatic

49. #### final def conforms(a: (bTypes)#BType, b: (bTypes)#BType): Boolean

50. #### val emitStackMapFrame: Boolean

    Definition Classes
      BCodeIdiomatic

51. #### def enabled: Boolean

    Is this component enabled? Default is true.

    Is this component enabled? Default is true.

    Definition Classes
      SubComponent

52. #### def ensuring(cond: (BCodeTypes) ⇒ Boolean, msg: ⇒ Any): BCodeTypes

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

53. #### def ensuring(cond: (BCodeTypes) ⇒ Boolean): BCodeTypes

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

54. #### def ensuring(cond: Boolean, msg: ⇒ Any): BCodeTypes

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

55. #### def ensuring(cond: Boolean): BCodeTypes

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

56. #### final def eq(arg0: AnyRef): Boolean

    Definition Classes
      AnyRef

57. #### def equals(arg0: Any): Boolean

    Definition Classes
      AnyRef → Any

58. #### final def exemplar(csym0: Global.Symbol): Tracked

59. #### val exemplars: ConcurrentHashMap[(bTypes)#BType, Tracked]

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

60. #### val extraProc: Int

    Definition Classes
      BCodeIdiomatic

61. #### def finalize(): Unit

    Attributes
      protected[java.lang]
    Definition Classes
      AnyRef
    Annotations
      @throws( classOf[java.lang.Throwable] )

62. #### def formatted(fmtstr: String): String

    Implicit information
      This member is added by an implicit conversion from BCodeTypes to StringFormat[BCodeTypes] performed by method StringFormat in scala.Predef.
    Definition Classes
      StringFormat
    Annotations
      @inline()

63. #### final def getClass(): Class[_]

    Definition Classes
      AnyRef → Any

64. #### def getSuperInterfaces(csym: Global.Symbol): List[Global.Symbol]

65. #### final def hasInternalName(sym: Global.Symbol): Boolean

66. #### final def hasPublicBitSet(flags: Int): Boolean

67. #### 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

68. #### var hashMethodSym: Global.Symbol

69. #### def initBCodeTypes(): Unit

70. #### 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

71. #### def innerClassSymbolFor(s: Global.Symbol): Global.Symbol

72. #### 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

73. #### val isCompilingStdLib: Boolean

74. #### final def isDeprecated(sym: Global.Symbol): Boolean

75. #### def isFunctionType(t: (bTypes)#BType): Boolean

76. #### final def isInstanceOf[T0]: Boolean

    Definition Classes
      Any

77. #### def isPartialFunctionType(t: (bTypes)#BType): Boolean

78. #### final def isRemote(s: Global.Symbol): Boolean

79. #### def isStaticModule(sym: Global.Symbol): Boolean

80. #### def isTopLevelModule(sym: Global.Symbol): Boolean

81. #### def javaFieldFlags(sym: Global.Symbol): Int

82. #### def javaFlags(sym: Global.Symbol): Int

83. #### var jioSerializableReference: (bTypes)#ClassBType

84. #### var jlCloneableReference: (bTypes)#ClassBType

85. #### var jlNPEReference: (bTypes)#ClassBType

86. #### val majorVersion: Int

    Definition Classes
      BCodeIdiomatic

87. #### final def maxType(a: (bTypes)#BType, other: (bTypes)#BType): (bTypes)#BType

88. #### def maxValueType(a: (bTypes)#BType, other: (bTypes)#BType): (bTypes)#BType

89. #### def minimizeInterfaces(lstIfaces: Set[Tracked]): Set[Tracked]

90. #### final def mkArray(xs: List[Label]): Array[Label]

    Definition Classes
      BCodeIdiomatic

91. #### final def mkArray(xs: List[String]): Array[String]

    Definition Classes
      BCodeIdiomatic

92. #### final def mkArray(xs: List[(bTypes)#BType]): Array[(bTypes)#BType]

    Definition Classes
      BCodeIdiomatic

93. #### final def mkArrayReverse(xs: List[Int]): Array[Int]

    Definition Classes
      BCodeIdiomatic

94. #### final def mkArrayReverse(xs: List[String]): Array[String]

    Definition Classes
      BCodeIdiomatic

95. #### def mkFlags(args: Int*): Int

    Definition Classes
      BCodeIdiomatic

96. #### final def ne(arg0: AnyRef): Boolean

    Definition Classes
      AnyRef

97. #### def nonInterfaces(is: Iterable[Tracked]): Iterable[Tracked]

98. #### final def notify(): Unit

    Definition Classes
      AnyRef

99. #### final def notifyAll(): Unit

    Definition Classes
      AnyRef

100. #### val objArrayReference: (bTypes)#ArrayBType

     Definition Classes
       BCodeIdiomatic

101. #### 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

102. #### var phantomTypeMap: Map[Global.Symbol, (bTypes)#ClassBType]

103. #### 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

104. #### 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

105. #### var primitiveTypeMap: Map[Global.Symbol, (bTypes)#BType]

106. #### val requires: List[String]

     Names of phases required by this component.

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

     Definition Classes
       SubComponent

107. #### 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

108. #### final def saveInnerClassesFor(csym: Global.Symbol, csymTK: (bTypes)#BType): Array[InnerClassEntry]

109. #### var scalaSerializableReference: (bTypes)#ClassBType

110. #### val strMODULE_INSTANCE_FIELD: String

111. #### val symExemplars: ConcurrentHashMap[Global.Symbol, Tracked]

     Maps class symbols to their corresponding `Tracked` instance.

112. #### final def synchronized[T0](arg0: ⇒ T0): T0

     Definition Classes
       AnyRef

113. #### 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

114. #### def toString(): String

     Definition Classes
       AnyRef → Any

115. #### final val typeOfArrayOp: Map[Int, (bTypes)#BType]

     Definition Classes
       BCodeIdiomatic

116. #### var unboxResultType: Map[Global.Symbol, (bTypes)#BType]

117. #### final def wait(): Unit

     Definition Classes
       AnyRef
     Annotations
       @throws( ... )

118. #### final def wait(arg0: Long, arg1: Int): Unit

     Definition Classes
       AnyRef
     Annotations
       @throws( ... )

119. #### final def wait(arg0: Long): Unit

     Definition Classes
       AnyRef
     Annotations
       @throws( ... )

120. #### def →[B](y: B): (BCodeTypes, B)

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

### Inherited from BCodeIdiomatic

### Inherited from SubComponent

### Inherited from AnyRef

### Inherited from Any

### Inherited by implicit conversion any2stringadd from BCodeTypes to any2stringadd[BCodeTypes]

### Inherited by implicit conversion StringFormat from BCodeTypes to StringFormat[BCodeTypes]

### Inherited by implicit conversion Ensuring from BCodeTypes to Ensuring[BCodeTypes]

### Inherited by implicit conversion ArrowAssoc from BCodeTypes to ArrowAssoc[BCodeTypes]

### Ungrouped