Complex Steps
Complex Steps are steps which are made of combinations of basic steps. They can be of three types, Generic Complex Steps, Call Graph Steps or Dataflow Complex Steps.
Generic Complex Steps
dump
dump
is a Complex Step which executes the traversal and returns the value of the CODE property of the nodes it suffixes with syntax-highlighting.
dumpRaw
dumpRaw
is a Complex Step which executes the traversal and returns the value of the CODE property of the nodes it suffixes.
tagList
tagList
is a Complex Step which executes the traversal and returns the list of all TAG nodes found at each node visited by the traversal it suffixes.
Call Graph Steps
Call Graph Steps are Complex Steps which traverse the nodes of a Code Property Graph which represent a program's Call Graph.
The following examples are run on the simple program named X42
:
callee
callee
is a Call Graph Step which lists all nodes representing Call Graph callees of the traversed nodes.
caller
caller
is a Call Graph Step which lists all nodes representing Call Graph callers of the traversed nodes.
callIn
callIn
is a Call Graph Step which lists all nodes representing Call Graph parent call-sites of the traversed nodes.
inCall
inCall
is a Call Graph Step which lists all nodes representing surrounding Call Graph call-sites of the traversed nodes.
Dataflow Steps
Dataflow Steps are Complex Steps which traverse the nodes of a Code Property Graph which represent a program's data-flow. controlledBy
, flows
,passes
, passesNot
, source
, sink
, reachableBy
are all Ocular Query Components that are combined to construct Dataflow Steps.