abstract class SemanticAnalyzer[N <: BaseNode, P <: N, E <: N] extends Attribution with Environments[Entity] with ExpectedTypes with ExtraRewriters with StrictLogging
Linear Supertypes
Known Subclasses
Ordering
- Alphabetic
- By Inheritance
Inherited
- SemanticAnalyzer
- ExtraRewriters
- ExpectedTypes
- Environments
- Attribution
- StrictLogging
- Attribution
- AttributionCommon
- AnyRef
- Any
- Hide All
- Show All
Visibility
- Public
- All
Instance Constructors
- new SemanticAnalyzer(tree: org.bitbucket.inkytonik.kiama.relation.Tree[N, P])(implicit arg0: Manifest[N], arg1: Manifest[P], arg2: Manifest[E])
Type Members
-
class
CachedAttribute[T <: AnyRef, U] extends Attribute[T, U]
- Definition Classes
- Attribution
-
class
CachedDynamicAttribute[T <: AnyRef, U] extends CachedAttribute[T, U]
- Definition Classes
- Attribution
-
class
CachedParamAttribute[A, T <: AnyRef, U] extends (A) ⇒ Attribute[T, U]
- Definition Classes
- Attribution
-
class
CircularAttribute[T <: AnyRef, U] extends Attribute[T, U]
- Definition Classes
- Attribution
-
class
ConstantAttribute[T, U] extends Attribute[T, U]
- Definition Classes
- AttributionCommon
-
type
Environment = List[Scope]
- Definition Classes
- Environments
-
trait
Named extends AnyRef
- Definition Classes
- Environments
-
type
Scope = Map[String, Entity]
- Definition Classes
- Environments
-
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
-
abstract
def
actualTypeDef(n: E): Type
- Attributes
- protected
-
abstract
def
descriptionDef: TreeDescription
- Attributes
- protected
-
abstract
def
entityDef(n: BaseIdnNode): Entity
Default implementation of the entity of an identifier.
Default implementation of the entity of an identifier.
- Attributes
- protected
-
abstract
def
entityTypeDef(e: Entity): Type
- Attributes
- protected
- abstract def rootType: Option[Type]
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- lazy val actualType: (E) ⇒ Type
-
val
anything: AnythingType
- Definition Classes
- ExpectedTypes
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
attr[T <: AnyRef, U](f: (T) ⇒ U): CachedAttribute[T, U]
- Definition Classes
- Attribution
-
def
circular[T <: AnyRef, U](init: U)(f: (T) ⇒ U): CircularAttribute[T, U]
- Definition Classes
- Attribution
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native() @IntrinsicCandidate()
-
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
-
def
constant[T, U](u: ⇒ U): Attribute[T, U]
- Definition Classes
- AttributionCommon
-
final
lazy val
decorators: Decorators[N, P]
Decorators on the tree.
Decorators on the tree.
- Attributes
- protected
-
lazy val
defenv: Environment
- Attributes
- protected
-
def
define(env: Environment, i: String, e: Entity): Environment
- Definition Classes
- Environments
- def defineIfNew(env: Environment, i: String, e: ⇒ Entity): Environment
-
def
defineIfNew(env: Environment, i: String, eold: ⇒ Entity, enew: ⇒ Entity): Environment
- Definition Classes
- Environments
-
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
- final lazy val description: TreeDescription
-
def
dynAttr[T <: AnyRef, U](f: (T) ⇒ U): CachedDynamicAttribute[T, U]
- Definition Classes
- Attribution
-
def
enter(env: Environment): Environment
- Definition Classes
- Environments
- final lazy val entity: (BaseIdnNode) ⇒ Entity
- lazy val entityType: (Entity) ⇒ Type
-
final
lazy val
env: Chain[Environment]
Chain for looking up identifiers.
Chain for looking up identifiers.
- Attributes
- protected
-
def
envin(in: (N) ⇒ Environment): ==>[N, Environment]
- Attributes
- protected
-
def
envout(out: (N) ⇒ Environment): ==>[N, Environment]
- Attributes
- protected
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
errorDef: ==>[N, Seq[BaseError]]
- Attributes
- protected
- lazy val errors: Seq[BaseError]
-
final
lazy val
expectedType: (E) ⇒ ExpectedType
- Attributes
- protected
-
def
expectedTypeDef(e: E): ExpectedType
- Attributes
- protected
-
def
format(env: Environment): String
- Definition Classes
- Environments
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- def getEntityGoingIn(n: N, idn: String): Entity
- def getEntityGoingOut(n: N, idn: String): Entity
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
-
def
ifSet(flag: Boolean, s: Strategy): Strategy
- Definition Classes
- ExtraRewriters
-
val
ignore: AnythingType
- Definition Classes
- ExpectedTypes
-
implicit
def
internalToDynamicAttribute[T <: AnyRef, U](f: (T) ⇒ U): CachedDynamicAttribute[T, U]
- Definition Classes
- Attribution
-
def
isCompatible(actual: Type, expected: Type): Boolean
- Attributes
- protected
-
def
isDefinedInEnv(env: Environment, i: String): Boolean
- Definition Classes
- Environments
-
def
isDefinedInInner(env: Environment, i: String): Boolean
- Definition Classes
- Environments
-
def
isDefinedInOuter(env: Environment, i: String): Boolean
- Definition Classes
- Environments
-
def
isDefinedInScope(scope: Scope, i: String): Boolean
- Definition Classes
- Environments
-
def
isDefinedInScope(env: Environment, i: String): Boolean
- Definition Classes
- Environments
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
leave(env: Environment): Environment
- Definition Classes
- Environments
-
val
logger: Logger
- Attributes
- protected
- Definition Classes
- StrictLogging
-
def
lookup(env: Environment, i: String, e: ⇒ Entity, local: Boolean): Entity
- Definition Classes
- Environments
-
def
lookupOuter(env: Environment, i: String, e: ⇒ Entity): Entity
Lookup in outer scope.
Lookup in outer scope.
- Attributes
- protected
-
val
nameCounter: Counter
- Definition Classes
- Environments
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
-
def
paramAttr[V, T <: AnyRef, U](f: (V) ⇒ (T) ⇒ U): CachedParamAttribute[V, T, U]
- Definition Classes
- Attribution
-
def
rootenv(bindings: (String, Entity)*): Environment
- Definition Classes
- Environments
-
def
safeAttr[T <: AnyRef, U](s: U)(f: (T) ⇒ U): SafeCachedAttribute[T, U]
- Definition Classes
- Attribution
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
- final def tipe(e: E): Type
-
def
toString(): String
- Definition Classes
- AnyRef → Any
- implicit def typeToExpectedType(t: Type): ExpectedType
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
Deprecated Value Members
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] ) @Deprecated
- Deprecated