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 }