CheckerBase Struct Reference

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.

Detailed Description

CheckerBase class definition derived from class node.NodeWalker.

Public interface of class 'CheckerBase'.

See also:
Base class Object
Author:
Roberto Cavada
Todo:
: Missing description

Definition of the public accessor for class CheckerBase


Member Function Documentation

CheckerBase::INHERITS_FROM ( NodeWalker   ) 

Friends And Related Function Documentation

void checker_base_deinit ( CheckerBase_ptr  self  )  [related]

The CheckerBase class private deinitializer.

The CheckerBase class private deinitializer

See also:
CheckerBase_destroy
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

See also:
CheckerBase_create
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]
Todo:
Missing synopsis
Todo:
Missing description
VIRTUAL SymbType_ptr CheckerBase_check_expr ( CheckerBase_ptr  self,
node_ptr  expr,
node_ptr  context 
) [related]

Checks the given node.

AutomaticStart

This is virtual method. Before calling, please ensure the given node can be handled by self, by calling CheckerBase_can_handle.

Note: This method will be never called by the user

See also:
CheckerBase_can_handle
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

See also:
NodeWalker_destroy

Field Documentation

SymbType_ptr(* CheckerBase::check_expr)(CheckerBase_ptr self, node_ptr exp, node_ptr ctx)

The documentation for this struct was generated from the following files:
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines

Generated on 14 Oct 2015 for NuSMV Developers Manual by  doxygen 1.6.1