ch.epfl.yinyang

YYTransformer

abstract class YYTransformer[C <: Context, T] extends LanguageVirtualization with ScopeInjection with HoleTransformation with FreeIdentAnalysis with AscriptionTransformation with TypeTreeTransformation with LiftLiteralTransformation with DataDefs with TransformationUtils with YYConfig

Linear Supertypes
YYConfig, LiftLiteralTransformation, TypeTreeTransformation, AscriptionTransformation, FreeIdentAnalysis, HoleTransformation, ScopeInjection, LanguageVirtualization, DataDefs, TransformationUtils, MacroModule, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. YYTransformer
  2. YYConfig
  3. LiftLiteralTransformation
  4. TypeTreeTransformation
  5. AscriptionTransformation
  6. FreeIdentAnalysis
  7. HoleTransformation
  8. ScopeInjection
  9. LanguageVirtualization
  10. DataDefs
  11. TransformationUtils
  12. MacroModule
  13. AnyRef
  14. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new YYTransformer(c: C, dslName: String, config: Map[String, Any])

Type Members

  1. type Ctx = C

    Definition Classes
    YYTransformer → MacroModule
  2. case class DSLFeature extends Product with Serializable

    Definition Classes
    DataDefs
  3. class FreeVariableCollector extends scala.reflect.macros.Universe.Traverser

    Definition Classes
    FreeIdentAnalysis
  4. class HoleTransformer extends scala.reflect.macros.Universe.Transformer

    Definition Classes
    HoleTransformation
  5. class LiftLiteralTransformer extends scala.reflect.macros.Universe.Transformer

    Definition Classes
    LiftLiteralTransformation
  6. class LocalDefCollector extends scala.reflect.macros.Universe.Traverser

    Definition Classes
    FreeIdentAnalysis
  7. class ScopeInjectionTransformer extends scala.reflect.macros.Universe.Transformer

    Definition Classes
    ScopeInjection
  8. final class TypeTreeTransformer extends scala.reflect.macros.Universe.Transformer

    Definition Classes
    TypeTreeTransformation

Abstract Value Members

  1. abstract val postProcessor: PostProcessing[c.type]

  2. abstract val preProcessor: PreProcessing[c.type]

  3. abstract val typeTransformer: TypeTransformer[c.type]

    Definition Classes
    TypeTreeTransformation

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 AscriptionTransformer extends (scala.reflect.macros.Universe.Tree) ⇒ scala.reflect.macros.Universe.Tree

    Definition Classes
    AscriptionTransformation
  5. object FeatureAnalyzer extends (scala.reflect.macros.Universe.Tree, Seq[DSLFeature]) ⇒ Unit

  6. object HoleTransformer

    Definition Classes
    HoleTransformation
  7. object LiftLiteralTransformer

    Definition Classes
    LiftLiteralTransformation
  8. object ScopeInjectionTransformer extends (scala.reflect.macros.Universe.Tree) ⇒ scala.reflect.macros.Universe.Tree

    Definition Classes
    ScopeInjection
  9. object TypeTreeTransformer extends (scala.reflect.macros.Universe.Tree) ⇒ scala.reflect.macros.Universe.Tree

    Definition Classes
    TypeTreeTransformation
  10. object VirtualizationTransformer

    Definition Classes
    LanguageVirtualization
  11. def apply[T](block: C.Expr[T]): C.Expr[T]

    Main YinYang method.

    Main YinYang method. Transforms the body of the DSL, makes the DSL cake out of the body and then executes the DSL code. If the DSL supports static analysis of the DSL code this method will perform it during compilation. The errors will be reported to the compiler error console.

    Depending on the configuration and the analysis of static values this DSL will be compiled either at compile time, if all required values are present, or at runtime.

  12. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  13. val ascriptionTransforming: Boolean

    Definition Classes
    YYConfig
  14. val c: C

    Definition Classes
    YYTransformer → MacroModule
  15. val className: String

    Definition Classes
    YYTransformer → TransformationUtils
  16. val classUID: Long

  17. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  18. def code(tree: scala.reflect.macros.Universe.Tree, shortenDSLNames: Boolean): String

    Definition Classes
    TransformationUtils
  19. val codeCacheSize: Int

    Definition Classes
    YYConfig
  20. def composeDSL(compilVars: List[scala.reflect.macros.Universe.Symbol])(transformedBody: scala.reflect.macros.Universe.Tree): scala.reflect.macros.Universe.Tree

  21. val config: Map[String, Any]

    Definition Classes
    YYTransformerYYConfig
  22. def constructTypeTree(tctx: TypeContext, inType: scala.reflect.macros.Universe.Type): scala.reflect.macros.Universe.Tree

    Definition Classes
    TypeTreeTransformation
  23. def copy(orig: scala.reflect.macros.Universe.Tree)(nev: scala.reflect.macros.Universe.Tree): scala.reflect.macros.Universe.Tree

    Definition Classes
    TransformationUtils
  24. val debug: Int

    Definition Classes
    YYConfig
  25. def debugLevel: Int

    Definition Classes
    YYTransformer → TransformationUtils
  26. def deepDealias(tpe: scala.reflect.macros.Universe.Type): scala.reflect.macros.Universe.Type

    Definition Classes
    TransformationUtils
  27. def defaultCompVar(s: scala.reflect.macros.Universe.Symbol): CompVar

  28. val dslType: scala.reflect.macros.Universe.Type

  29. final def eq(arg0: AnyRef): Boolean

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

    Definition Classes
    AnyRef → Any
  31. val failCompilation: Boolean

    Definition Classes
    YYConfig
  32. val featureAnalysing: Boolean

    Definition Classes
    YYConfig
  33. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  34. def freeVariables(tree: scala.reflect.macros.Universe.Tree): List[scala.reflect.macros.Universe.Tree]

    Definition Classes
    FreeIdentAnalysis
  35. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  36. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  37. val holeMethod: String

    Definition Classes
    YYTransformer → HoleTransformation
  38. val holeTable: ArrayBuffer[Int]

    Definition Classes
    HoleTransformation
  39. def interpretMethod: String

  40. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  41. val liftTypes: List[scala.reflect.macros.Universe.Type forSome {val _2: Context}]

    Definition Classes
    YYConfig
  42. def log(s: ⇒ String, level: Int): Unit

    Definition Classes
    TransformationUtils
  43. val mainMethod: String

    Definition Classes
    YYConfig
  44. def makeConstructor(classname: String, arguments: List[scala.reflect.macros.Universe.Tree]): scala.reflect.macros.Universe.Tree

    Definition Classes
    TransformationUtils
  45. def method(recOpt: Option[scala.reflect.macros.Universe.Tree], methName: String, args: List[List[scala.reflect.macros.Universe.Tree]], targs: List[scala.reflect.macros.Universe.Tree]): scala.reflect.macros.Universe.Tree

    Definition Classes
    TransformationUtils
  46. def methodsExist(methods: DSLFeature*): Boolean

  47. val minimumCountToStabilize: Int

    Definition Classes
    YYConfig
  48. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  49. def newClass(classname: String): scala.reflect.macros.Universe.New

    Definition Classes
    TransformationUtils
  50. final def notify(): Unit

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

    Definition Classes
    AnyRef
  52. val optionalInitiallyStable: Boolean

    Definition Classes
    YYConfig
  53. val rewireThis: Boolean

    Definition Classes
    ScopeInjection
  54. def rewiredToThis(s: String): Boolean

    Definition Classes
    ScopeInjection
  55. val shallow: Boolean

    Definition Classes
    YYConfig
  56. val shortenDSLNames: Boolean

    Definition Classes
    YYConfig
  57. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  58. def toString(): String

    Definition Classes
    AnyRef → Any
  59. def typeApply(targs: List[scala.reflect.macros.Universe.Tree])(select: scala.reflect.macros.Universe.Tree): scala.reflect.macros.Universe.Tree

    Definition Classes
    TransformationUtils
  60. lazy val typeRegex: Regex

    Definition Classes
    TransformationUtils
  61. lazy val typetagRegex: Regex

    Definition Classes
    TransformationUtils
  62. def virtualize(t: scala.reflect.macros.Universe.Tree): (scala.reflect.macros.Universe.Tree, Seq[DSLFeature])

    Definition Classes
    LanguageVirtualization
  63. val virtualizeFunctions: Boolean

    Definition Classes
    YYConfig
  64. val virtualizeVal: Boolean

    Definition Classes
    YYConfig
  65. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from YYConfig

Inherited from LiftLiteralTransformation

Inherited from TypeTreeTransformation

Inherited from AscriptionTransformation

Inherited from FreeIdentAnalysis

Inherited from HoleTransformation

Inherited from ScopeInjection

Inherited from LanguageVirtualization

Inherited from DataDefs

Inherited from TransformationUtils

Inherited from MacroModule

Inherited from AnyRef

Inherited from Any

Ungrouped