sota.lang.java.ast.util
Class JavaJumpManager

java.lang.Object
  extended by sota.lang.java.ast.util.JavaJumpManager

 class JavaJumpManager
extends java.lang.Object

Verwaltet die Sprungziele während des Parseprozesses.


Field Summary
private  java.util.HashMap<ASTFunctionNode,java.util.ArrayList<ASTLabelNode>> mapOfLabelNodes
           
static java.util.HashSet<ASTFunctionNode> setOfFunctionNodes
           
private  java.util.Stack<ASTFunctionNode> stackOfFunctions
           
private  java.util.Stack<ASTJumpNode> stackOfJumpNodes
           
private  java.util.Stack<ASTNode> stackOfNodes
           
private  java.util.Stack<IScopeNode> stackOfScopeNodes
           
private  java.util.Stack<ASTTryNode> stackOfTryNodes
           
private  java.util.HashMap<ASTJumpNode,ASTNode> tableOfBreaks
           
private  java.util.HashMap<ASTJumpNode,ASTNode> tableOfContinues
           
private  java.util.HashMap<ASTJumpNode,ASTNode> tableOfReturns
           
private  java.util.HashMap<ASTJumpNode,ASTNode> tableOfThrows
           
 
Constructor Summary
JavaJumpManager()
           
 
Method Summary
 void add(ASTNode n)
          Fügt relevanten Knoten hinzu.
 void addFunction(ASTFunctionNode fn)
          Fügt eine Funktion hinzu.
 void addScopeNode(IScopeNode n)
          Fügt neuen ScopeNode hinzu.
 ASTFunctionNode getCurrFunctionNode()
          Liefert aktuelle Funktion.
 ASTNode getIterationNode()
          Liefert ASTIterationNode vom Stack.
 ASTNode getIterationOrSwitchNode()
          Liefert Switch- oder IterationNode vom Stack.
 IScopeNode getScopeNode()
          Liefert aktuellen Scope.
 java.util.Stack<ASTTryNode> getStackOfTryNodes()
          Liefert den Stack mit Try-Nodes
 ASTSwitchNode getSwitchNode()
          Liefert aktuellen Switch.
 ASTTryNode getTryNode()
          Liefert den aktuellen Try-Node
 void linkNodes(ASTManager ast)
          Verlinkt alle Knoten des JumpManagers.
 ASTNode remove()
          Entfernt einen Knoten vom Stack.
 void removeFunction()
          Entfernt eine Funktion.
 IScopeNode removeScopeNode()
          Entfernt aktuellen Scope
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

mapOfLabelNodes

private java.util.HashMap<ASTFunctionNode,java.util.ArrayList<ASTLabelNode>> mapOfLabelNodes

setOfFunctionNodes

public static java.util.HashSet<ASTFunctionNode> setOfFunctionNodes

stackOfFunctions

private java.util.Stack<ASTFunctionNode> stackOfFunctions

stackOfJumpNodes

private java.util.Stack<ASTJumpNode> stackOfJumpNodes

stackOfNodes

private java.util.Stack<ASTNode> stackOfNodes

stackOfScopeNodes

private java.util.Stack<IScopeNode> stackOfScopeNodes

stackOfTryNodes

private java.util.Stack<ASTTryNode> stackOfTryNodes

tableOfBreaks

private java.util.HashMap<ASTJumpNode,ASTNode> tableOfBreaks

tableOfContinues

private java.util.HashMap<ASTJumpNode,ASTNode> tableOfContinues

tableOfReturns

private java.util.HashMap<ASTJumpNode,ASTNode> tableOfReturns

tableOfThrows

private java.util.HashMap<ASTJumpNode,ASTNode> tableOfThrows
Constructor Detail

JavaJumpManager

JavaJumpManager()
Method Detail

add

public void add(ASTNode n)
Fügt relevanten Knoten hinzu. (Iteration, Switch, Try, If, Do, Jump, Label)

Parameters:
n - der ASTNode

addFunction

public void addFunction(ASTFunctionNode fn)
Fügt eine Funktion hinzu.

Parameters:
fn - der ASTFunctionNode

addScopeNode

public void addScopeNode(IScopeNode n)
Fügt neuen ScopeNode hinzu.

Parameters:
n - der IScopeNode

getCurrFunctionNode

public ASTFunctionNode getCurrFunctionNode()
Liefert aktuelle Funktion.

Returns:
der ASTFunctionNode

getIterationNode

public ASTNode getIterationNode()
Liefert ASTIterationNode vom Stack.

Returns:
der ASTIterationNode

getIterationOrSwitchNode

public ASTNode getIterationOrSwitchNode()
Liefert Switch- oder IterationNode vom Stack.

Returns:
der ASTSwitchNode oder ASTIterationNode

getScopeNode

public IScopeNode getScopeNode()
Liefert aktuellen Scope.

Returns:
der IScopeNode

getStackOfTryNodes

public java.util.Stack<ASTTryNode> getStackOfTryNodes()
Liefert den Stack mit Try-Nodes

Returns:
der Stack

getSwitchNode

public ASTSwitchNode getSwitchNode()
Liefert aktuellen Switch.

Returns:
der ASTSwitchNode

getTryNode

public ASTTryNode getTryNode()
Liefert den aktuellen Try-Node

Returns:
der ASTTrynode

linkNodes

public void linkNodes(ASTManager ast)
Verlinkt alle Knoten des JumpManagers.

Parameters:
ast - der ASTManager

remove

public ASTNode remove()
Entfernt einen Knoten vom Stack.

Returns:
der ASTNode

removeFunction

public void removeFunction()
Entfernt eine Funktion.


removeScopeNode

public IScopeNode removeScopeNode()
Entfernt aktuellen Scope

Returns:
der verlassene IScopeNode