Commit 2402c214 authored by Alexandre Duret-Lutz's avatar Alexandre Duret-Lutz

Mark more classes are final.

Fixes #42.

* bench/stutter/stutter_invariance_formulas.cc, bin/autfilt.cc,
bin/common_output.cc, bin/dstar2tgba.cc, bin/ltl2tgba.cc,
bin/ltl2tgta.cc, bin/ltlcross.cc, bin/ltldo.cc, bin/ltlfilt.cc,
bin/ltlgrind.cc, spot/misc/intvcmp2.cc, spot/misc/intvcomp.cc,
spot/taalgos/dot.cc, spot/taalgos/statessetbuilder.cc,
spot/taalgos/stats.cc, spot/tl/relabel.cc, spot/tl/simplify.cc,
spot/tl/snf.cc, spot/twa/bdddict.cc, spot/twa/twaproduct.cc,
spot/twaalgos/degen.cc, spot/twaalgos/determinize.cc,
spot/twaalgos/dot.cc, spot/twaalgos/emptiness.cc,
spot/twaalgos/gtec/ce.cc, spot/twaalgos/ltl2tgba_fm.cc,
spot/twaalgos/magic.cc, spot/twaalgos/neverclaim.cc,
spot/twaalgos/se05.cc, spot/twaalgos/simulation.cc,
spot/twaalgos/tau03.cc, spot/twaalgos/tau03opt.cc: Add final.
parent 8814f166
// -*- coding: utf-8 -*-
// Copyright (C) 2014, 2015 Laboratoire de Recherche et
// Copyright (C) 2014, 2015, 2016 Laboratoire de Recherche et
// Développement de l'Epita (LRDE).
//
// This file is part of Spot, a model checking library.
......@@ -40,7 +40,7 @@ const struct argp_child children[] =
namespace
{
class stut_processor: public job_processor
class stut_processor final: public job_processor
{
public:
spot::translator& trans;
......
......@@ -601,7 +601,7 @@ parse_opt(int key, char* arg, struct argp_state*)
namespace
{
class hoa_processor: public job_processor
class hoa_processor final: public job_processor
{
private:
spot::postprocessor& post;
......
......@@ -153,7 +153,7 @@ namespace
const char* suffix;
};
class printable_formula:
class printable_formula final:
public spot::printable_value<const formula_with_location*>
{
public:
......@@ -171,7 +171,7 @@ namespace
}
};
class formula_printer: protected spot::formater
class formula_printer final: protected spot::formater
{
public:
formula_printer(std::ostream& os, const char* format)
......
// -*- coding: utf-8 -*-
// Copyright (C) 2013, 2014, 2015 Laboratoire de Recherche et
// Copyright (C) 2013, 2014, 2015, 2016 Laboratoire de Recherche et
// Développement de l'Epita (LRDE).
//
// This file is part of Spot, a model checking library.
......@@ -106,7 +106,7 @@ parse_opt(int key, char* arg, struct argp_state*)
namespace
{
class dstar_processor: public job_processor
class dstar_processor final: public job_processor
{
public:
spot::postprocessor& post;
......
......@@ -109,7 +109,7 @@ parse_opt(int key, char* arg, struct argp_state*)
namespace
{
class trans_processor: public job_processor
class trans_processor final: public job_processor
{
public:
spot::translator& trans;
......
// -*- coding: utf-8 -*-
// Copyright (C) 2012, 2013, 2014, 2015 Laboratoire de Recherche et
// Développement de l'Epita (LRDE).
// Copyright (C) 2012, 2013, 2014, 2015, 2016 Laboratoire de Recherche
// et Développement de l'Epita (LRDE).
//
// This file is part of Spot, a model checking library.
//
......@@ -159,7 +159,7 @@ parse_opt(int key, char* arg, struct argp_state*)
namespace
{
class trans_processor: public job_processor
class trans_processor final: public job_processor
{
public:
spot::translator& trans;
......
......@@ -485,7 +485,7 @@ parse_opt(int key, char* arg, struct argp_state*)
namespace
{
class xtranslator_runner: public translator_runner
class xtranslator_runner final: public translator_runner
{
public:
xtranslator_runner(spot::bdd_dict_ptr dict)
......@@ -821,7 +821,7 @@ namespace
typedef
std::unordered_set<spot::formula> fset_t;
class processor: public job_processor
class processor final: public job_processor
{
spot::bdd_dict_ptr dict = spot::make_bdd_dict();
xtranslator_runner runner;
......
......@@ -125,7 +125,7 @@ parse_opt(int key, char* arg, struct argp_state*)
namespace
{
class xtranslator_runner: public translator_runner
class xtranslator_runner final: public translator_runner
{
public:
xtranslator_runner(spot::bdd_dict_ptr dict)
......@@ -209,7 +209,7 @@ namespace
};
class processor: public job_processor
class processor final: public job_processor
{
spot::bdd_dict_ptr dict = spot::make_bdd_dict();
xtranslator_runner runner;
......
......@@ -465,7 +465,7 @@ std::unordered_set<spot::formula> fset_t;
namespace
{
class ltl_processor: public job_processor
class ltl_processor final: public job_processor
{
public:
spot::tl_simplifier& simpl;
......
// -*- coding: utf-8 -*-
// Copyright (C) 2014, 2015 Laboratoire de Recherche et Développement de
// l'Epita (LRDE).
// Copyright (C) 2014, 2015, 2016 Laboratoire de Recherche et
// Développement de l'Epita (LRDE).
//
// This file is part of Spot, a model checking library.
//
......@@ -108,7 +108,7 @@ static const argp_child children[] = {
namespace
{
class mutate_processor: public job_processor
class mutate_processor final: public job_processor
{
public:
int
......
// -*- coding: utf-8 -*-
// Copyright (C) 2011, 2013, 2014, 2015 Laboratoire de Recherche et
// Développement de l'Epita (LRDE).
// Copyright (C) 2011, 2013, 2014, 2015, 2016 Laboratoire de Recherche
// et Développement de l'Epita (LRDE).
//
// This file is part of Spot, a model checking library.
//
......@@ -326,7 +326,7 @@ namespace spot
};
class int_array_array_compression:
class int_array_array_compression final:
public stream_compression_base<int_array_array_compression>
{
public:
......@@ -497,7 +497,7 @@ namespace spot
};
class int_array_array_decompression:
class int_array_array_decompression final:
public stream_decompression_base<int_array_array_decompression>
{
public:
......
// -*- coding: utf-8 -*-
// Copyright (C) 2011, 2013, 2014 Laboratoire de Recherche et
// Copyright (C) 2011, 2013, 2014, 2016 Laboratoire de Recherche et
// Développement de l'Epita (LRDE).
//
// This file is part of Spot, a model checking library.
......@@ -184,7 +184,7 @@ namespace spot
unsigned int bits_left_;
};
class int_array_vector_compression:
class int_array_vector_compression final:
public stream_compression_base<int_array_vector_compression>
{
public:
......@@ -233,7 +233,7 @@ namespace spot
std::vector<unsigned int>* result_;
};
class int_vector_vector_compression:
class int_vector_vector_compression final:
public stream_compression_base<int_vector_vector_compression>
{
public:
......@@ -277,7 +277,7 @@ namespace spot
std::vector<unsigned int>& output_;
};
class int_array_array_compression:
class int_array_array_compression final:
public stream_compression_base<int_array_array_compression>
{
public:
......@@ -521,7 +521,7 @@ namespace spot
unsigned int buffer_bits_;
};
class int_vector_vector_decompression:
class int_vector_vector_decompression final:
public stream_decompression_base<int_vector_vector_decompression>
{
public:
......@@ -572,7 +572,7 @@ namespace spot
size_t size_;
};
class int_vector_array_decompression:
class int_vector_array_decompression final:
public stream_decompression_base<int_vector_array_decompression>
{
public:
......@@ -622,7 +622,7 @@ namespace spot
size_t size_;
};
class int_array_array_decompression:
class int_array_array_decompression final:
public stream_decompression_base<int_array_array_decompression>
{
public:
......
......@@ -30,7 +30,7 @@ namespace spot
{
namespace
{
class dotty_bfs : public ta_reachable_iterator_breadth_first
class dotty_bfs final: public ta_reachable_iterator_breadth_first
{
void
parse_opts(const char* options)
......
// -*- coding: utf-8 -*-
// Copyright (C) 2010, 2014 Laboratoire de Recherche et Développement
// Copyright (C) 2010, 2014, 2016 Laboratoire de Recherche et Développement
// de l'Epita (LRDE).
//
// This file is part of Spot, a model checking library.
......@@ -26,7 +26,8 @@ namespace spot
{
namespace
{
class states_set_builder_bfs : public ta_reachable_iterator_breadth_first
class states_set_builder_bfs final:
public ta_reachable_iterator_breadth_first
{
public:
states_set_builder_bfs(const const_ta_ptr& a) :
......
// -*- coding: utf-8 -*-
// Copyright (C) 2008, 2014, 2015 Laboratoire de Recherche et
// Copyright (C) 2008, 2014, 2015, 2016 Laboratoire de Recherche et
// Développement de l'Epita (LRDE).
// Copyright (C) 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
......@@ -29,7 +29,7 @@ namespace spot
{
namespace
{
class stats_bfs : public ta_reachable_iterator_breadth_first
class stats_bfs final: public ta_reachable_iterator_breadth_first
{
public:
stats_bfs(const const_ta_ptr a, ta_statistics& s) :
......
......@@ -229,7 +229,7 @@ namespace spot
// Convert the formula's syntax tree into an undirected graph
// labeled by subformulas.
class formula_to_fgraph final
class formula_to_fgraph
{
public:
fgraph& g;
......
......@@ -39,7 +39,7 @@ namespace spot
typedef std::vector<formula> vec;
// The name of this class is public, but not its contents.
class tl_simplifier_cache
class tl_simplifier_cache final
{
typedef std::unordered_map<formula, formula> f2f_map;
typedef std::unordered_map<formula, bdd> f2b_map;
......
// -*- coding: utf-8 -*-
// Copyright (C) 2012, 2014, 2015 Laboratoire de Recherche et
// Copyright (C) 2012, 2014, 2015, 2016 Laboratoire de Recherche et
// Developpement de l'Epita (LRDE).
//
// This file is part of Spot, a model checking library.
......@@ -26,7 +26,7 @@ namespace spot
// E° if bounded=false
// E^□ if nounded=true
template<bool bounded>
class snf_visitor
class snf_visitor final
{
protected:
formula result_;
......
// -*- coding: utf-8 -*-
// Copyright (C) 2009, 2012, 2013, 2014, 2015 Laboratoire de Recherche
// et Développement de l'Epita (LRDE).
// Copyright (C) 2009, 2012, 2013, 2014, 2015, 2016 Laboratoire de
// Recherche et Développement de l'Epita (LRDE).
// Copyright (C) 2003, 2004, 2005, 2006 Laboratoire d'Informatique de
// Paris 6 (LIP6), département Systèmes Répartis Coopératifs (SRC),
// Université Pierre et Marie Curie.
......@@ -39,7 +39,7 @@ namespace spot
{
}
class bdd_dict_priv: public bdd_allocator
class bdd_dict_priv final: public bdd_allocator
{
public:
......
......@@ -147,7 +147,8 @@ namespace spot
/// \brief Iterate over the successors of a product computed on the fly.
class twa_succ_iterator_product: public twa_succ_iterator_product_common
class twa_succ_iterator_product final:
public twa_succ_iterator_product_common
{
public:
twa_succ_iterator_product(twa_succ_iterator* left,
......@@ -212,7 +213,7 @@ namespace spot
/// Iterate over the successors of a product computed on the fly.
/// This one assumes that LEFT is an iterator over a Kripke structure
class twa_succ_iterator_product_kripke:
class twa_succ_iterator_product_kripke final:
public twa_succ_iterator_product_common
{
public:
......
......@@ -57,7 +57,7 @@ namespace spot
// Acceptance set common to all outgoing edges (of the same
// SCC -- we do not care about the other) of some state.
class outgoing_acc
class outgoing_acc final
{
const_twa_graph_ptr a_;
typedef std::tuple<acc_cond::mark_t,
......@@ -125,7 +125,7 @@ namespace spot
};
// Order of accepting sets (for one SCC)
class acc_order
class acc_order final
{
std::vector<unsigned> order_;
acc_cond::mark_t found_;
......@@ -162,7 +162,7 @@ namespace spot
};
// Accepting order for each SCC
class scc_orders
class scc_orders final
{
std::map<int, acc_order> orders_;
bool skip_levels_;
......
......@@ -46,7 +46,7 @@ namespace spot
std::vector<size_t>& nb_braces);
};
class safra_state
class safra_state final
{
public:
using state_t = unsigned;
......
......@@ -44,7 +44,7 @@ namespace spot
{
constexpr int MAX_BULLET = 20;
class dotty_output
class dotty_output final
{
std::ostream& os_;
bool opt_force_acc_trans_ = false;
......
......@@ -280,7 +280,7 @@ namespace spot
namespace
{
class shortest_path: public bfs_steps
class shortest_path final: public bfs_steps
{
public:
shortest_path(const const_twa_ptr& a)
......
......@@ -28,7 +28,7 @@ namespace spot
{
namespace
{
class shortest_path: public bfs_steps
class shortest_path final: public bfs_steps
{
public:
shortest_path(const state_set* t,
......
......@@ -102,7 +102,7 @@ namespace spot
class translate_dict;
class ratexp_to_dfa
class ratexp_to_dfa final
{
typedef twa_graph::namer<formula> namer;
public:
......@@ -129,7 +129,7 @@ namespace spot
// "a" variables are promises (written "a" in the paper)
// "next" variables are X's operands (the "r_X" variables from the paper)
// "var" variables are atomic propositions.
class translate_dict
class translate_dict final
{
public:
......@@ -1063,7 +1063,7 @@ namespace spot
// Duret-Lutz's paper "LTL Translation Improvements in Spot 1.0"
// (IJCCBS 2014), for the optimization. The PSL stuff is
// unpublished yet.
class ltl_trad_visitor
class ltl_trad_visitor final
{
public:
ltl_trad_visitor(translate_dict& dict, bool mark_all = false,
......@@ -1663,7 +1663,7 @@ namespace spot
// Check whether a formula can be part of a fair loop.
// Cache the result for efficiency.
class possible_fair_loop_checker
class possible_fair_loop_checker final
{
public:
bool
......@@ -1680,7 +1680,7 @@ namespace spot
pfl_map pfl_;
};
class formula_canonizer
class formula_canonizer final
{
public:
formula_canonizer(translate_dict& d,
......
......@@ -47,7 +47,7 @@ namespace spot
/// \brief Emptiness checker on spot::tgba automata having at most one
/// acceptance condition (i.e. a TBA).
template <typename heap>
class magic_search_ : public emptiness_check, public ec_statistics
class magic_search_ final : public emptiness_check, public ec_statistics
{
public:
/// \brief Initialize the Magic Search algorithm on the automaton \a a
......@@ -424,12 +424,12 @@ namespace spot
};
};
class explicit_magic_search_heap
class explicit_magic_search_heap final
{
public:
enum { Safe = 1 };
class color_ref
class color_ref final
{
public:
color_ref(color* c) :p(c)
......@@ -507,12 +507,12 @@ namespace spot
state_map<color> h;
};
class bsh_magic_search_heap
class bsh_magic_search_heap final
{
public:
enum { Safe = 0 };
class color_ref
class color_ref final
{
public:
color_ref(unsigned char *b, unsigned char o): base(b), offset(o*2)
......
// -*- coding: utf-8 -*-
// Copyright (C) 2009, 2011, 2012, 2014, 2015 Laboratoire de Recherche et
// Développement de l'Epita (LRDE).
// Copyright (C) 2009, 2011, 2012, 2014, 2015, 2016 Laboratoire de
// Recherche et Développement de l'Epita (LRDE).
// Copyright (C) 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
// et Marie Curie.
......@@ -33,7 +33,7 @@ namespace spot
{
namespace
{
class never_claim_output
class never_claim_output final
{
public:
std::ostream& os_;
......
......@@ -325,7 +325,7 @@ namespace spot
return false;
}
class result_from_stack: public emptiness_check_result,
class result_from_stack final: public emptiness_check_result,
public acss_statistics
{
public:
......@@ -436,14 +436,14 @@ namespace spot
};
};
class explicit_se05_search_heap
class explicit_se05_search_heap final
{
typedef state_set hcyan_type;
typedef state_map<color> hash_type;
public:
enum { Safe = 1 };
class color_ref
class color_ref final
{
public:
color_ref(hash_type* h, hcyan_type* hc, const state* s)
......@@ -569,7 +569,7 @@ namespace spot
hcyan_type hc; // associate to each cyan state its weight
};
class bsh_se05_search_heap
class bsh_se05_search_heap final
{
private:
typedef std::unordered_set<const state*,
......@@ -577,7 +577,7 @@ namespace spot
public:
enum { Safe = 0 };
class color_ref
class color_ref final
{
public:
color_ref(hcyan_type* h, const state* st,
......
// -*- coding: utf-8 -*-
// Copyright (C) 2012, 2013, 2014, 2015 Laboratoire de Recherche et
// Développement de l'Epita (LRDE).
// Copyright (C) 2012, 2013, 2014, 2015, 2016 Laboratoire de Recherche
// et Développement de l'Epita (LRDE).
//
// This file is part of Spot, a model checking library.
//
......@@ -155,7 +155,7 @@ namespace spot
// The direct_simulation. If Cosimulation is true, we are doing a
// cosimulation.
template <bool Cosimulation, bool Sba>
class direct_simulation
class direct_simulation final
{
protected:
// Shortcut used in update_po and go_to_next_it.
......
......@@ -276,10 +276,10 @@ namespace spot
};
class explicit_tau03_search_heap
class explicit_tau03_search_heap final
{
public:
class color_ref
class color_ref final
{
public:
color_ref(color* c, acc_cond::mark_t* a) :p(c), acc(a)
......
......@@ -395,12 +395,12 @@ namespace spot
};
class explicit_tau03_opt_search_heap
class explicit_tau03_opt_search_heap final
{
typedef state_map<std::pair<weight, acc_cond::mark_t>> hcyan_type;
typedef state_map<std::pair<color, acc_cond::mark_t>> hash_type;
public:
class color_ref
class color_ref final
{
public:
color_ref(hash_type* h, hcyan_type* hc, const state* s,
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment