## net.sourceforge.pmd.dfa
Class Structure

    java.lang.Object
      net.sourceforge.pmd.dfa.Structure

public class Structure
extends java.lang.Object

Author:
  raik

  Structure contains only raw data. A set of nodes wich represent a data flow and 2 stacks to link the nodes to each other.

Constructor Summary
`Structure()`

Method Summary
`IDataFlowNode` `createEndNode(int line)`
`IDataFlowNode` `createNewNode(SimpleNode node)` This class encapsulates the access to the DataFlowNode class.
`IDataFlowNode` `createStartNode(int line)`
`java.util.List` `getBraceStack()`
`java.util.List` `getContinueBreakReturnStack()`
`IDataFlowNode` `getFirst()`
`IDataFlowNode` `getLast()`
`protected void` `pushOnStack(int type, IDataFlowNode node)` The braceStack contains all nodes which are important to link the data flow nodes.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### Structure

    public Structure()

Method Detail

### createNewNode

    public IDataFlowNode createNewNode(SimpleNode node)

  This class encapsulates the access to the DataFlowNode class. Is this worthwhile? TODO I think it's too confusing to have the DataFlowNode constructor add the created instance to the LinkedList. I think it'd be clearer if we did that more "procedurally", i.e., create the object, then add it to the list.

### createStartNode

    public IDataFlowNode createStartNode(int line)

### createEndNode

    public IDataFlowNode createEndNode(int line)

### getLast

    public IDataFlowNode getLast()

### getFirst

    public IDataFlowNode getFirst()

### pushOnStack

    protected void pushOnStack(int type,
                               IDataFlowNode node)

  The braceStack contains all nodes which are important to link the data flow nodes. The cbrStack contains continue, break, and return nodes. There are 2 Stacks because the have to process differently.

### getBraceStack

    public java.util.List getBraceStack()

### getContinueBreakReturnStack

    public java.util.List getContinueBreakReturnStack()

Copyright © 2002-2006 InfoEther. All Rights Reserved.