36using namespace SVFUtil;
57 assert(
val !=
nullptr &&
"value is nullptr for ValVar or GepValNode");
58 isPtr =
val->getType()->isPointerTy();
80 isPtr =
val->getType()->isPointerTy();
92 assert(
false &&
"var not handled");
192 rawstr <<
"BaseObjVar ID: " <<
getId() <<
" (base object)";
411 rawstr <<
"FunObjVar ID: " <<
getId() <<
" (base object)";
virtual const std::string toString() const
const std::string & getName() const
const SVFFunction * getFunction() const
Get function of this call node.
virtual const std::string toString() const
virtual const std::string toString() const
virtual const std::string toString() const
virtual const std::string toString() const
virtual const std::string toString() const
virtual const std::string toString() const
virtual const std::string toString() const
virtual const std::string toString() const
virtual const std::string toString() const
virtual const std::string toString() const
virtual const std::string toString() const
FunObjVar(NodeID i, PNODEK ty=FunObjNode)
Constructor to create empty ObjVar (for SVFIRReader/deserialization)
virtual bool isIsolatedNode() const
Whether this is an isolated node on the SVFIR graph.
const CallGraphNode * callGraphNode
virtual const std::string toString() const
const CallGraphNode * callGraphNode
FunValVar(const CallGraphNode *cgn, NodeID i, const ICFGNode *icn, PNODEK ty=FunValNode)
Constructor.
const GEdgeSetTy & getOutEdges() const
const GEdgeSetTy & getInEdges() const
virtual const std::string toString() const
virtual const std::string toString() const
APOffset getConstantFieldIdx() const
offset of the base value variable
virtual const std::string toString() const
virtual const std::string toString() const
HeapObjVar(NodeID i, PNODEK ty=HeapObjNode)
Constructor to create heap object var.
virtual const std::string toString() const
virtual const std::string toString() const
static const Option< bool > ShowSVFIRValue
const std::string getValueName() const
Return name of a LLVM value.
const CallGraphNode * callGraphNode
virtual const std::string toString() const
RetPN(NodeID i)
Constructor to create empty RetPN (for SVFIRReader/deserialization)
virtual const SVFFunction * getFunction() const
NodeID getId() const
Get ID.
const std::string valueOnlyToString() const
const SVFType * getReturnType() const
Returns the FunctionType.
std::string toString() const
Needs to be implemented by a SVF front end.
virtual const SVFType * getType() const
bool isConstDataOrAggData() const
bool isConstDataOrAggDataButNotNullPtr() const
SVFVar(NodeID i, PNODEK k)
function containing this variable
virtual const SVFFunction * getFunction() const
void dump() const
Dump to console for debugging.
const SVFValue * value
value of this SVFIR node
const SVFFunction * func
whether it is a pointer (top-level or address-taken)
virtual bool isIsolatedNode() const
Whether this is an isolated node on the SVFIR graph.
virtual const std::string toString() const
StackObjVar(NodeID i, PNODEK ty=StackObjNode)
Constructor to create stack object var.
virtual const std::string toString() const
virtual const std::string toString() const
const CallGraphNode * callGraphNode
const std::string getValueName() const
Return name of a LLVM value.
virtual const std::string toString() const
virtual const SVFFunction * getFunction() const
std::ostream & outs()
Overwrite llvm::outs()
llvm::IRBuilder IRBuilder