1212#include " TerminationTypes.h"
1313#include " klee/Module/Annotation.h"
1414
15+ #include " klee/ADT/KTest.h"
1516#include " klee/Module/SarifReport.h"
1617
1718#include < cstdint>
@@ -58,8 +59,11 @@ class InterpreterHandler {
5859
5960 virtual void processTestCase (const ExecutionState &state, const char *message,
6061 const char *suffix, bool isError = false ) = 0;
61-
6262 virtual ToolJson info () const = 0;
63+
64+ // used for writing .ktest files
65+ virtual int argc () = 0;
66+ virtual char **argv () = 0;
6367};
6468
6569// / [File][Line][Column] -> Opcode
@@ -209,10 +213,6 @@ class Interpreter {
209213 // a user specified path. use null to reset.
210214 virtual void setReplayPath (const std::vector<bool > *path) = 0;
211215
212- // supply a set of symbolic bindings that will be used as "seeds"
213- // for the search. use null to reset.
214- virtual void useSeeds (const std::vector<struct KTest *> *seeds) = 0;
215-
216216 virtual void runFunctionAsMain (llvm::Function *f, int argc, char **argv,
217217 char **envp) = 0;
218218
@@ -237,7 +237,10 @@ class Interpreter {
237237 virtual void getConstraintLog (const ExecutionState &state, std::string &res,
238238 LogType logFormat = STP) = 0;
239239
240- virtual bool getSymbolicSolution (const ExecutionState &state, KTest &res) = 0;
240+ virtual void getSteppedInstructions (const ExecutionState &state,
241+ unsigned &res) = 0;
242+
243+ virtual bool getSymbolicSolution (const ExecutionState &state, KTest *res) = 0;
241244
242245 virtual void addSARIFReport (const ExecutionState &state) = 0;
243246
0 commit comments