VarUse
/** * A ControlFlowNode that uses a single RefExpr. */
Inherit from ControlFlowNode
Primary key: id: int
schema VarUse extends ControlFlowNode { @primary id: int }
VarUse::getRelativePath
/** * Get the relative path of this control flow node. */
- Parameter
self
:VarUse
- Return
string
pub fn getRelativePath(self: VarUse) -> string;
VarUse::getDefinedByLValue
/** * Gets the LValue nodes that can define this use node. */
pub fn getDefinedByLValue(self: VarUse) -> *LValue;
VarUse::getPredecessorCount
/** * Get the count of immediate predecessor nodes/ */
- Parameter
self
:VarUse
- Return
int
pub fn getPredecessorCount(self: VarUse) -> int;
VarUse::nearestLocalDefinedLValue
/** * Gets the neareast LValue that defines current use node in same BB. */
pub fn nearestLocalDefinedLValue(self: VarUse) -> LValue;
VarUse::getLocation
/** * Get the location of this control flow node. */
pub fn getLocation(self: VarUse) -> Location;
VarUse::existNearestLocalDefinedLValue
/** * Determine whether there exists a neareast LValue that defines current use node in same BB. */
- Parameter
self
:VarUse
- Return
bool
pub fn existNearestLocalDefinedLValue(self: VarUse) -> bool;
VarUse::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
:VarUse
- Return
string
pub fn getKindName(self: VarUse) -> string;
VarUse::isExitNode
- Parameter
self
:VarUse
- Return
bool
pub fn isExitNode(self: VarUse) -> bool;
VarUse::getSuccessorCount
/** * Get the count of immediate successor nodes. */
- Parameter
self
:VarUse
- Return
int
pub fn getSuccessorCount(self: VarUse) -> int;
VarUse::getADef
/** * Gets VarDef site. */
- Parameter
self
:VarUse
- Return
*ControlFlowNode
pub fn getADef(self: VarUse) -> *ControlFlowNode;
VarUse::__all__
Data constraint method.
- Parameter
db
:JavascriptDB
- Return
*VarUse
pub fn __all__(db: JavascriptDB) -> *VarUse;
VarUse::getASuccessor
/** * Get an immediate successor of this node. */
- Parameter
self
:VarUse
- Return
*ControlFlowNode
pub fn getASuccessor(self: VarUse) -> *ControlFlowNode;
VarUse::getDefinedByLValueRecursive
pub fn getDefinedByLValueRecursive(self: VarUse) -> *LValue;
VarUse::getBasicBlock
/** * Get the basic block that contains this node. */
- Parameter
self
:VarUse
- Return
BasicBlock
pub fn getBasicBlock(self: VarUse) -> BasicBlock;
VarUse::isAstNode
- Parameter
self
:VarUse
- Return
bool
pub fn isAstNode(self: VarUse) -> bool;
VarUse::getAPredecessor
/** * Get an immediate predecessor of this node. */
- Parameter
self
:VarUse
- Return
*ControlFlowNode
pub fn getAPredecessor(self: VarUse) -> *ControlFlowNode;
VarUse::getASuccessorRecursive
/** * Gets the successor of this node, and query successors recursively */
- Parameter
self
:VarUse
- Return
*ControlFlowNode
pub fn getASuccessorRecursive(self: VarUse) -> *ControlFlowNode;
VarUse::getText
/** * Get the text of this control flow node. */
- Parameter
self
:VarUse
- Return
string
pub fn getText(self: VarUse) -> string;
VarUse::isEntryNode
- Parameter
self
:VarUse
- Return
bool
pub fn isEntryNode(self: VarUse) -> bool;
VarUse::getASuccessorWithCompletion
/** * Get an immediate successor of this node with the given * type of Completion. */
- Parameter
self
:VarUse
- Parameter
c
:Completion
- Return
*ControlFlowNode
pub fn getASuccessorWithCompletion(self: VarUse, c: Completion) -> *ControlFlowNode;
VarUse::isSyntheticNode
- Parameter
self
:VarUse
- Return
bool
pub fn isSyntheticNode(self: VarUse) -> bool;
VarUse::getADefRecursive
- Parameter
self
:VarUse
- Return
*ControlFlowNode
pub fn getADefRecursive(self: VarUse) -> *ControlFlowNode;
VarUse::getEnclosingFunction
/** * Get the enclosing function of node. * CfgEntryNode or CfgExitNode return belongs to function. */
- Parameter
self
:VarUse
- Return
FunctionLikeDeclaration
pub fn getEnclosingFunction(self: VarUse) -> FunctionLikeDeclaration;
VarUse::getFile
/** * Get the file of this control flow node. */
pub fn getFile(self: VarUse) -> File;