ControlFlowNode
/*
* This class represent control flow node, all ast nodes are
* control flow nodes.
*/
Primary key: id: int
schema ControlFlowNode {
@primary id: int
}
ControlFlowNode::getPredecessorCount
/**
* Get the count of immediate predecessor nodes/
*/
- Parameter
self
:ControlFlowNode
- Return
int
pub fn getPredecessorCount(self: ControlFlowNode) -> int;
ControlFlowNode::getSuccessorCount
/**
* Get the count of immediate successor nodes.
*/
- Parameter
self
:ControlFlowNode
- Return
int
pub fn getSuccessorCount(self: ControlFlowNode) -> int;
ControlFlowNode::getBasicBlock
/**
* Get the basic block that contains this node.
*/
- Parameter
self
:ControlFlowNode
- Return
BasicBlock
pub fn getBasicBlock(self: ControlFlowNode) -> BasicBlock;
ControlFlowNode::getAPredecessor
/**
* Get an immediate predecessor of this node.
*/
- Parameter
self
:ControlFlowNode
- Return
*ControlFlowNode
pub fn getAPredecessor(self: ControlFlowNode) -> *ControlFlowNode;
ControlFlowNode::getASuccessorRecursive
/**
* Gets the successor of this node, and query successors recursively
*/
- Parameter
self
:ControlFlowNode
- Return
*ControlFlowNode
pub fn getASuccessorRecursive(self: ControlFlowNode) -> *ControlFlowNode;
ControlFlowNode::getASuccessor
/**
* Get an immediate successor of this node.
*/
- Parameter
self
:ControlFlowNode
- Return
*ControlFlowNode
pub fn getASuccessor(self: ControlFlowNode) -> *ControlFlowNode;
ControlFlowNode::isExitNode
- Parameter
self
:ControlFlowNode
- Return
bool
pub fn isExitNode(self: ControlFlowNode) -> bool;
ControlFlowNode::isAstNode
- Parameter
self
:ControlFlowNode
- Return
bool
pub fn isAstNode(self: ControlFlowNode) -> bool;
ControlFlowNode::isEntryNode
- Parameter
self
:ControlFlowNode
- Return
bool
pub fn isEntryNode(self: ControlFlowNode) -> bool;
ControlFlowNode::getText
/**
* Get the text of this control flow node.
*/
- Parameter
self
:ControlFlowNode
- Return
string
pub fn getText(self: ControlFlowNode) -> string;
ControlFlowNode::getASuccessorWithCompletion
/**
* Get an immediate successor of this node with the given
* type of Completion.
*/
- Parameter
self
:ControlFlowNode
- Parameter
c
:Completion
- Return
*ControlFlowNode
pub fn getASuccessorWithCompletion(self: ControlFlowNode, c: Completion) -> *ControlFlowNode;
ControlFlowNode::isSyntheticNode
- Parameter
self
:ControlFlowNode
- Return
bool
pub fn isSyntheticNode(self: ControlFlowNode) -> bool;
ControlFlowNode::getEnclosingFunction
/**
* Get the enclosing function of node.
* CfgEntryNode or CfgExitNode return belongs to function.
*/
- Parameter
self
:ControlFlowNode
- Return
FunctionLikeDeclaration
pub fn getEnclosingFunction(self: ControlFlowNode) -> FunctionLikeDeclaration;
ControlFlowNode::__all__
Data constraint method.
- Parameter
db
:JavascriptDB
- Return
*ControlFlowNode
pub fn __all__(db: JavascriptDB) -> *ControlFlowNode;
ControlFlowNode::getLocation
/**
* Get the location of this control flow node.
*/
- Parameter
self
:ControlFlowNode
- Return
Location
pub fn getLocation(self: ControlFlowNode) -> Location;
ControlFlowNode::getFile
/**
* Get the file of this control flow node.
*/
- Parameter
self
:ControlFlowNode
- Return
File
pub fn getFile(self: ControlFlowNode) -> File;
ControlFlowNode::getKindName
/**
* Get the kind name of node.
* If node is ast node, just return ast node kind name; otherwise
* return node name as CfgEntryNode or CfgExitNode.
*/
- Parameter
self
:ControlFlowNode
- Return
string
pub fn getKindName(self: ControlFlowNode) -> string;
ControlFlowNode::getRelativePath
/**
* Get the relative path of this control flow node.
*/
- Parameter
self
:ControlFlowNode
- Return
string
pub fn getRelativePath(self: ControlFlowNode) -> string;