Skip to content

OpenAnalysis

Types

Name

Description

BaseGraph

BaseGraph is the abstract base class (the "interface") for a general graph. It defines graph properties common to directed and undirected graphs. It leaves out some loose ends in the interface: 1. A node has no notion of incident edges or neighboring nodes because the number of kinds of incident edges or neighboring nodes is dependent upon the graph being directed or undirected. 2. For the same reason, the method delete(node) cannot delete any incident edges. Therefore the directed or undirected graph must override it with a more complete version. Similarly, the method delete(edge) cannot delete the edge from the list(s) of the nodes involved. 3. In an analogous manner, the method add(edge) must be overridden with a more complete version that adds the edge into the records of the nodes involved, if needed.

CFG

CFG is a DGraph (directed graph) with enhanced nodes and edges. Each node in the CFG points to a list of statements that together represent a basic block. The entire program would be represented by a set of CFGs, one for each subroutine, and one for the main program.

DGraph

DGraph is the base class for a general directed graph (DGraph) that is in turn derived from BaseGraph. Algorithms that operate upon abstract directed graphs should, normally, use only this base DGraph class for maximum portability.

EdgeInfo

Exception

Exception is the abstract base class for all exceptions that can be thrown by Mint programs.

IRCallsiteIterator

IRCallsiteParamIterator

IRInterface

IRProcIterator

IRStmtIterator

IRUseDefIterator

Iterator

The Iterator abstract base class defines the basic properties of an iterator.

ROSE_CFG_Wrap

SageIRCallsiteParamIterator

SageIRInterface

SageIRStmtIterator

SageIRUseDefIterator

Worklist

ExprHandle

LeafHandle

ProcHandle

StmtHandle

StmtLabel

SymHandle

openanal_base_type

Enums

Functions

Name

BuildCFG
template<class Node> void BuildCFG(AstInterface& fa, AstNodePtr const& head, BuildCFGConfig<Node>& g);

OA2ROSE_CFG_Translate
template<class Node> void OA2ROSE_CFG_Translate(ROSE_CFG_Wrap& wrap, BuildCFGConfig<Node>& ng);

Using Declarations

Name

ostream

Created with MrDocs