1 /**
2 * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
3 */
4 package net.sourceforge.pmd.dfa;
5
6 import net.sourceforge.pmd.ast.SimpleNode;
7 import net.sourceforge.pmd.dfa.variableaccess.VariableAccess;
8
9
10 import java.util.List;
11
12 public interface IDataFlowNode {
13 List<VariableAccess> getVariableAccess();
14
15 int getLine();
16
17 int getIndex();
18
19 boolean isType(int type);
20
21 List<? extends IDataFlowNode> getChildren();
22
23 List<? extends IDataFlowNode> getParents();
24
25 List<? extends IDataFlowNode> getFlow();
26
27 SimpleNode getSimpleNode();
28
29 void setVariableAccess(List<VariableAccess> variableAccess);
30
31 void addPathToChild(IDataFlowNode child);
32
33 boolean removePathToChild(IDataFlowNode child);
34
35 void reverseParentPathsTo(IDataFlowNode destination);
36
37 }