ClearBlue
SEGSimpleOperandNode.h
1 /*
2  * SEGSimpleOperandNode.h
3  *
4  * Qingkai
5  *
6  * This node is to model simple operand.
7  */
8 
9 #ifndef IR_SEG_SEGSIMPLEOPERANDNODE_H
10 #define IR_SEG_SEGSIMPLEOPERANDNODE_H
11 
12 #include <llvm/IR/BasicBlock.h>
13 #include <llvm/IR/Value.h>
14 
15 #include "IR/SEG/SymbolicExprGraph.h"
16 
17 using namespace llvm;
18 
20 private:
21  SEGSimpleOperandNode(Type *Ty, SymbolicExprGraph *SEG, BasicBlock *BB,
22  bool fromDisk)
23  : SEGOperandNode(SEGOBJK_SimpleOperand, Ty, SEG, BB, fromDisk) {}
24 
25  SEGSimpleOperandNode(Value *Val, Type *Ty, SymbolicExprGraph *SEG,
26  BasicBlock *BB, bool fromDisk)
27  : SEGOperandNode(SEGOBJK_SimpleOperand, Val, Ty, SEG, BB, fromDisk) {}
28 
29  friend class SymbolicExprGraph;
30 
31 public:
33 
34 public:
35  static bool classof(const SEGObject *N) {
36  return N->getKind() == SEGOBJK_SimpleOperand;
37  }
38 };
39 
40 #endif
SEGOperandNode
Definition: SymbolicExprGraph.h:456
SymbolicExprGraph
Definition: SymbolicExprGraph.h:708
SEGObject
Definition: SymbolicExprGraph.h:76
SEGSimpleOperandNode
Definition: SEGSimpleOperandNode.h:19