kiama.example.oberon0.compiler

object TypeAnalysis

[source: kiama/example/oberon0/compiler/TypeAnalysis.scala]

object TypeAnalysis
extends AnyRef
Oberon0 type analysis.
Value Summary
val byteSize : scala.PartialFunction[Attributable, Int]
Attribute 'byteSize': Memory size associated with types and declarations
val level : scala.PartialFunction[Attributable, Int]
Nesting depth of a declaration
val objType : scala.PartialFunction[Attributable, Type]
The Type object associated with a given node. Will be InvalidType if the node cannot be typed.
val procArgErrors : scala.PartialFunction[ProcedureCall, Unit]
Verify that number and type of formal params equals number and type of actual params. Report errors if violations are detected.
Method Summary
def checkParams (fps : scala.List[Declaration], aps : scala.List[Exp]) : Unit
Check individual procedure call parameters for type compatibility. Report errors if violations are detected.
Methods inherited from AnyRef
getClass, hashCode, equals, clone, toString, notify, notifyAll, wait, wait, wait, finalize, ==, !=, eq, ne, synchronized
Methods inherited from Any
==, !=, isInstanceOf, asInstanceOf
Value Details
val objType : scala.PartialFunction[Attributable, Type]
The Type object associated with a given node. Will be InvalidType if the node cannot be typed.

val procArgErrors : scala.PartialFunction[ProcedureCall, Unit]
Verify that number and type of formal params equals number and type of actual params. Report errors if violations are detected.

val byteSize : scala.PartialFunction[Attributable, Int]
Attribute 'byteSize': Memory size associated with types and declarations

val level : scala.PartialFunction[Attributable, Int]
Nesting depth of a declaration

Method Details
def checkParams(fps : scala.List[Declaration], aps : scala.List[Exp]) : Unit
Check individual procedure call parameters for type compatibility. Report errors if violations are detected.