klee
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
SeedInfo.h
Go to the documentation of this file.
1 //===-- SeedInfo.h ----------------------------------------------*- C++ -*-===//
2 //
3 // The KLEE Symbolic Virtual Machine
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 
10 #ifndef KLEE_SEEDINFO_H
11 #define KLEE_SEEDINFO_H
12 
13 #include "klee/util/Assignment.h"
14 
15 extern "C" {
16  struct KTest;
17  struct KTestObject;
18 }
19 
20 namespace klee {
21  class ExecutionState;
22  class TimingSolver;
23 
24  class SeedInfo {
25  public:
28  unsigned inputPosition;
29  std::set<struct KTestObject*> used;
30 
31  public:
32  explicit
33  SeedInfo(KTest *_input) : assignment(true),
34  input(_input),
35  inputPosition(0) {}
36 
38  bool byName);
39 
42  void patchSeed(const ExecutionState &state,
43  ref<Expr> condition,
44  TimingSolver *solver);
45  };
46 }
47 
48 #endif
Definition: KTest.h:26
KTest * input
Definition: SeedInfo.h:27
std::set< struct KTestObject * > used
Definition: SeedInfo.h:29
void patchSeed(const ExecutionState &state, ref< Expr > condition, TimingSolver *solver)
Definition: SeedInfo.cpp:61
Assignment assignment
Definition: SeedInfo.h:26
SeedInfo(KTest *_input)
Definition: SeedInfo.h:33
unsigned inputPosition
Definition: SeedInfo.h:28
KTestObject * getNextInput(const MemoryObject *mo, bool byName)
Definition: SeedInfo.cpp:23