Packages

c

tip.analysis

DeclarationAnalysis

class DeclarationAnalysis extends DepthFirstAstVisitor[Map[String, ADeclaration]] with Analysis[DeclarationData]

Declaration analysis, binds identifiers to their declarations.

See also

tip.ast.AstNodeData

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. DeclarationAnalysis
  2. Analysis
  3. DepthFirstAstVisitor
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new DeclarationAnalysis(prog: AProgram)

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. def analyze(): DeclarationData

    Performs the analysis and returns the result.

    Performs the analysis and returns the result.

    Definition Classes
    DeclarationAnalysisAnalysis
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native() @IntrinsicCandidate()
  7. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  8. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  9. def extendEnv(env: Map[String, ADeclaration], pair: (String, ADeclaration)): Map[String, ADeclaration]

    Extend the environment env with the binding pair, checking that no re-definition occurs.

    Extend the environment env with the binding pair, checking that no re-definition occurs.

    env

    the environment to extend

    pair

    the binding to add

    returns

    the extended environment if no conflict occurs, throws a DeclarationError otherwise

  10. def extendEnv(env: Map[String, ADeclaration], ext: Map[String, ADeclaration]): Map[String, ADeclaration]

    Extend the environment env with the bindings in ext, checking that no re-definitions occur.

    Extend the environment env with the bindings in ext, checking that no re-definitions occur.

    env

    the environment to extend

    ext

    the bindings to add

    returns

    the extended environment if no conflict occurs, throws a DeclarationError otherwise

  11. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  12. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  13. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  14. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  15. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  16. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  17. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  18. def toString(): String
    Definition Classes
    AnyRef → Any
  19. def visit(node: AstNode, env: Map[String, ADeclaration]): Unit

    Recursively visits the nodes of the AST.

    Recursively visits the nodes of the AST. An environment env is provided as argument, mapping each identifier name to the node that declares it. Whenever an identifier is visited, declResult is extended accordingly.

    node

    the node to visit

    env

    the environment associating with each name its declaration in the current scope

    Definition Classes
    DeclarationAnalysisDepthFirstAstVisitor
  20. def visitChildren(node: AstNode, arg: Map[String, ADeclaration]): Unit

    Recursively perform the visit to the sub-node of the passed node, passing the provided argument.

    Recursively perform the visit to the sub-node of the passed node, passing the provided argument.

    node

    the node whose children need to be visited

    arg

    the argument to be passed to all sub-nodes

    Definition Classes
    DepthFirstAstVisitor
  21. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  22. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  23. 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 Analysis[DeclarationData]

Inherited from DepthFirstAstVisitor[Map[String, ADeclaration]]

Inherited from AnyRef

Inherited from Any

Ungrouped