use more override and final keywords

This patch is mostly focused on tagging most virtual methods that
override as such.  I found a few methods that where not meant to be
virtual this way, and tagged a few classes "final" along the way.

* bin/common_output.cc, spot/kripke/fairkripke.hh,
spot/kripke/kripke.hh, spot/kripke/kripkegraph.hh,
spot/ltsmin/ltsmin.cc, spot/misc/formater.hh, spot/priv/bddalloc.hh,
spot/ta/ta.hh, spot/ta/taexplicit.hh, spot/ta/taproduct.hh,
spot/ta/tgta.hh, spot/ta/tgtaexplicit.cc, spot/ta/tgtaexplicit.hh,
spot/ta/tgtaproduct.hh, spot/taalgos/emptinessta.hh, spot/tl/declenv.hh,
spot/tl/defaultenv.hh, spot/tl/randomltl.hh, spot/tl/relabel.cc,
spot/twa/bdddict.cc, spot/twa/taatgba.hh, spot/twa/twagraph.hh,
spot/twa/twaproduct.hh, spot/twaalgos/gtec/ce.cc,
spot/twaalgos/gtec/ce.hh, spot/twaalgos/gtec/gtec.hh,
spot/twaalgos/gv04.cc, spot/twaalgos/ltl2taa.cc, spot/twaalgos/magic.cc,
spot/twaalgos/minimize.cc, spot/twaalgos/ndfs_result.hxx,
spot/twaalgos/reachiter.hh, spot/twaalgos/se05.cc,
spot/twaalgos/stutter.cc, spot/twaalgos/tau03.cc: Add more override and
final keywords.
This commit is contained in:
Alexandre Duret-Lutz 2016-02-15 22:43:23 +01:00
parent 1ae0600cae
commit 5d272fd256
35 changed files with 249 additions and 291 deletions

View file

@ -55,7 +55,7 @@ namespace spot
}
virtual int
extend(int n)
extend(int n) override
{
assert(priv_);
int b = priv_->allocate_variables(n);

View file

@ -53,9 +53,9 @@ namespace spot
/// TGBA interface.
virtual ~taa_tgba();
virtual spot::state* get_init_state() const final;
virtual twa_succ_iterator* succ_iter(const spot::state* state) const final;
virtual std::string format_state(const spot::state* state) const = 0;
virtual spot::state* get_init_state() const override final;
virtual twa_succ_iterator* succ_iter(const spot::state* state)
const override final;
protected:
@ -81,9 +81,9 @@ namespace spot
{
}
virtual int compare(const spot::state*) const;
virtual size_t hash() const;
virtual set_state* clone() const;
virtual int compare(const spot::state*) const override;
virtual size_t hash() const override;
virtual set_state* clone() const override;
virtual ~set_state()
{
@ -103,13 +103,13 @@ namespace spot
taa_succ_iterator(const taa_tgba::state_set* s, const acc_cond& acc);
virtual ~taa_succ_iterator();
virtual bool first();
virtual bool next();
virtual bool done() const;
virtual bool first() override;
virtual bool next() override;
virtual bool done() const override;
virtual set_state* dst() const;
virtual bdd cond() const;
virtual acc_cond::mark_t acc() const;
virtual set_state* dst() const override;
virtual bdd cond() const override;
virtual acc_cond::mark_t acc() const override;
private:
/// Those typedefs are used to generate all possible successors in
@ -206,7 +206,7 @@ namespace spot
/// Otherwise a string composed of each string corresponding to
/// each state->get_state() in the spot::set_state is returned,
/// e.g. like {string_1,...,string_n}.
virtual std::string format_state(const spot::state* s) const
virtual std::string format_state(const spot::state* s) const override
{
const spot::set_state* se = down_cast<const spot::set_state*>(s);
assert(se);
@ -311,7 +311,8 @@ namespace spot
~taa_tgba_string()
{}
protected:
virtual std::string label_to_string(const std::string& label) const;
virtual std::string label_to_string(const std::string& label)
const override;
};
typedef std::shared_ptr<taa_tgba_string> taa_tgba_string_ptr;
@ -335,7 +336,8 @@ namespace spot
~taa_tgba_formula()
{}
protected:
virtual std::string label_to_string(const label_t& label) const;
virtual std::string label_to_string(const label_t& label)
const override;
};
typedef std::shared_ptr<taa_tgba_formula> taa_tgba_formula_ptr;

View file

@ -42,7 +42,7 @@ namespace spot
{
}
virtual int compare(const spot::state* other) const
virtual int compare(const spot::state* other) const override
{
auto o = down_cast<const twa_graph_state*>(other);
assert(o);
@ -55,19 +55,19 @@ namespace spot
return 0;
}
virtual size_t hash() const
virtual size_t hash() const override
{
return
reinterpret_cast<const char*>(this) - static_cast<const char*>(nullptr);
}
virtual twa_graph_state*
clone() const
clone() const override
{
return const_cast<twa_graph_state*>(this);
}
virtual void destroy() const
virtual void destroy() const override
{
}
};
@ -121,41 +121,41 @@ namespace spot
{
}
virtual void recycle(edge t)
void recycle(edge t)
{
t_ = t;
}
virtual bool first()
virtual bool first() override
{
p_ = t_;
return p_;
}
virtual bool next()
virtual bool next() override
{
p_ = g_->edge_storage(p_).next_succ;
return p_;
}
virtual bool done() const
virtual bool done() const override
{
return !p_;
}
virtual const twa_graph_state* dst() const
virtual const twa_graph_state* dst() const override
{
assert(!done());
return &g_->state_data(g_->edge_storage(p_).dst);
}
virtual bdd cond() const
virtual bdd cond() const override
{
assert(!done());
return g_->edge_data(p_).cond;
}
virtual acc_cond::mark_t acc() const
virtual acc_cond::mark_t acc() const override
{
assert(!done());
return g_->edge_data(p_).acc;
@ -267,7 +267,7 @@ namespace spot
return init_number_;
}
virtual const twa_graph_state* get_init_state() const
virtual const twa_graph_state* get_init_state() const override
{
if (num_states() == 0)
const_cast<graph_t&>(g_).new_state();
@ -275,7 +275,7 @@ namespace spot
}
virtual twa_succ_iterator*
succ_iter(const state* st) const
succ_iter(const state* st) const override
{
auto s = down_cast<const typename graph_t::state_storage_t*>(st);
assert(s);
@ -313,7 +313,7 @@ namespace spot
return ss.str();
}
virtual std::string format_state(const state* st) const
virtual std::string format_state(const state* st) const override
{
return format_state(state_number(st));
}

View file

@ -49,7 +49,7 @@ namespace spot
{
}
virtual void destroy() const;
virtual void destroy() const override;
const state*
left() const
@ -63,9 +63,9 @@ namespace spot
return right_;
}
virtual int compare(const state* other) const;
virtual size_t hash() const;
virtual state_product* clone() const;
virtual int compare(const state* other) const override;
virtual size_t hash() const override;
virtual state_product* clone() const override;
private:
const state* left_; ///< State from the left automaton.
@ -74,7 +74,7 @@ namespace spot
fixed_size_pool* pool_;
virtual ~state_product();
state_product(const state_product& o); // No implementation.
state_product(const state_product& o) = delete;
};
@ -90,14 +90,15 @@ namespace spot
virtual ~twa_product();
virtual const state* get_init_state() const;
virtual const state* get_init_state() const override;
virtual twa_succ_iterator*
succ_iter(const state* state) const;
succ_iter(const state* state) const override;
virtual std::string format_state(const state* state) const;
virtual std::string format_state(const state* state) const override;
virtual state* project_state(const state* s, const const_twa_ptr& t) const;
virtual state* project_state(const state* s, const const_twa_ptr& t)
const override;
const acc_cond& left_acc() const;
const acc_cond& right_acc() const;
@ -120,7 +121,7 @@ namespace spot
public:
twa_product_init(const const_twa_ptr& left, const const_twa_ptr& right,
const state* left_init, const state* right_init);
virtual const state* get_init_state() const;
virtual const state* get_init_state() const override;
protected:
const state* left_init_;
const state* right_init_;
@ -135,11 +136,11 @@ namespace spot
/// \brief on-the-fly TGBA product with forced initial states
inline twa_product_ptr otf_product_at(const const_twa_ptr& left,
const const_twa_ptr& right,
const state* left_init,
const state* right_init)
const const_twa_ptr& right,
const state* left_init,
const state* right_init)
{
return std::make_shared<twa_product_init>(left, right,
left_init, right_init);
left_init, right_init);
}
}