SeedInfo.h

Go to the documentation of this file.
00001 //===-- SeedInfo.h ----------------------------------------------*- C++ -*-===//
00002 //
00003 //                     The KLEE Symbolic Virtual Machine
00004 //
00005 // This file is distributed under the University of Illinois Open Source
00006 // License. See LICENSE.TXT for details.
00007 //
00008 //===----------------------------------------------------------------------===//
00009 
00010 #ifndef KLEE_SEEDINFO_H
00011 #define KLEE_SEEDINFO_H
00012 
00013 #include "klee/util/Assignment.h"
00014 
00015 extern "C" {
00016   struct KTest;
00017   struct KTestObject;
00018 }
00019 
00020 namespace klee {
00021   class ExecutionState;
00022   class TimingSolver;
00023 
00024   class SeedInfo {
00025   public:
00026     Assignment assignment;
00027     KTest *input;
00028     unsigned inputPosition;
00029     std::set<struct KTestObject*> used;
00030     
00031   public:
00032     explicit
00033     SeedInfo(KTest *_input) : assignment(true),
00034                              input(_input),
00035                              inputPosition(0) {}
00036     
00037     KTestObject *getNextInput(const MemoryObject *mo,
00038                              bool byName);
00039     
00042     void patchSeed(const ExecutionState &state, 
00043                    ref<Expr> condition,
00044                    TimingSolver *solver);
00045   };
00046 }
00047 
00048 #endif

Generated on Fri Jun 5 03:31:32 2009 for klee by  doxygen 1.5.8