JavaScript is not currently enabled, but is required for full CodeSonar manual search and browse functionality.

If you are viewing this file in your hub's Web GUI, enable JavaScript in your browser: you will also need it for GUI functionality.

If you opened this file directly from disk, your browser may be directly suppressing JavaScript functionality: certain browsers perform this suppression on local files (but not files delivered by web servers) for security reasons.

CodeSonar® 9.2p0 CONFIDENTIAL CodeSecure Inc
C and C++
Binaries

Data Type: struct cs_step_visitor_dispatch_t

This struct encapsulates all information about a step visitor, which is applied during CodeSonar's traversal of the program CFGs in the bottom-up phase.

There are several differences between step visitors and the other kinds of visitor:

See Plug-In Tutorial: Part Two for an example using a step visitor.

Defined in file csonar_plugin.h.



Public Attributes

cs_step_user_state_t(* open)(cs_visitor_ctx_t ctx) Create and return a new cs_step_user_state_t.

Called by CodeSonar every time the step traversal enters a function.

Returns A new cs_step_user_state_t.
Parameters
ctx [in] Will be passed the context information that was provided when the visitor was added.
cs_step_user_state_t(* copy)(cs_step_user_state_t s, cs_visitor_ctx_t ctx) Create and return a new copy of a cs_step_user_state_t.

Called by CodeSonar to generate the state argument to transition().

Returns A new copy of s.
Parameters
s [in] The cs_step_user_state_t to be copied
ctx [in] Will be passed the context information that was provided when the visitor was added.
void(* close)(cs_step_user_state_t s, cs_visitor_ctx_t ctx) Close a cs_step_user_state_t and perform any necessary cleanup.
Returns void
Parameters
s [in] The cs_step_user_state_t to close
ctx [in] Will be passed the context information that was provided when the visitor was added.
cs_step_user_state_t(* transition)(cs_step_user_state_t path_state, cs_pdg_vertex source_vertex, cs_edge_label label, cs_pdg_vertex destination_vertex, cs_step_csonar_xform_t since_entry, cs_step_csonar_xform_t this_edge, cs_step_path_t path, cs_visitor_ctx_t ctx) Perform any operations associated with a specified transition in the CFG, and return the resulting cs_step_user_state_t.

Called by CodeSonar every time the step traversal moves from source_vertex to destination_vertex over the edge labeled label.

Returns The cs_step_user_state_t resulting from the specified transition. CodeSonar takes ownership of the returned state, although ownership will eventually be given back via either transition() or close().
Parameters
path_state [in] The path's state so far. The transition function has ownership of path_state, and may therefore consume it.
source_vertex [in] The vertex being transitioned from.
label [in] The label on the edge between source_vertex and destination_vertex.
destination_vertex [in] The vertex being transitioned to.
since_entry [in] The transformation the program has undergone between the function entry point and destination_vertex. Do not attempt to use this cs_step_csonar_xform_t after transition() has returned.
this_edge [in] The transformation the program undergoes between source_vertex and destination_vertex. Do not attempt to use this cs_step_csonar_xform_t after transition() has returned.
path [in] The full step path from the function entry point to destination_vertex
ctx [in] Will be passed the context information that was provided when the visitor was added.

 

To report problems with this documentation, please visit https://support.codesecure.com/.