mcrl2::data::sort_type_checker

Include file:

#include "mcrl2/data/sort_type_checker.h
class mcrl2::data::sort_type_checker

Protected attributes

sort_specification mcrl2::data::sort_type_checker::m_sort_specification

Public member functions

const sort_specification &get_sort_specification() const
void operator()(const sort_expression &x) const

Type check a sort expression. Throws an exception if the expression is not well typed.

Parameters:

  • x A sort expression that has not been type checked.
sort_type_checker(const sort_specification &sort_spec, bool must_check_aliases = true)

constructs a sort expression checker.

Protected member functions

void check_alias_circularity(const data::basic_sort &lhs, const data::sort_expression &rhs, std::set<basic_sort> sort_already_seen, const std::map<basic_sort, sort_expression> &alias_map)
void check_aliases()
void check_basic_sort_is_declared(const basic_sort &x) const
void check_for_empty_constructor_domains(const function_symbol_vector &constructors)
void check_for_sort_alias_loop_through_function_sort(const basic_sort &end_search, const sort_expression &start_search, std::set<basic_sort> &visited, const bool observed_a_sort_constructor, const std::map<basic_sort, sort_expression> &alias_map)
void check_sort_is_declared(const sort_expression &x) const
void check_sort_list_is_declared(const sort_expression_list &SortExprList) const
void check_sorts()