c

scalan.plugin

ScalanizerPipeline

abstract class ScalanizerPipeline[+G <: Global] extends AnyRef

Self Type
ScalanizerPipeline[G]
Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ScalanizerPipeline
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new ScalanizerPipeline(scalanizer: Scalanizer[G])

Type Members

  1. case class ForEachUnitStep(name: String)(action: (UnitStepContext) ⇒ Unit) extends PipelineStep with Product with Serializable
  2. sealed trait PipelineStep extends AnyRef
  3. case class RunStep(name: String)(action: (PipelineStep) ⇒ Unit) extends PipelineStep with Product with Serializable
  4. trait UnitStepContext extends AnyRef
  5. case class WrapperCake(traitDef: STraitDef, wrappers: List[SUnitDef]) extends Product with Serializable

Abstract Value Members

  1. abstract def isEnabled: Boolean
  2. abstract def name: String
  3. abstract def runAfter: List[String]
  4. abstract def steps: List[PipelineStep]

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. def addMember(isCompanion: Boolean, member: SMethodDef, wrapper: WrapperDescr): WrapperDescr

    Adds a method or a value to the wrapper.

    Adds a method or a value to the wrapper. The member is added into the first entity in the list if it is not already there. Other entities if any are ignored and left unchanged

    isCompanion

    specifies where to put the method (value) - into class or its companion.

  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def catchSpecialWrapper(owner: SEntitySymbol, tree: G.Tree): Boolean
  7. def catchWrapperUsage(owner: SEntitySymbol, tree: G.Tree): Unit

    For each method call, create type wrapper if the external type should be wrapped.

  8. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  9. lazy val components: List[ScalanizerComponent]
  10. def createComponents(): List[ScalanizerComponent]
    Attributes
    protected
  11. def createDependencies(objType: G.Type): Unit

    For the given type, find all dependencies and wrap them.

  12. def createMemberDependencies(memberType: G.Type): Unit

    Traversing of the type and adding of wrappers for external types.

  13. def createWrapper(externalType: G.Type): WrapperDescr

    Creates scalan-meta Module for an external type symbol.

    Creates scalan-meta Module for an external type symbol. For example: trait WCols extends Base with TypeWrappers { self: Wrappers => trait WCol[A] extends Def[WCol[A]] { self => def arr: Array[A] }; trait WColCompanion extends ExCompanion1[WCol] } where externalType is "class Col" one of the members is "def arr: Array[A]"

  14. def createWrapperSpecial(wrapperConf: WrapperConf, packageName: String, externalTypeName: String, tpeArgs: STpeArgs, originalEntityAncestors: List[STypeApply]): WrapperDescr

    Create wrapper module for a new type externalTypeName

  15. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  16. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  17. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  18. def forEachUnitComponent(runsAfter: List[String], step: ForEachUnitStep): ScalanizerComponent { def newPhase(prev: scala.reflect.internal.Phase): this.StdPhase }
  19. def forRunComponent(runsAfter: List[String], step: RunStep): ScalanizerComponent { def newPhase(prev: scala.reflect.internal.Phase): this.StdPhase }
  20. def formExternalMethodDef(owner: SEntitySymbol, name: String, tpeArgs: List[STpeArg], argSections: List[SMethodArgs], tpeRes: STpeExpr): SMethodDef
  21. def formMethodArgs(args: List[G.Symbol]): List[SMethodArg]

    Form the list of method arguments in terms of Meta AST by using symbols from Scala AST.

  22. def formMethodRes(res: G.Type): STpeExpr
  23. def formMethodTypeArgs(targs: List[G.Symbol]): List[STpeArg]
  24. def genUnitBoilerplateText(mc: ModuleConf, unit: SUnitDef, isVirtualized: Boolean): String

    Calls Scalan Meta to generate boilerplate code for the unit.

  25. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  26. def getExtTypeAncestors(externalType: G.Type): List[STypeApply]

    Gets the list of ancestors of the external type in term of Meta AST.

  27. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  28. def initWrapperCake(): WrapperCake
  29. def isHotSpotTree(tree: G.Tree): Boolean

    Checks that the method has @HotSpot

  30. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  31. def isWrapperSym(sym: G.Symbol): Boolean

    Applying of the policy: wrap all types outside of virtualization scope.

  32. def isWrapperType(tpe: G.Type): Boolean
  33. def loadLibraryDeps(step: PipelineStep, lib: LibraryConfig)(implicit ctx: meta.scalanizer.Scalanizer.ParseCtx): Unit
  34. def loadModuleUnits(step: PipelineStep, sourceMod: ModuleConf)(implicit ctx: meta.scalanizer.Scalanizer.ParseCtx): Unit
  35. def loadProjectModuleDeps(step: PipelineStep, projectMod: ModuleConf)(implicit ctx: meta.scalanizer.Scalanizer.ParseCtx): Unit

    Loads all the dependencies of this project module (Source or Target)

  36. def loadWrapperFromFile(step: PipelineStep, module: ModuleConf, wConf: WrapperConf)(implicit ctx: meta.scalanizer.Scalanizer.ParseCtx): Unit

    Replaces external types by their wrappers.

    Replaces external types by their wrappers. For example: trait Col[A] { def arr: Array[A]; } The external type Array is replaced by its wrapper WArray trait Col[A] { def arr: WArray[A]; }

  37. def loadWrapperFromResource(step: PipelineStep, module: ModuleConf, wConf: WrapperConf)(implicit ctx: meta.scalanizer.Scalanizer.ParseCtx): Unit
  38. def mkCompanionAncestors(wClassName: String, kind: Int): List[STypeApply]
  39. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  40. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  41. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  42. def registerArrayOp(owner: SEntitySymbol, mkOp: (SSymbol, STpeArg) ⇒ SMethodDef): Unit
  43. val scalanizer: Scalanizer[G]
  44. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  45. def toString(): String
    Definition Classes
    AnyRef → Any
  46. def uncurryMethodType(method: G.Type): (List[SMethodArgs], STpeExpr)

    Converts curried method type its uncurried Meta AST representation.

  47. def updateWrapper(owner: SEntitySymbol, objType: G.Type, methodName: G.Name, methodReturnType: G.Type, methodSym: G.Symbol): Unit

    Create/update Meta AST of the module for the external type.

    Create/update Meta AST of the module for the external type. It assembles Meta AST of a method (value) by its Scala's Type.

  48. def updateWrapperSpecial(packageName: String, externalTypeName: String, tpeArgs: STpeArgs, originalEntityAncestors: List[STypeApply], isCompanion: Boolean, member: SMethodDef): Unit
  49. def updateWrappersCake(cake: WrapperCake, wUnit: SUnitDef): WrapperCake
  50. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  51. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  52. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  53. def wrapperNames(externalName: String): (String, String, String)

    Gets names of an external type, its class and its module.

  54. object UnitStepContext

Inherited from AnyRef

Inherited from Any

Ungrouped