miniboxing.plugin

MiniboxInjectComponent

trait MiniboxInjectComponent extends PluginComponent with MiniboxLogging with MiniboxDefinitions with MiniboxNameUtils with MiniboxMetadata with MiniboxMetadataUtils with MiniboxMetadataAddons with MiniboxMethodInfo with MiniboxInjectInfoTransformation with MiniboxInjectTreeTransformation with TreeRewriters with ScalacCrossCompilingLayer

Injecticator component def t -> def t_L, def t_J

Linear Supertypes
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. MiniboxInjectComponent
  2. ScalacCrossCompilingLayer
  3. TreeRewriters
  4. MiniboxInjectTreeTransformation
  5. TypingTransformers
  6. MiniboxInjectInfoTransformation
  7. InfoTransform
  8. Transform
  9. MiniboxMethodInfo
  10. MiniboxMetadataAddons
  11. MiniboxMetadataUtils
  12. MiniboxMetadata
  13. MiniboxNameUtils
  14. MiniboxDefinitions
  15. MiniboxLogging
  16. PluginComponent
  17. SubComponent
  18. AnyRef
  19. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. case class DeferredTypeTag(tparam: scala.tools.nsc.Global.Symbol) extends MiniboxInjectComponent.MethodInfo with Product with Serializable

    When the newly introduced symbol is abstract and does not have an implementation at all.

    When the newly introduced symbol is abstract and does not have an implementation at all.

    Definition Classes
    MiniboxMethodInfo
  2. case class DeferredTypeTagImplementation(tparam: scala.tools.nsc.Global.Symbol) extends MiniboxInjectComponent.MethodInfo with Product with Serializable

    When the newly introduced symbol is abstract and does not have an implementation at all.

    When the newly introduced symbol is abstract and does not have an implementation at all.

    Definition Classes
    MiniboxMethodInfo
  3. case class FieldAccessor(field: scala.tools.nsc.Global.Symbol) extends MiniboxInjectComponent.MethodInfo with Product with Serializable

    Method to access field, in a specialized class should be rewired to the actual field.

    Method to access field, in a specialized class should be rewired to the actual field.

    Definition Classes
    MiniboxMethodInfo
  4. case class ForwardTo(base: scala.tools.nsc.Global.Symbol)(overrider: Boolean) extends MiniboxInjectComponent.MethodInfo with Product with Serializable

    The symbol with this information needs a body that forwards to method.

    The symbol with this information needs a body that forwards to method.

    E.g. apply forwards to apply$mcII$sp in Function1$mcII$sp.

    Definition Classes
    MiniboxMethodInfo
  5. sealed abstract class MethodInfo extends AnyRef

    This class should be extended by various classes containing information about different types of methods that are created during specialization.

    This class should be extended by various classes containing information about different types of methods that are created during specialization.

    Definition Classes
    MiniboxMethodInfo
  6. class MiniboxTreeTransformer extends MiniboxInjectComponent.TreeRewriter

    The tree transformer that adds the trees for the specialized classes inside the current package.

    The tree transformer that adds the trees for the specialized classes inside the current package.

    Definition Classes
    MiniboxInjectTreeTransformation
  7. case class Miniboxed(repr: scala.tools.nsc.Global.Symbol) extends (MiniboxDefinitions.this)#SpecInfo with Product with Serializable

    Definition Classes
    MiniboxDefinitions
  8. type Mode = scala.reflect.internal.Mode

    Definition Classes
    ScalacCrossCompilingLayer
  9. case class OverrideOfSpecializedMethod(method: scala.tools.nsc.Global.Symbol) extends MiniboxInjectComponent.MethodInfo with Product with Serializable

    For the following example:

    For the following example:

    class IntFun extends Function1[Int, Int] { def apply(x: Int): Int = .. }

    method apply will have type (Any)Any and we want in fact to override apply$mcII$sp of type (Int)Int, and apply will forward to it.

    So, if the symbol is apply, the method will be apply$mcII$sp.

    Definition Classes
    MiniboxMethodInfo
  10. type PartialSpec = Map[scala.tools.nsc.Global.Symbol, SpecInfo]

    PartialSpec is a binding from type parameters to their representation (Boxed/Miniboxed) INVARIANT: Regardless of whether the PartialSpec refers to the stem or a variant class, the parent's type parameters are used.

    PartialSpec is a binding from type parameters to their representation (Boxed/Miniboxed) INVARIANT: Regardless of whether the PartialSpec refers to the stem or a variant class, the parent's type parameters are used.

    Definition Classes
    MiniboxDefinitions
  11. class Phase extends scala.tools.nsc.transform.InfoTransform.Phase

    Definition Classes
    InfoTransform
  12. implicit class RichGlobal extends AnyRef

    Definition Classes
    ScalacCrossCompilingLayer
  13. implicit class RichPartialSpec extends AnyRef

    Definition Classes
    MiniboxMetadataUtils
  14. implicit class RichSym extends AnyRef

    Definition Classes
    MiniboxMetadataAddons
  15. sealed trait SpecInfo extends AnyRef

    Definition Classes
    MiniboxDefinitions
  16. case class SpecializedImplementationOf(member: scala.tools.nsc.Global.Symbol) extends MiniboxInjectComponent.MethodInfo with Product with Serializable

    In the specialized class the function which will have the implementation will be the specialized one and the generic one will forward to it.

    In the specialized class the function which will have the implementation will be the specialized one and the generic one will forward to it.

    E.g. apply$mcII$sp uses as implementation the body of apply which forwards to it. So, method will be apply.

    Definition Classes
    MiniboxMethodInfo
  17. abstract class StdPhase extends GlobalPhase

    Definition Classes
    SubComponent
  18. abstract class TreeRewriter extends MiniboxInjectComponent.TypingTransformer

    Definition Classes
    TreeRewriters
  19. abstract class TypingTransformer extends scala.tools.nsc.Global.Transformer

    Definition Classes
    TypingTransformers
  20. trait array extends AnyRef

    Definition Classes
    MiniboxDefinitions
  21. trait convs extends AnyRef

    Definition Classes
    MiniboxDefinitions
  22. trait metadata extends AnyRef

    Definition Classes
    MiniboxMetadata
  23. trait ops extends AnyRef

    Definition Classes
    MiniboxDefinitions

Abstract Value Members

  1. abstract def flag_debug: Boolean

  2. abstract def flag_loader_friendly: Boolean

  3. abstract def flag_log: Boolean

  4. abstract def flag_spec_no_opt: Boolean

  5. abstract def flag_stats: Boolean

  6. abstract def flag_two_way: Boolean

  7. abstract val global: Global

    Definition Classes
    ScalacCrossCompilingLayer
  8. abstract def mboxInjectPhase: StdPhase

  9. abstract def newTransformer(unit: scala.tools.nsc.Global.CompilationUnit): scala.tools.nsc.Global.Transformer

    Attributes
    protected
    Definition Classes
    Transform
  10. abstract val phaseName: String

    Definition Classes
    SubComponent
  11. abstract val runsAfter: List[String]

    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. final def ==(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  4. object Boxed extends (MiniboxDefinitions.this)#SpecInfo with Product with Serializable

    Definition Classes
    MiniboxDefinitions
  5. lazy val ConversionsObjectDoubleSymbol: scala.tools.nsc.Global.ModuleSymbol

    Definition Classes
    MiniboxDefinitions
  6. lazy val ConversionsObjectLongSymbol: scala.tools.nsc.Global.ModuleSymbol

    Definition Classes
    MiniboxDefinitions
  7. lazy val ConversionsObjectSymbol: scala.tools.nsc.Global.ModuleSymbol

    Definition Classes
    MiniboxDefinitions
  8. object Interface extends MiniboxInjectComponent.MethodInfo with Product with Serializable

    When the newly introduced symbol is abstract and does not have an implementation at all.

    When the newly introduced symbol is abstract and does not have an implementation at all.

    Definition Classes
    MiniboxMethodInfo
  9. lazy val Manifest_newArray: scala.tools.nsc.Global.Symbol

    Definition Classes
    MiniboxDefinitions
  10. lazy val MiniboxArrayObjectSymbol: scala.tools.nsc.Global.ModuleSymbol

    Definition Classes
    MiniboxDefinitions
  11. lazy val MinispecClass: scala.tools.nsc.Global.ClassSymbol

    Definition Classes
    MiniboxDefinitions
  12. object PartialSpec

    Definition Classes
    MiniboxMetadataUtils
  13. lazy val StorageClass: scala.tools.nsc.Global.ClassSymbol

    This class should only appear in the tree during the minibox phase and should be cleaned up afterwards, during the minibox-cleanup phase.

    This class should only appear in the tree during the minibox phase and should be cleaned up afterwards, during the minibox-cleanup phase.

    Definition Classes
    MiniboxDefinitions
  14. def afterMiniboxInject[T](op: ⇒ T): T

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

    Definition Classes
    SubComponent
    Annotations
    @inline()
  16. def array(repr: scala.tools.nsc.Global.Symbol): array

    Definition Classes
    MiniboxDefinitions
  17. object array_1way extends (MiniboxDefinitions.this)#array

    Definition Classes
    MiniboxDefinitions
  18. object array_2way_double extends (MiniboxDefinitions.this)#array

    Definition Classes
    MiniboxDefinitions
  19. object array_2way_long extends (MiniboxDefinitions.this)#array

    Definition Classes
    MiniboxDefinitions
  20. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  21. def beforeMiniboxInject[T](op: ⇒ T): T

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

    Definition Classes
    SubComponent
    Annotations
    @inline()
  23. def box2minibox(repr: scala.tools.nsc.Global.Symbol): scala.tools.nsc.Global.Symbol

    Definition Classes
    MiniboxDefinitions
  24. def changesBaseClasses: Boolean

    Attributes
    protected
    Definition Classes
    InfoTransform
  25. def classDefTreeFromSym(classSym: scala.tools.nsc.Global.Symbol): scala.tools.nsc.Global.Tree

    Definition Classes
    TreeRewriters
  26. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  27. def convs(repr: scala.tools.nsc.Global.Symbol): convs

    Definition Classes
    MiniboxDefinitions
  28. object convs_1way extends (MiniboxDefinitions.this)#convs

    Definition Classes
    MiniboxDefinitions
  29. object convs_2way_double extends (MiniboxDefinitions.this)#convs

    Definition Classes
    MiniboxDefinitions
  30. object convs_2way_long extends (MiniboxDefinitions.this)#convs

    Definition Classes
    MiniboxDefinitions
  31. def createNewTParams(oldParams: List[scala.tools.nsc.Global.Symbol], newOwner: scala.tools.nsc.Global.Symbol): Map[scala.tools.nsc.Global.Symbol, scala.tools.nsc.Global.Symbol]

    Definition Classes
    MiniboxMetadataUtils
  32. def debug(msg: ⇒ Any): Unit

    Definition Classes
    MiniboxLogging
  33. def description: String

    Definition Classes
    PluginComponent
  34. def enabled: Boolean

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

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

    Definition Classes
    AnyRef → Any
  37. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  38. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  39. def global_log(msg: ⇒ String): Unit

    Definition Classes
    MiniboxLogging
  40. def hashCode(): Int

    Definition Classes
    SubComponent → AnyRef → Any
  41. object heuristics

    Definition Classes
    MiniboxMetadataUtils
  42. val initial: Boolean

    Definition Classes
    SubComponent
  43. final val internal: Boolean(false)

    Definition Classes
    PluginComponent → SubComponent
  44. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  45. def isTypeTagField(field: scala.tools.nsc.Global.Symbol): Boolean

    Definition Classes
    MiniboxNameUtils
  46. def keepsTypeParams: Boolean

    Attributes
    protected
    Definition Classes
    InfoTransform
  47. def log(msg: ⇒ Any): Unit

    Definition Classes
    MiniboxLogging
  48. lazy val marker_box2minibox: scala.tools.nsc.Global.MethodSymbol

    Definition Classes
    MiniboxDefinitions
  49. lazy val marker_minibox2box: scala.tools.nsc.Global.MethodSymbol

    Definition Classes
    MiniboxDefinitions
  50. lazy val marker_minibox2minibox: scala.tools.nsc.Global.MethodSymbol

    Definition Classes
    MiniboxDefinitions
  51. def mbarray_apply(repr: scala.tools.nsc.Global.Symbol): scala.tools.nsc.Global.Symbol

    Definition Classes
    MiniboxDefinitions
  52. lazy val mbarray_length: scala.tools.nsc.Global.Symbol

    Definition Classes
    MiniboxDefinitions
  53. lazy val mbarray_new: scala.tools.nsc.Global.Symbol

    Definition Classes
    MiniboxDefinitions
  54. def mbarray_update(repr: scala.tools.nsc.Global.Symbol): scala.tools.nsc.Global.Symbol

    Definition Classes
    MiniboxDefinitions
  55. def mblog(msg: ⇒ Any): Unit

    Definition Classes
    MiniboxLogging
  56. object memberSpecializationInfo extends HashMap[scala.tools.nsc.Global.Symbol, MiniboxInjectComponent.MethodInfo]

    While running the MiniboxInfoTransform we record information about how the newly created methods should be implemented when reached by the MiniboxTreeTransformation.

    While running the MiniboxInfoTransform we record information about how the newly created methods should be implemented when reached by the MiniboxTreeTransformation.

    Definition Classes
    MiniboxMethodInfo
  57. object metadata extends MiniboxInjectComponent.metadata

    Contains the metadata and accessors

    Contains the metadata and accessors

    Definition Classes
    MiniboxMetadata
  58. def minibox2box(repr: scala.tools.nsc.Global.Symbol): scala.tools.nsc.Global.Symbol

    Definition Classes
    MiniboxDefinitions
  59. def minibox2x(repr: scala.tools.nsc.Global.Symbol): Map[scala.tools.nsc.Global.Symbol, scala.tools.nsc.Global.Symbol]

    Definition Classes
    MiniboxDefinitions
  60. def minibox2x_double(owner: scala.tools.nsc.Global.Symbol): Map[scala.tools.nsc.Global.Symbol, scala.tools.nsc.Global.Symbol]

    Definition Classes
    MiniboxDefinitions
  61. def minibox2x_long: Map[scala.tools.nsc.Global.Symbol, scala.tools.nsc.Global.Symbol]

    Definition Classes
    MiniboxDefinitions
  62. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  63. def newPhase(prev: scala.tools.nsc.Phase): StdPhase

    Definition Classes
    InfoTransform → Transform → SubComponent
  64. def notag_==(repr: scala.tools.nsc.Global.Symbol): scala.tools.nsc.Global.Symbol

    Definition Classes
    MiniboxDefinitions
  65. final def notify(): Unit

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

    Definition Classes
    AnyRef
  67. def ops(repr: scala.tools.nsc.Global.Symbol): ops

    Definition Classes
    MiniboxDefinitions
  68. object ops_1way extends (MiniboxDefinitions.this)#ops

    Definition Classes
    MiniboxDefinitions
  69. object ops_2way_double extends (MiniboxDefinitions.this)#ops

    Definition Classes
    MiniboxDefinitions
  70. object ops_2way_long extends (MiniboxDefinitions.this)#ops

    Definition Classes
    MiniboxDefinitions
  71. def other_==(repr: scala.tools.nsc.Global.Symbol): scala.tools.nsc.Global.Symbol

    Definition Classes
    MiniboxDefinitions
  72. def ownPhase: scala.tools.nsc.Phase

    Definition Classes
    SubComponent
  73. object parentClasses

    Definition Classes
    MiniboxMetadataUtils
  74. def phaseNewFlags: Long

    Definition Classes
    SubComponent
  75. def phaseNextFlags: Long

    Definition Classes
    SubComponent
  76. def printTree(label: Any, tree: scala.tools.nsc.Global.Tree): Unit

    Definition Classes
    MiniboxLogging
  77. def printType(label: Any, tpe: scala.tools.nsc.Global.Type): Unit

    Definition Classes
    MiniboxLogging
  78. def reportError[T](location: scala.tools.nsc.Global.Symbol)(body: ⇒ T)(handler: (scala.tools.nsc.Global.TypeError) ⇒ T): T

  79. val requires: List[String]

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

    Definition Classes
    SubComponent
  81. val runsRightAfter: Option[String]

    Definition Classes
    PluginComponent → SubComponent
  82. def shortTypeTagName(tparam: scala.tools.nsc.Global.Symbol): scala.tools.nsc.Global.TermName

    Definition Classes
    MiniboxNameUtils
  83. def specializedName(name: scala.tools.nsc.Global.Name, types: List[scala.tools.nsc.Global.Type]): scala.tools.nsc.Global.TermName

    Specialize name for the two list of types.

    Specialize name for the two list of types.

    Definition Classes
    MiniboxNameUtils
  84. lazy val standardTypeTagTrees: Map[scala.tools.nsc.Global.ClassSymbol, scala.tools.nsc.Global.Literal]

    Definition Classes
    MiniboxDefinitions
  85. def stats(msg: ⇒ Any): Unit

    Definition Classes
    MiniboxLogging
  86. def storageType(tparam: scala.tools.nsc.Global.Symbol, spec: SpecInfo): scala.tools.nsc.Global.Type

    Definition Classes
    MiniboxDefinitions
  87. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  88. object tagUtils

    Definition Classes
    MiniboxMetadataUtils
  89. def tag_==(repr: scala.tools.nsc.Global.Symbol): scala.tools.nsc.Global.Symbol

    Definition Classes
    MiniboxDefinitions
  90. def tag_hashCode(repr: scala.tools.nsc.Global.Symbol): scala.tools.nsc.Global.Symbol

    Definition Classes
    MiniboxDefinitions
  91. def tag_toString(repr: scala.tools.nsc.Global.Symbol): scala.tools.nsc.Global.Symbol

    Definition Classes
    MiniboxDefinitions
  92. val terminal: Boolean

    Definition Classes
    SubComponent
  93. def toString(): String

    Definition Classes
    AnyRef → Any
  94. def transformInfo(sym: scala.tools.nsc.Global.Symbol, tpe: scala.tools.nsc.Global.Type): scala.tools.nsc.Global.Type

    Type transformation.

    Type transformation. It is applied to all symbols, compiled or loaded. If it is a 'no-specialization' run, it is applied only to loaded symbols.

    Definition Classes
    MiniboxInjectInfoTransformation → InfoTransform
  95. var ttindent: Int

  96. def turnOffErrorReporting(analyzer: Analyzer)(context: scala.tools.nsc.typechecker.Analyzer.Context): scala.tools.nsc.typechecker.Analyzer.Context

    Definition Classes
    ScalacCrossCompilingLayer
  97. object typeMappers

    Definition Classes
    MiniboxMetadataUtils
  98. def typeTagName(clazz: scala.tools.nsc.Global.Symbol, tparam: scala.tools.nsc.Global.Symbol): scala.tools.nsc.Global.TermName

    The name of the field carrying the type tag of corresponding to a type parameter tparam

    The name of the field carrying the type tag of corresponding to a type parameter tparam

    Definition Classes
    MiniboxNameUtils
  99. def typeTagTrees(owner: scala.tools.nsc.Global.Symbol): Map[scala.tools.nsc.Global.Symbol, scala.tools.nsc.Global.Tree]

  100. lazy val unreachableConversion: scala.tools.nsc.Global.Symbol

    Definition Classes
    MiniboxDefinitions
  101. object variants

    Definition Classes
    MiniboxMetadataUtils
  102. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  105. def withStorage(tpar: scala.tools.nsc.Global.Symbol, repr: scala.tools.nsc.Global.Symbol): scala.tools.nsc.Global.Type

    Definition Classes
    MiniboxDefinitions
  106. def x2minibox(repr: scala.tools.nsc.Global.Symbol): Map[scala.tools.nsc.Global.Symbol, scala.tools.nsc.Global.Symbol]

    Definition Classes
    MiniboxDefinitions
  107. def x2minibox_double(owner: scala.tools.nsc.Global.Symbol): Map[scala.tools.nsc.Global.Symbol, scala.tools.nsc.Global.Symbol]

    Definition Classes
    MiniboxDefinitions
  108. def x2minibox_long: Map[scala.tools.nsc.Global.Symbol, scala.tools.nsc.Global.Symbol]

    Definition Classes
    MiniboxDefinitions

Inherited from ScalacCrossCompilingLayer

Inherited from TreeRewriters

Inherited from TypingTransformers

Inherited from InfoTransform

Inherited from Transform

Inherited from MiniboxMethodInfo

Inherited from MiniboxMetadataAddons

Inherited from MiniboxMetadataUtils

Inherited from MiniboxMetadata

Inherited from MiniboxNameUtils

Inherited from MiniboxDefinitions

Inherited from MiniboxLogging

Inherited from PluginComponent

Inherited from SubComponent

Inherited from AnyRef

Inherited from Any

Ungrouped