c

raw.compiler.rql2

CommonSemanticAnalyzer

abstract class CommonSemanticAnalyzer extends base.SemanticAnalyzer[SourceNode, SourceProgram, Exp]

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

Instance Constructors

  1. new CommonSemanticAnalyzer(tree: SourceTree)(implicit programContext: ProgramContext)

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 rootType: Option[Type]
    Definition Classes
    SemanticAnalyzer

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: (Exp) ⇒ Type
    Definition Classes
    SemanticAnalyzer
  5. def actualTypeDef(n: Exp): Type
    Attributes
    protected
    Definition Classes
    CommonSemanticAnalyzerSemanticAnalyzer
  6. val anything: AnythingType
    Definition Classes
    ExpectedTypes
  7. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  8. def attr[T <: AnyRef, U](f: (T) ⇒ U): CachedAttribute[T, U]
    Definition Classes
    Attribution
  9. def circular[T <: AnyRef, U](init: U)(f: (T) ⇒ U): CircularAttribute[T, U]
    Definition Classes
    Attribution
  10. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native() @IntrinsicCandidate()
  11. 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
  12. def constant[T, U](u: ⇒ U): Attribute[T, U]
    Definition Classes
    AttributionCommon
  13. final def currentScope(node: SourceNode): Set[Entity]

    Return the set of entities in the current scope, going into the node.

  14. final lazy val decorators: Decorators[SourceNode, SourceProgram]

    Decorators on the tree.

    Decorators on the tree.

    Attributes
    protected
    Definition Classes
    SemanticAnalyzer
  15. def defentity(i: IdnDef): Entity
    Attributes
    protected
  16. lazy val defenv: Environment
    Attributes
    protected
    Definition Classes
    CommonSemanticAnalyzerSemanticAnalyzer
  17. def define(env: Environment, i: String, e: Entity): Environment
    Definition Classes
    Environments
  18. def defineIfNew(env: Environment, i: String, e: ⇒ Entity): Environment
    Definition Classes
    SemanticAnalyzer
  19. def defineIfNew(env: Environment, i: String, eold: ⇒ Entity, enew: ⇒ Entity): Environment
    Definition Classes
    Environments
  20. 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
    Definition Classes
    SemanticAnalyzer
  21. final lazy val description: TreeDescription
    Definition Classes
    SemanticAnalyzer
  22. def descriptionDef: TreeDescription
    Attributes
    protected
    Definition Classes
    CommonSemanticAnalyzerSemanticAnalyzer
  23. def dynAttr[T <: AnyRef, U](f: (T) ⇒ U): CachedDynamicAttribute[T, U]
    Definition Classes
    Attribution
  24. def enter(env: Environment): Environment
    Definition Classes
    Environments
  25. final lazy val entity: (BaseIdnNode) ⇒ Entity
    Definition Classes
    SemanticAnalyzer
  26. def entityDef(n: BaseIdnNode): Entity

    Default implementation of the entity of an identifier.

    Default implementation of the entity of an identifier.

    Attributes
    protected
    Definition Classes
    CommonSemanticAnalyzerSemanticAnalyzer
  27. lazy val entityType: (Entity) ⇒ Type
    Definition Classes
    SemanticAnalyzer
  28. def entityTypeDef(e: Entity): Type
    Attributes
    protected
    Definition Classes
    CommonSemanticAnalyzerSemanticAnalyzer
  29. final lazy val env: Chain[Environment]

    Chain for looking up identifiers.

    Chain for looking up identifiers.

    Attributes
    protected
    Definition Classes
    SemanticAnalyzer
  30. def envInOfNode(n: SourceNode): Environment
    Attributes
    protected
  31. def envin(in: (SourceNode) ⇒ Environment): ==>[SourceNode, Environment]
    Attributes
    protected
    Definition Classes
    CommonSemanticAnalyzerSemanticAnalyzer
  32. def envout(out: (SourceNode) ⇒ Environment): ==>[SourceNode, Environment]
    Attributes
    protected
    Definition Classes
    CommonSemanticAnalyzerSemanticAnalyzer
  33. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  34. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  35. def errorDef: ==>[SourceNode, Seq[BaseError]]
    Attributes
    protected
    Definition Classes
    CommonSemanticAnalyzerSemanticAnalyzer
  36. lazy val errors: Seq[BaseError]
    Definition Classes
    SemanticAnalyzer
  37. final lazy val expectedType: (Exp) ⇒ ExpectedType
    Attributes
    protected
    Definition Classes
    SemanticAnalyzer
  38. def expectedTypeDef(n: Exp): ExpectedType
    Attributes
    protected
    Definition Classes
    CommonSemanticAnalyzerSemanticAnalyzer
  39. def format(env: Environment): String
    Definition Classes
    Environments
  40. final def freeVars(node: SourceNode): Set[Entity]

    Return the set of "free entities" inside the node.

  41. final def freeVarsWithIdentifier(node: SourceNode, useNodes: Seq[SourceNode]): Map[String, Entity]

    Version of freeVars that also returns the identifier.

  42. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  43. def getEntityGoingIn(n: SourceNode, idn: String): Entity
    Definition Classes
    SemanticAnalyzer
  44. def getEntityGoingOut(n: SourceNode, idn: String): Entity
    Definition Classes
    SemanticAnalyzer
  45. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  46. final def identifiersInScope(node: SourceNode): Set[String]

    Return the set of all identifiers in scope, going into the node.

  47. def idnType(idn: CommonIdnNode): Type
  48. def ifSet(flag: Boolean, s: Strategy): Strategy
    Definition Classes
    ExtraRewriters
  49. val ignore: AnythingType
    Definition Classes
    ExpectedTypes
  50. implicit def internalToDynamicAttribute[T <: AnyRef, U](f: (T) ⇒ U): CachedDynamicAttribute[T, U]
    Definition Classes
    Attribution
  51. def isCompatible(actual: Type, expected: Type): Boolean
    Attributes
    protected
    Definition Classes
    CommonSemanticAnalyzerSemanticAnalyzer
  52. def isDefinedInEnv(env: Environment, i: String): Boolean
    Definition Classes
    Environments
  53. def isDefinedInInner(env: Environment, i: String): Boolean
    Definition Classes
    Environments
  54. def isDefinedInOuter(env: Environment, i: String): Boolean
    Definition Classes
    Environments
  55. def isDefinedInScope(scope: Scope, i: String): Boolean
    Definition Classes
    Environments
  56. def isDefinedInScope(env: Environment, i: String): Boolean
    Definition Classes
    Environments
  57. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  58. def leave(env: Environment): Environment
    Definition Classes
    Environments
  59. val logger: Logger
    Attributes
    protected
    Definition Classes
    StrictLogging
  60. def lookup(env: Environment, i: String, e: ⇒ Entity, local: Boolean): Entity
    Definition Classes
    Environments
  61. def lookupOuter(env: Environment, i: String, e: ⇒ Entity): Entity

    Lookup in outer scope.

    Lookup in outer scope.

    Attributes
    protected
    Definition Classes
    SemanticAnalyzer
  62. val nameCounter: Counter
    Definition Classes
    Environments
  63. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  64. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  65. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  66. def paramAttr[V, T <: AnyRef, U](f: (V) ⇒ (T) ⇒ U): CachedParamAttribute[V, T, U]
    Definition Classes
    Attribution
  67. implicit val programContext: ProgramContext
    Attributes
    protected
  68. def rootenv(bindings: (String, Entity)*): Environment
    Definition Classes
    Environments
  69. def safeAttr[T <: AnyRef, U](s: U)(f: (T) ⇒ U): SafeCachedAttribute[T, U]
    Definition Classes
    Attribution
  70. final def scope(node: SourceNode): Set[Entity]

    Return the set of all entities in scope, going into the node.

  71. final def scopeInWithIdentifier(node: SourceNode): Map[String, Entity]

    Return the set of all entities in scope, going into the node along with their identifier visible string identifier.

  72. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  73. final def tipe(e: Exp): Type
    Definition Classes
    SemanticAnalyzer
  74. def toString(): String
    Definition Classes
    AnyRef → Any
  75. implicit def typeToExpectedType(t: Type): ExpectedType
    Definition Classes
    SemanticAnalyzer
  76. final def uses(node: SourceNode): Set[Entity]

    Return the set of entities used inside by the node.

  77. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  78. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  79. 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