Skip to content

Commit a086fd3

Browse files
Move trace returning into separate interface
Not all incremental goto checker implementations may support traces.
1 parent e6f06c3 commit a086fd3

File tree

2 files changed

+30
-5
lines changed

2 files changed

+30
-5
lines changed
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
/*******************************************************************\
2+
3+
Module: Interface for returning Goto Traces from Goto Checkers
4+
5+
Author: Daniel Kroening, Peter Schrammel
6+
7+
\*******************************************************************/
8+
9+
/// \file
10+
/// Interface for returning Goto Traces from Goto Checkers
11+
12+
#ifndef CPROVER_GOTO_CHECKER_GOTO_TRACE_PROVIDER_H
13+
#define CPROVER_GOTO_CHECKER_GOTO_TRACE_PROVIDER_H
14+
15+
class goto_tracet;
16+
class namespacet;
17+
18+
/// An implementation of `incremental_goto_checkert`
19+
/// may implement this interface to provide goto traces.
20+
class goto_trace_providert
21+
{
22+
public:
23+
/// Builds and returns a trace
24+
virtual goto_tracet build_trace() const = 0;
25+
26+
/// Returns the namespace associated with the traces
27+
virtual const namespacet &get_namespace() const = 0;
28+
};
29+
30+
#endif // CPROVER_GOTO_CHECKER_GOTO_TRACE_PROVIDER_H

src/goto-checker/incremental_goto_checker.h

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -64,11 +64,6 @@ class incremental_goto_checkert
6464
/// failing properties any more.
6565
virtual resultt operator()(propertiest &properties) = 0;
6666

67-
/// Builds and returns the counterexample
68-
virtual goto_tracet build_error_trace() const = 0;
69-
70-
virtual const namespacet &get_namespace() const = 0;
71-
7267
protected:
7368
incremental_goto_checkert(const optionst &, ui_message_handlert &);
7469

0 commit comments

Comments
 (0)