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;