mCRL2
Loading...
Searching...
No Matches
mcrl2::data::sort_type_checker Class Reference

#include <sort_type_checker.h>

Inheritance diagram for mcrl2::data::sort_type_checker:
mcrl2::data::data_type_checker mcrl2::data::type_checker

Public Member Functions

 sort_type_checker (const sort_specification &sort_spec, bool must_check_aliases=true)
 constructs a sort expression checker.
 
const sort_specificationget_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.
 

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_sorts ()
 
void check_aliases ()
 
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_basic_sort_is_declared (const basic_sort &x) const
 
void check_sort_list_is_declared (const sort_expression_list &SortExprList) const
 
void check_sort_is_declared (const sort_expression &x) const
 
void check_for_empty_constructor_domains (const function_symbol_vector &constructors)
 

Protected Attributes

sort_specification m_sort_specification
 

Detailed Description

Definition at line 24 of file sort_type_checker.h.

Constructor & Destructor Documentation

◆ sort_type_checker()

mcrl2::data::sort_type_checker::sort_type_checker ( const sort_specification sort_spec,
bool  must_check_aliases = true 
)
inline

constructs a sort expression checker.

Definition at line 32 of file sort_type_checker.h.

Member Function Documentation

◆ check_alias_circularity()

void mcrl2::data::sort_type_checker::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 
)
inlineprotected

Definition at line 59 of file sort_type_checker.h.

◆ check_aliases()

void mcrl2::data::sort_type_checker::check_aliases ( )
inlineprotected

Definition at line 122 of file sort_type_checker.h.

◆ check_basic_sort_is_declared()

void mcrl2::data::sort_type_checker::check_basic_sort_is_declared ( const basic_sort x) const
inlineprotected

Definition at line 226 of file sort_type_checker.h.

◆ check_for_empty_constructor_domains()

void mcrl2::data::sort_type_checker::check_for_empty_constructor_domains ( const function_symbol_vector constructors)
inlineprotected

Definition at line 297 of file sort_type_checker.h.

◆ check_for_sort_alias_loop_through_function_sort()

void mcrl2::data::sort_type_checker::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 
)
inlineprotected

Definition at line 152 of file sort_type_checker.h.

◆ check_sort_is_declared()

void mcrl2::data::sort_type_checker::check_sort_is_declared ( const sort_expression x) const
inlineprotected

Definition at line 259 of file sort_type_checker.h.

◆ check_sort_list_is_declared()

void mcrl2::data::sort_type_checker::check_sort_list_is_declared ( const sort_expression_list SortExprList) const
inlineprotected

Definition at line 251 of file sort_type_checker.h.

◆ check_sorts()

void mcrl2::data::sort_type_checker::check_sorts ( )
inlineprotected

Definition at line 100 of file sort_type_checker.h.

◆ get_sort_specification()

const sort_specification & mcrl2::data::sort_type_checker::get_sort_specification ( ) const
inline

Definition at line 42 of file sort_type_checker.h.

◆ operator()()

void mcrl2::data::sort_type_checker::operator() ( const sort_expression x) const
inline

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

Parameters
[in]xA sort expression that has not been type checked.

Definition at line 51 of file sort_type_checker.h.

Member Data Documentation

◆ m_sort_specification

sort_specification mcrl2::data::sort_type_checker::m_sort_specification
protected

Definition at line 27 of file sort_type_checker.h.


The documentation for this class was generated from the following file: