BasicBlock

Inherit from ControlFlowNode

Primary key: id: int

schema BasicBlock extends ControlFlowNode {
  @primary id: int
}

BasicBlock::getRelativePath

/**
* Get the relative path of this control flow node.
*/
pub fn getRelativePath(self: BasicBlock) -> string;

BasicBlock::getFile

/**
* Get the file of this control flow node.
*/
pub fn getFile(self: BasicBlock) -> File;

BasicBlock::getLocation

/**
* Get the location of this control flow node.
*/
pub fn getLocation(self: BasicBlock) -> Location;

BasicBlock::isSyntheticNode

pub fn isSyntheticNode(self: BasicBlock) -> bool;

BasicBlock::isExitBB

/**
* Determine whether this basic block is an exit bb.
*/
pub fn isExitBB(self: BasicBlock) -> bool;

BasicBlock::getLength

/**
* Get the length of this basic block.
*/
pub fn getLength(self: BasicBlock) -> int;

BasicBlock::getABBSuccessor

/**
* Gets an immediate successor of this basic block.
*/
pub fn getABBSuccessor(self: BasicBlock) -> *BasicBlock;

BasicBlock::getASuccessorRecursive

/**
* Gets the successor of this node, and query successors recursively
*/
pub fn getASuccessorRecursive(self: BasicBlock) -> *ControlFlowNode;

BasicBlock::getANode

/**
* Get a node in this basic block.
*/
pub fn getANode(self: BasicBlock) -> *ControlFlowNode;

BasicBlock::getFirstNode

/**
* Get the first node in this basic block.
*/
pub fn getFirstNode(self: BasicBlock) -> ControlFlowNode;

BasicBlock::getASuccessor

/**
* Get an immediate successor of this node.
*/
pub fn getASuccessor(self: BasicBlock) -> *ControlFlowNode;

BasicBlock::__all__

Data constraint method.

pub fn __all__(db: JavascriptDB) -> *BasicBlock;

BasicBlock::getBBSuccessorCount

/**
* Gets the count of bb successor of this bb.
*/
pub fn getBBSuccessorCount(self: BasicBlock) -> int;

BasicBlock::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.
*/
pub fn getKindName(self: BasicBlock) -> string;

BasicBlock::isExitNode

pub fn isExitNode(self: BasicBlock) -> bool;

BasicBlock::getEnclosingFunction

/**
* Get the enclosing function of node.
* CfgEntryNode or CfgExitNode return belongs to function.
*/
pub fn getEnclosingFunction(self: BasicBlock) -> FunctionLikeDeclaration;

BasicBlock::getNode

/**
* Get the node in this basic block with the given index.
*/
pub fn getNode(self: BasicBlock, index: int) -> ControlFlowNode;

BasicBlock::getABBPredecessor

/**
* Gets an immediate predecessor of this basic block.
*/
pub fn getABBPredecessor(self: BasicBlock) -> *BasicBlock;

BasicBlock::getBBPredecessorCount

/**
* Gets the count of bb predecessor of this bb.
*/
pub fn getBBPredecessorCount(self: BasicBlock) -> int;

BasicBlock::getPredecessorCount

/**
* Get the count of immediate predecessor nodes/
*/
pub fn getPredecessorCount(self: BasicBlock) -> int;

BasicBlock::getLastNode

/**
* Get the last node in this basic block.
*/
pub fn getLastNode(self: BasicBlock) -> ControlFlowNode;

BasicBlock::getSuccessorCount

/**
* Get the count of immediate successor nodes.
*/
pub fn getSuccessorCount(self: BasicBlock) -> int;

BasicBlock::isAstNode

pub fn isAstNode(self: BasicBlock) -> bool;

BasicBlock::getBasicBlock

/**
* Get the basic block that contains this node.
*/
pub fn getBasicBlock(self: BasicBlock) -> BasicBlock;

BasicBlock::getAPredecessor

/**
* Get an immediate predecessor of this node.
*/
pub fn getAPredecessor(self: BasicBlock) -> *ControlFlowNode;

BasicBlock::isEntryBB

/**
* Determine whether this basic block is an entry bb.
*/
pub fn isEntryBB(self: BasicBlock) -> bool;

BasicBlock::getText

/**
* Get the text of this control flow node.
*/
pub fn getText(self: BasicBlock) -> string;

BasicBlock::isEntryNode

pub fn isEntryNode(self: BasicBlock) -> bool;

BasicBlock::getASuccessorWithCompletion

/**
* Get an immediate successor of this node with the given
* type of Completion.
*/
pub fn getASuccessorWithCompletion(self: BasicBlock, c: Completion) -> *ControlFlowNode;