c

raw.compiler.base

SemanticAnalyzer

abstract class SemanticAnalyzer[N <: BaseNode, P <: N, E <: N] extends Attribution with Environments[Entity] with ExpectedTypes with ExtraRewriters with StrictLogging

Linear Supertypes
ExtraRewriters, ExpectedTypes, Environments[Entity], Attribution, StrictLogging, Attribution, AttributionCommon, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. SemanticAnalyzer
  2. ExtraRewriters
  3. ExpectedTypes
  4. Environments
  5. Attribution
  6. StrictLogging
  7. Attribution
  8. AttributionCommon
  9. AnyRef
  10. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new SemanticAnalyzer(tree: org.bitbucket.inkytonik.kiama.relation.Tree[N, P])(implicit arg0: Manifest[N], arg1: Manifest[P], arg2: Manifest[E])

Type Members

  1. class CachedAttribute[T <: AnyRef, U] extends Attribute[T, U]
    Definition Classes
    Attribution
  2. class CachedDynamicAttribute[T <: AnyRef, U] extends CachedAttribute[T, U]
    Definition Classes
    Attribution
  3. class CachedParamAttribute[A, T <: AnyRef, U] extends (A) ⇒ Attribute[T, U]
    Definition Classes
    Attribution
  4. class CircularAttribute[T <: AnyRef, U] extends Attribute[T, U]
    Definition Classes
    Attribution
  5. class ConstantAttribute[T, U] extends Attribute[T, U]
    Definition Classes
    AttributionCommon
  6. type Environment = List[Scope]
    Definition Classes
    Environments
  7. trait Named extends AnyRef
    Definition Classes
    Environments
  8. type Scope = Map[String, Entity]
    Definition Classes
    Environments
  9. class SafeCachedAttribute[T <: AnyRef, U] extends Attribute[T, U]

    Attribute that supports cycles: instead of throwing exception, caches and returns cycle.

    Attribute that supports cycles: instead of throwing exception, caches and returns cycle.

    Definition Classes
    Attribution

Abstract Value Members

  1. abstract def actualTypeDef(n: E): Type
    Attributes
    protected
  2. abstract def descriptionDef: TreeDescription
    Attributes
    protected
  3. abstract def entityDef(n: BaseIdnNode): Entity

    Default implementation of the entity of an identifier.

    Default implementation of the entity of an identifier.

    Attributes
    protected
  4. abstract def entityTypeDef(e: Entity): Type
    Attributes
    protected
  5. abstract def rootType: Option[Type]

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. lazy val actualType: (E) ⇒ Type
  5. val anything: AnythingType
    Definition Classes
    ExpectedTypes
  6. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  7. def attr[T <: AnyRef, U](f: (T) ⇒ U): CachedAttribute[T, U]
    Definition Classes
    Attribution
  8. def circular[T <: AnyRef, U](init: U)(f: (T) ⇒ U): CircularAttribute[T, U]
    Definition Classes
    Attribution
  9. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native() @IntrinsicCandidate()
  10. def collectNodes[N, CC[X] <: Iterable[X], U](f: ==>[N, U])(implicit arg0: Manifest[N], cbf: Factory[U, CC[U]]): (Any) ⇒ CC[U]

    Only collect nodes of base type N.

    Only collect nodes of base type N. Required to ensure safe collection within the tree (since trees have a base type). (And for general-purposed use, can always set N as Any.)

    Definition Classes
    ExtraRewriters
  11. def constant[T, U](u: ⇒ U): Attribute[T, U]
    Definition Classes
    AttributionCommon
  12. final lazy val decorators: Decorators[N, P]

    Decorators on the tree.

    Decorators on the tree.

    Attributes
    protected
  13. lazy val defenv: Environment
    Attributes
    protected
  14. def define(env: Environment, i: String, e: Entity): Environment
    Definition Classes
    Environments
  15. def defineIfNew(env: Environment, i: String, e: ⇒ Entity): Environment
  16. def defineIfNew(env: Environment, i: String, eold: ⇒ Entity, enew: ⇒ Entity): Environment
    Definition Classes
    Environments
  17. def defineIfUndefined(env: Environment, i: String, e: Entity): Environment

    Define only if i is not yet defined.

    Define only if i is not yet defined.

    Attributes
    protected
  18. final lazy val description: TreeDescription
  19. def dynAttr[T <: AnyRef, U](f: (T) ⇒ U): CachedDynamicAttribute[T, U]
    Definition Classes
    Attribution
  20. def enter(env: Environment): Environment
    Definition Classes
    Environments
  21. final lazy val entity: (BaseIdnNode) ⇒ Entity
  22. lazy val entityType: (Entity) ⇒ Type
  23. final lazy val env: Chain[Environment]

    Chain for looking up identifiers.

    Chain for looking up identifiers.

    Attributes
    protected
  24. def envin(in: (N) ⇒ Environment): ==>[N, Environment]
    Attributes
    protected
  25. def envout(out: (N) ⇒ Environment): ==>[N, Environment]
    Attributes
    protected
  26. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  27. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  28. def errorDef: ==>[N, Seq[BaseError]]
    Attributes
    protected
  29. lazy val errors: Seq[BaseError]
  30. final lazy val expectedType: (E) ⇒ ExpectedType
    Attributes
    protected
  31. def expectedTypeDef(e: E): ExpectedType
    Attributes
    protected
  32. def format(env: Environment): String
    Definition Classes
    Environments
  33. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  34. def getEntityGoingIn(n: N, idn: String): Entity
  35. def getEntityGoingOut(n: N, idn: String): Entity
  36. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  37. def ifSet(flag: Boolean, s: Strategy): Strategy
    Definition Classes
    ExtraRewriters
  38. val ignore: AnythingType
    Definition Classes
    ExpectedTypes
  39. implicit def internalToDynamicAttribute[T <: AnyRef, U](f: (T) ⇒ U): CachedDynamicAttribute[T, U]
    Definition Classes
    Attribution
  40. def isCompatible(actual: Type, expected: Type): Boolean
    Attributes
    protected
  41. def isDefinedInEnv(env: Environment, i: String): Boolean
    Definition Classes
    Environments
  42. def isDefinedInInner(env: Environment, i: String): Boolean
    Definition Classes
    Environments
  43. def isDefinedInOuter(env: Environment, i: String): Boolean
    Definition Classes
    Environments
  44. def isDefinedInScope(scope: Scope, i: String): Boolean
    Definition Classes
    Environments
  45. def isDefinedInScope(env: Environment, i: String): Boolean
    Definition Classes
    Environments
  46. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  47. def leave(env: Environment): Environment
    Definition Classes
    Environments
  48. val logger: Logger
    Attributes
    protected
    Definition Classes
    StrictLogging
  49. def lookup(env: Environment, i: String, e: ⇒ Entity, local: Boolean): Entity
    Definition Classes
    Environments
  50. def lookupOuter(env: Environment, i: String, e: ⇒ Entity): Entity

    Lookup in outer scope.

    Lookup in outer scope.

    Attributes
    protected
  51. val nameCounter: Counter
    Definition Classes
    Environments
  52. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  53. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  54. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  55. def paramAttr[V, T <: AnyRef, U](f: (V) ⇒ (T) ⇒ U): CachedParamAttribute[V, T, U]
    Definition Classes
    Attribution
  56. def rootenv(bindings: (String, Entity)*): Environment
    Definition Classes
    Environments
  57. def safeAttr[T <: AnyRef, U](s: U)(f: (T) ⇒ U): SafeCachedAttribute[T, U]
    Definition Classes
    Attribution
  58. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  59. final def tipe(e: E): Type
  60. def toString(): String
    Definition Classes
    AnyRef → Any
  61. implicit def typeToExpectedType(t: Type): ExpectedType
  62. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  63. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  64. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] ) @Deprecated
    Deprecated

Inherited from ExtraRewriters

Inherited from ExpectedTypes

Inherited from Environments[Entity]

Inherited from Attribution

Inherited from StrictLogging

Inherited from Attribution

Inherited from AttributionCommon

Inherited from AnyRef

Inherited from Any

Ungrouped