3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-07-20 22:15:49 +00:00
z3/src/smt/theory_dummy.h
davedets 6ac3075022
Remove unnecessary semicolons (Attempt 2) (#10020)
This is another PR towards the goal of getting Z3 to compile cleanly
when included via FetchContents into clang-tidy, which uses a pretty
strict set of warnings.

This is a second version of https://github.com/Z3Prover/z3/pull/9957. I
address @NikolajBjorner 's comments about not changing the semicolons
after macro invocations, because some editors work better with them
present. It now, to the best of my ability, only deletes semis:

* after the closing brace of namespace decl.
* after the closing brace of an extern "C" decl.
* after a function definition.

This PR is very large, but it consists entirely of deletions of
semicolons in these situations.

(If there was a way to update the previous PR, which had been closed,
and that is preferable, please let me know. I couldn't figure it out.)
2026-07-02 12:47:29 -07:00

56 lines
1.4 KiB
C++

/*++
Copyright (c) 2006 Microsoft Corporation
Module Name:
theory_no_arith.h
Abstract:
<abstract>
Author:
Leonardo de Moura (leonardo) 2008-12-30.
Revision History:
--*/
#pragma once
#include "smt/smt_theory.h"
namespace smt {
/**
\brief Do nothing theory. Tracks whether theory expressions were internalized.
When theory expressions were internalized, it returns FC_GIVEUP in the final_check_eh.
*/
class theory_dummy : public theory {
bool m_theory_exprs;
char const * m_name;
void found_theory_expr();
protected:
bool internalize_atom(app * atom, bool gate_ctx) override;
bool internalize_term(app * term) override;
void new_eq_eh(theory_var v1, theory_var v2) override;
bool use_diseqs() const override;
void new_diseq_eh(theory_var v1, theory_var v2) override;
void reset_eh() override;
final_check_status final_check_eh(unsigned) override;
bool build_models() const override {
return false;
}
void display(std::ostream& out) const override {}
public:
theory_dummy(context& ctx, family_id fid, char const * name);
theory * mk_fresh(context * new_ctx) override { return alloc(theory_dummy, *new_ctx, get_family_id(), m_name); }
char const * get_name() const override;
};
}