Skip to content

Commit 7f59f24

Browse files
Move trace returning into separate interface
Not all incremental goto checker implementations may support traces.
1 parent 363f5e1 commit 7f59f24

File tree

2 files changed

+32
-3
lines changed

2 files changed

+32
-3
lines changed
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
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+
virtual ~goto_trace_providert() = default;
30+
};
31+
32+
#endif // CPROVER_GOTO_CHECKER_GOTO_TRACE_PROVIDER_H

src/goto-checker/incremental_goto_checker.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -64,9 +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-
7067
protected:
7168
incremental_goto_checkert(const optionst &, ui_message_handlert &);
7269

0 commit comments

Comments
 (0)