edu.mit.ai.psg.jeva.examples
Class TraceMethods.FreeSimpleNamesCollector

java.lang.Object
  |
  +--edu.mit.ai.psg.jeva.JevaVisitorBase
        |
        +--edu.mit.ai.psg.jeva.examples.TraceMethods.FreeSimpleNamesCollector
Enclosing class:
TraceMethods

public static class TraceMethods.FreeSimpleNamesCollector
extends JevaVisitorBase

Collect free simple names in node by calling method collect(IJevaNode)


Inner Class Summary
static class TraceMethods.FreeSimpleNamesCollector.NameEnv
          List of names defined locally within source expr.
 
Method Summary
static Collection collect(IJevaNode node)
          Entry point: collects simple free names in node and returns the sorted set.
 Object visit(IClassBodyDeclaration node, Object data)
          Doesn't explore nested declarations
 Object visit(IDeclarationNode node, Object data)
          Doesn't explore nested declarations
 Object visit(IJevaNode node, Object data)
          default: explore all children
 Object visit(JNEMethodInvocationExpression node, Object data)
          Skip class name node in static method calls
 Object visit(JNName node, Object data)
          Collects only simple names not in data nameEnv
 Object visit(JNSBlock node, Object data)
          Doesn't pass name definitions out of blocks
 Object visit(JNSVariableDeclarator node, Object data)
          Adds locally defined name to data nameEnv, and collects initializer
 Object visit(JNType node, Object data)
          Doesn't explore type names
 
Methods inherited from class edu.mit.ai.psg.jeva.JevaVisitorBase
visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

collect

public static Collection collect(IJevaNode node)
Entry point: collects simple free names in node and returns the sorted set.

visit

public Object visit(IJevaNode node,
                    Object data)
default: explore all children
Overrides:
visit in class JevaVisitorBase

visit

public Object visit(IDeclarationNode node,
                    Object data)
Doesn't explore nested declarations
Overrides:
visit in class JevaVisitorBase

visit

public Object visit(IClassBodyDeclaration node,
                    Object data)
Doesn't explore nested declarations
Overrides:
visit in class JevaVisitorBase

visit

public Object visit(JNType node,
                    Object data)
Doesn't explore type names
Overrides:
visit in class JevaVisitorBase

visit

public Object visit(JNName node,
                    Object data)
Collects only simple names not in data nameEnv
Overrides:
visit in class JevaVisitorBase

visit

public Object visit(JNEMethodInvocationExpression node,
                    Object data)
Skip class name node in static method calls
Overrides:
visit in class JevaVisitorBase

visit

public Object visit(JNSVariableDeclarator node,
                    Object data)
Adds locally defined name to data nameEnv, and collects initializer
Overrides:
visit in class JevaVisitorBase

visit

public Object visit(JNSBlock node,
                    Object data)
Doesn't pass name definitions out of blocks
Overrides:
visit in class JevaVisitorBase

Copyright (c) 1996-1999
Massachusetts Institute of Technology

Feedback: jeva-feedback@ai.mit.edu