-
- Type Parameters:
G
- the type ofGraph
this node can be used withN
- the type of this nodeE
- the type ofEdge
that this node can be connected to
- All Known Subinterfaces:
CodeNode<G,N,E>
- All Known Implementing Classes:
Assignment
,BinaryExpression
,BinaryStatement
,Call
,CallGraphNode
,CallWithResult
,CFGCall
,DefaultParamInitialization
,Expression
,Literal
,MultiCall
,NamedParameterExpression
,NaryExpression
,NaryStatement
,NativeCall
,NoOp
,OpenCall
,Ret
,Return
,Statement
,TernaryExpression
,TernaryStatement
,Throw
,TruncatedParamsCall
,UnaryExpression
,UnaryStatement
,UnresolvedCall
,VariableRef
public interface Node<G extends Graph<G,N,E>,N extends Node<G,N,E>,E extends Edge<G,N,E>>
A node of aGraph
.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description <V> boolean
accept(GraphVisitor<G,N,E,V> visitor, V tool)
Accepts the givenGraphVisitor
.
-
-
-
Method Detail
-
accept
<V> boolean accept(GraphVisitor<G,N,E,V> visitor, V tool)
Accepts the givenGraphVisitor
. Implementors of this method are responsible for invokingGraphVisitor.visit(Object, Graph, Node)
on this node afteraccept(GraphVisitor, Object)
has been invoked on all nested nodes, if any. The visiting should stop at the first of such calls that returnfalse
.- Type Parameters:
V
- the type of auxiliary tool thatvisitor
can use- Parameters:
visitor
- the visitor that is visiting theGraph
containing this nodetool
- the auxiliary tool thatvisitor
can use- Returns:
- whether or not the visiting should stop when this call returns, as decided by the visitor itself
-
-