11 #ifndef IR_SEG_SEGCALLSITEPSEUDOINPUTNODE_H 
   12 #define IR_SEG_SEGCALLSITEPSEUDOINPUTNODE_H 
   14 #include <llvm/IR/BasicBlock.h> 
   15 #include <llvm/IR/CallSite.h> 
   16 #include <llvm/IR/Constants.h> 
   17 #include <llvm/IR/Function.h> 
   18 #include <llvm/IR/Instructions.h> 
   19 #include <llvm/IR/Value.h> 
   20 #include <llvm/Support/FileSystem.h> 
   21 #include <llvm/Support/Format.h> 
   22 #include <llvm/Support/raw_ostream.h> 
   24 #include "CBAccessPath.h" 
   25 #include "IR/SEG/SymbolicExprGraph.h" 
   33   Function *Callee = 
nullptr;
 
   38       : 
SEGOperandNode(SEGOBJK_CallSitePseudoInput, Val, Ty, SEG, BB, fromDisk),
 
   39         LLVMCS(CS), Callee(Callee), index(-1) {
 
   40     access_path.reset(Val);
 
   45   friend class SEGSerializer;
 
   54   CallSite getCallSite()
 const { 
return LLVMCS; }
 
   56   Function *getCallee()
 const { 
return Callee; }
 
   58   virtual int64_t getIndex()
 const { 
return index; }
 
   60   const CBAccessPath &getAccessPath()
 const { 
return access_path; }
 
   66     return N->getKind() == SEGOBJK_CallSitePseudoInput;