DataFlowNode.java
01 /**
02  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
03  */
04 package net.sourceforge.pmd.lang.dfa;
05 
06 import java.util.List;
07 
08 import net.sourceforge.pmd.lang.ast.Node;
09 
10 public interface DataFlowNode {
11     List<VariableAccess> getVariableAccess();
12 
13     int getLine();
14 
15     int getIndex();
16 
17     boolean isType(int type);
18 
19     void setType(int type);
20 
21     List<DataFlowNode> getChildren();
22 
23     List<DataFlowNode> getParents();
24 
25     List<DataFlowNode> getFlow();
26 
27     Node getNode();
28 
29     void setVariableAccess(List<VariableAccess> variableAccess);
30 
31     void addPathToChild(DataFlowNode child);
32 
33     boolean removePathToChild(DataFlowNode child);
34 
35     void reverseParentPathsTo(DataFlowNode destination);
36 
37 }