CheckerBase class definition derived from class node.NodeWalker. More...
#include <CheckerBase_private.h>
Public Member Functions | |
INHERITS_FROM (NodeWalker) | |
Data Fields | |
SymbType_ptr(* | check_expr )(CheckerBase_ptr self, node_ptr exp, node_ptr ctx) |
TypeCheckingViolationHandler_ptr | viol_handler |
Related Functions | |
(Note that these are not member functions.) | |
void | checker_base_deinit (CheckerBase_ptr self) |
The CheckerBase class private deinitializer. | |
void | checker_base_init (CheckerBase_ptr self, const NuSMVEnv_ptr env, const char *name, int low, size_t num) |
The CheckerBase class private initializer. | |
VIRTUAL boolean | checker_base_manage_violation (CheckerBase_ptr self, TypeSystemViolation violation, node_ptr expression) |
Virtual protected method for violation handling. | |
void | checker_base_print_type (CheckerBase_ptr self, FILE *output_stream, node_ptr expression, node_ptr context) |
VIRTUAL SymbType_ptr | CheckerBase_check_expr (CheckerBase_ptr self, node_ptr expr, node_ptr context) |
Checks the given node. | |
CheckerBase_ptr | CheckerBase_create (const NuSMVEnv_ptr env, const char *name, int low, size_t num) |
Creates and initializes a checker. To be usable, the checker will have to be registered to a TypeChecker. |
CheckerBase class definition derived from class node.NodeWalker.
Public interface of class 'CheckerBase'.
Definition of the public accessor for class CheckerBase
CheckerBase::INHERITS_FROM | ( | NodeWalker | ) |
void checker_base_deinit | ( | CheckerBase_ptr | self | ) | [related] |
The CheckerBase class private deinitializer.
The CheckerBase class private deinitializer
void checker_base_init | ( | CheckerBase_ptr | self, | |
const NuSMVEnv_ptr | env, | |||
const char * | name, | |||
int | low, | |||
size_t | num | |||
) | [related] |
The CheckerBase class private initializer.
The CheckerBase class private initializer
VIRTUAL boolean checker_base_manage_violation | ( | CheckerBase_ptr | self, | |
TypeSystemViolation | violation, | |||
node_ptr | expression | |||
) | [related] |
Virtual protected method for violation handling.
This virtual method is called by checkers to handle their violations. Tipically this method is not called directly, but throw the macro _VIOLATION that casts its arguments and improves readability (at least as main tentative idea)
void checker_base_print_type | ( | CheckerBase_ptr | self, | |
FILE * | output_stream, | |||
node_ptr | expression, | |||
node_ptr | context | |||
) | [related] |
VIRTUAL SymbType_ptr CheckerBase_check_expr | ( | CheckerBase_ptr | self, | |
node_ptr | expr, | |||
node_ptr | context | |||
) | [related] |
CheckerBase_ptr CheckerBase_create | ( | const NuSMVEnv_ptr | env, | |
const char * | name, | |||
int | low, | |||
size_t | num | |||
) | [related] |
Creates and initializes a checker. To be usable, the checker will have to be registered to a TypeChecker.
To each checker is associated a partition of consecutive indices over the symbols set. The lowest index of the partition is given through the parameter low, while num is the partition size. Name is used to easily identify checker instances.
This method is private, as this class is virtual
SymbType_ptr(* CheckerBase::check_expr)(CheckerBase_ptr self, node_ptr exp, node_ptr ctx) |