|
enum | TraceKind { TK_ValueFlow,
TK_ResourceLeak
} |
|
typedef uint64_t | StepType |
|
|
virtual TraceKind | getKind () const |
|
| SEGTrace (const SEGTrace &T) |
|
| SEGTrace (const kvec< const SEGObject * > &Trace) |
|
| SEGTrace (const SEGObject *Obj) |
| Create a trace that only contains Obj .
|
|
| SEGTrace (const SEGObject *Obj1, const SEGObject *Obj2) |
|
| SEGTrace (const LLVMValueTrace *ValueTrace, SEGMapBase *SEGs) |
|
SEGTrace & | operator= (const SEGTrace &T) |
|
virtual void | resetWithLLVMValueTrace (const LLVMValueTrace *ValueTrace, SEGMapBase *SEGs) |
|
virtual int | getValidStartIdx () const |
|
virtual int | getKeyIdx () const |
|
virtual int | getLEVFSrcIdx (bool isConsiderLoad=false) const |
|
StepType | getStepType (int StepIdx) const |
|
void | setStepType (int StepIdx, StepType STy) |
|
int | getNumAdditionalConds () const |
|
SEGRegionNode * | getAdditionalCond (int idx) const |
|
void | addAdditionalCond (SEGRegionNode *cond) |
|
void | clearAdditionalCond () |
|
template<typename Predicate > |
std::pair< const SEGObject *, int > | find (int StartIndex, Predicate P) const |
|
template<typename Predicate > |
std::pair< const SEGObject *, size_t > | rfind (size_t StartIndex, Predicate P) const |
|
virtual void | print (raw_ostream &O) |
|
|
const StepType | DEFAULT_STEP_TYPE = STY_VALUE | STY_USE_SITE |
|
|
const static StepType | STY_VALUE = 0x1 |
|
const static StepType | STY_USE_SITE = 0x2 |
|
|
int | guessLEVFSrcIdx (bool IsConsiderLoad) const |
|
◆ find()
template<typename Predicate >
std::pair<const SEGObject *, int> SEGTrace::find |
( |
int |
StartIndex, |
|
|
Predicate |
P |
|
) |
| const |
|
inline |
Searching the trace from the StartIndex
until the predicate P
is satisfied. Return the found SEGObject and its index.
The documentation for this class was generated from the following files:
- /builds/prismers/clearblue/include/IR/SEG/SEGTrace.h
- /builds/prismers/clearblue/lib/IR/SEG/SEGTrace.cpp