sindi.compiler

CompilerPlugin

class CompilerPlugin extends Plugin with SindiPlugin with Analyzer with Transformer with Validator

Attributes
final
Linear Supertypes
Validator, Transformer, TreeDSL, TypingTransformers, Analyzer, ComponentAnalyzis, ContextAnalyzis, Analyzis, SindiPlugin, Plugin, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Hide All
  2. Show all
  1. CompilerPlugin
  2. Validator
  3. Transformer
  4. TreeDSL
  5. TypingTransformers
  6. Analyzer
  7. ComponentAnalyzis
  8. ContextAnalyzis
  9. Analyzis
  10. SindiPlugin
  11. Plugin
  12. AnyRef
  13. Any
Visibility
  1. Public
  2. All

Instance Constructors

  1. new CompilerPlugin (global: Global)

Type Members

  1. case class Binding (tree: Tree, symbol: Symbol, qualifier: Option[Type]) extends Product with Serializable

  2. case class CompilationUnitInfo (source: SourceFile, contexts: List[Context], components: List[Entity]) extends Product with Serializable

  3. trait Component extends ParallelPluginComponent

    Definition Classes
    CompilerPluginSindiPlugin
  4. case class ComponentWithContext (tree: ClassDef, context: String, dependencies: List[Dependency]) extends Entity with Product with Serializable

  5. case class Context (tree: ClassDef, modules: List[Module], bindings: List[Binding], dependencies: List[Dependency]) extends Entity with Product with Serializable

  6. case class Dependency (tree: Tree, signature: Signature, dependency: Option[Dependency], name: String, qualifiers: List[Type], wired: Boolean) extends Product with Serializable

  7. trait Entity extends AnyRef

    Attributes
    sealed
  8. case class Module (symbol: Symbol, tpe: Type, name: String, inferred: Option[Dependency]) extends Product with Serializable

  9. class RegistryReader extends AnyRef

  10. class RegistryWriter extends AnyRef

  11. case class Signature (symbol: Symbol, tpe: Option[Type]) extends Product with Serializable

Value Members

  1. def != (arg0: AnyRef): Boolean

    Attributes
    final
    Definition Classes
    AnyRef
  2. def != (arg0: Any): Boolean

    Attributes
    final
    Definition Classes
    Any
  3. def ## (): Int

    Attributes
    final
    Definition Classes
    AnyRef → Any
  4. def == (arg0: AnyRef): Boolean

    Attributes
    final
    Definition Classes
    AnyRef
  5. def == (arg0: Any): Boolean

    Attributes
    final
    Definition Classes
    Any
  6. object Analyze extends ParallelPluginComponent with Component

  7. object Transform extends ParallelPluginComponent with Component

  8. object Validate extends ParallelPluginComponent with Component

  9. def asInstanceOf [T0] : T0

    Attributes
    final
    Definition Classes
    Any
  10. def check (unit: CompilationUnit, registry: RegistryReader): Unit

    Definition Classes
    Validator
  11. def clone (): AnyRef

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  12. def collect [T <: AnyRef] (lookup: List[Tree], accumulator: List[T])(filter: (Tree) ⇒ Option[T]): List[T]

    Collect all matchings trees *

    Collect all matchings trees *

    Attributes
    protected final
    Definition Classes
    SindiPlugin
  13. def collectList [T <: AnyRef] (lookup: List[Tree], accumulator: List[T])(filter: (Tree) ⇒ List[T]): List[T]

    Attributes
    protected final
    Definition Classes
    SindiPlugin
    Annotations
    @tailrec()
  14. def components (unit: CompilationUnit): List[Product with Serializable with Entity]

    Attributes
    protected
    Definition Classes
    Analyzer
  15. val components : List[PluginComponent]

    Definition Classes
    CompilerPlugin → Plugin
  16. def contexts (unit: CompilationUnit): List[Context]

    Attributes
    protected
    Definition Classes
    Analyzer
  17. def createComponent (tree: ClassDef): Product with Serializable with Entity

    Attributes
    protected
    Definition Classes
    ComponentAnalyzis
  18. def createContext (tree: ClassDef): Context

    Attributes
    protected
    Definition Classes
    ContextAnalyzis
  19. val description : String

    Definition Classes
    CompilerPlugin → Plugin
  20. def eq (arg0: AnyRef): Boolean

    Attributes
    final
    Definition Classes
    AnyRef
  21. def equals (arg0: Any): Boolean

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

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  23. def find [T <: AnyRef] (lookup: List[Tree])(filter: (Tree) ⇒ Option[T]): Option[T]

    Find first matching tree using Depth First Search *

    Find first matching tree using Depth First Search *

    Attributes
    protected
    Definition Classes
    SindiPlugin
  24. def getClass (): java.lang.Class[_]

    Attributes
    final
    Definition Classes
    AnyRef → Any
  25. def getDependencies (root: Tree): List[Dependency]

    Attributes
    protected
    Definition Classes
    Analyzis
  26. def getModules (tree: ClassDef): List[Module]

    Attributes
    protected
    Definition Classes
    ContextAnalyzis
  27. def getTypeDependencies (tpe: Type): List[String]

    Attributes
    protected
    Definition Classes
    Analyzis
  28. def getTypeParam (typeName: String): String

    Attributes
    protected
    Definition Classes
    Analyzis
  29. val global : Global

    Definition Classes
    CompilerPlugin → TreeDSL → TypingTransformers → SindiPlugin → Plugin
  30. def hashCode (): Int

    Definition Classes
    AnyRef → Any
  31. def isInstanceOf [T0] : Boolean

    Attributes
    final
    Definition Classes
    Any
  32. val name : String

    Definition Classes
    CompilerPlugin → Plugin
  33. def ne (arg0: AnyRef): Boolean

    Attributes
    final
    Definition Classes
    AnyRef
  34. def notify (): Unit

    Attributes
    final
    Definition Classes
    AnyRef
  35. def notifyAll (): Unit

    Attributes
    final
    Definition Classes
    AnyRef
  36. var options : Options

    Definition Classes
    CompilerPluginSindiPlugin
  37. val optionsHelp : Some[String]

    Definition Classes
    CompilerPlugin → Plugin
  38. def processOptions (o: List[String], error: (String) ⇒ Unit): Unit

    Definition Classes
    CompilerPlugin → Plugin
  39. def read (unit: CompilationUnit, registry: RegistryWriter): Unit

    Definition Classes
    Analyzer
  40. val symComponent : Symbol

    Attributes
    protected final
    Definition Classes
    SindiPlugin
  41. val symComponentContext : Symbol

    Attributes
    protected final
    Definition Classes
    SindiPlugin
  42. val symComponentWith : Symbol

    Attributes
    protected final
    Definition Classes
    SindiPlugin
  43. val symComposable : Symbol

    Attributes
    protected final
    Definition Classes
    SindiPlugin
  44. val symContext : Symbol

    Attributes
    protected final
    Definition Classes
    SindiPlugin
  45. val symInjector : Symbol

    Attributes
    protected final
    Definition Classes
    SindiPlugin
  46. val symManifest : Symbol

    Attributes
    protected final
    Definition Classes
    SindiPlugin
  47. val symModule : Symbol

    Attributes
    protected final
    Definition Classes
    SindiPlugin
  48. val symModuleManifest : Symbol

    Attributes
    protected final
    Definition Classes
    SindiPlugin
  49. val symModuleT : Symbol

    Attributes
    protected final
    Definition Classes
    SindiPlugin
  50. val symNone : Symbol

    Attributes
    protected final
    Definition Classes
    SindiPlugin
  51. val symQualifiers : Symbol

    Attributes
    protected final
    Definition Classes
    SindiPlugin
  52. val symWirableTemplate : Symbol

    Attributes
    protected final
    Definition Classes
    SindiPlugin
  53. def synchronized [T0] (arg0: ⇒ T0): T0

    Attributes
    final
    Definition Classes
    AnyRef
  54. def toString (): String

    Definition Classes
    AnyRef → Any
  55. def transform (unit: CompilationUnit): Unit

    Definition Classes
    Transformer
  56. def traversal (trees: List[Tree])(implicit b: (Tree) ⇒ Boolean): Stream[Tree]

    Definition Classes
    SindiPlugin
  57. def traverse (trees: Tree*): Stream[Tree]

    Definition Classes
    SindiPlugin
  58. def wait (): Unit

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

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

    Attributes
    final
    Definition Classes
    AnyRef
    Annotations
    @throws()

Inherited from Validator

Inherited from Transformer

Inherited from TreeDSL

Inherited from TypingTransformers

Inherited from Analyzer

Inherited from ComponentAnalyzis

Inherited from ContextAnalyzis

Inherited from Analyzis

Inherited from SindiPlugin

Inherited from Plugin

Inherited from AnyRef

Inherited from Any