#include <typechecker.h>
Inheritance diagram for UTAP::TypeChecker:
The type checker can only visit the system given in the constructor. The type checker must not be constructed before the system has been parsed.
TypeChecker::TypeChecker | ( | TimedAutomataSystem * | system | ) |
virtual UTAP::TypeChecker::~TypeChecker | ( | ) | [inline, virtual] |
bool TypeChecker::checkExpression | ( | expression_t | expr | ) |
Type check an expression.
This function performs basic type checking of the given expression and assigns a type to every subexpression of the expression. It checks that only left-hand side values are updated, checks that functions are called with the correct arguments, checks that operators are used with the correct operands and checks that operands to assignment operators are assignment compatible. Errors are reported by calling handleError(). This function does not check/compute the range of integer expressions and thus does not produce out-of-range errors or warnings. Returns true if no type errors were found, false otherwise.
int32_t TypeChecker::visitAssertStatement | ( | AssertStatement * | stat | ) | [virtual] |
Reimplemented from UTAP::AbstractStatementVisitor.
int32_t TypeChecker::visitBlockStatement | ( | BlockStatement * | stat | ) | [virtual] |
Reimplemented from UTAP::AbstractStatementVisitor.
int32_t TypeChecker::visitDoWhileStatement | ( | DoWhileStatement * | stat | ) | [virtual] |
Reimplemented from UTAP::AbstractStatementVisitor.
void TypeChecker::visitEdge | ( | edge_t & | ) | [virtual] |
Reimplemented from UTAP::SystemVisitor.
int32_t TypeChecker::visitEmptyStatement | ( | EmptyStatement * | stat | ) | [virtual] |
Reimplemented from UTAP::AbstractStatementVisitor.
int32_t TypeChecker::visitExprStatement | ( | ExprStatement * | stat | ) | [virtual] |
Reimplemented from UTAP::AbstractStatementVisitor.
int32_t TypeChecker::visitForStatement | ( | ForStatement * | stat | ) | [virtual] |
Reimplemented from UTAP::AbstractStatementVisitor.
void TypeChecker::visitFunction | ( | function_t & | ) | [virtual] |
Reimplemented from UTAP::SystemVisitor.
int32_t TypeChecker::visitIfStatement | ( | IfStatement * | stat | ) | [virtual] |
Reimplemented from UTAP::AbstractStatementVisitor.
void TypeChecker::visitInstance | ( | instance_t & | ) | [virtual] |
Reimplemented from UTAP::SystemVisitor.
int32_t TypeChecker::visitIterationStatement | ( | IterationStatement * | stat | ) | [virtual] |
Reimplemented from UTAP::AbstractStatementVisitor.
void TypeChecker::visitProcess | ( | instance_t & | ) | [virtual] |
Reimplemented from UTAP::SystemVisitor.
void TypeChecker::visitProgressMeasure | ( | progress_t & | ) | [virtual] |
Reimplemented from UTAP::SystemVisitor.
void TypeChecker::visitProperty | ( | expression_t | ) | [virtual] |
int32_t TypeChecker::visitReturnStatement | ( | ReturnStatement * | stat | ) | [virtual] |
Reimplemented from UTAP::AbstractStatementVisitor.
void TypeChecker::visitState | ( | state_t & | ) | [virtual] |
Reimplemented from UTAP::SystemVisitor.
void TypeChecker::visitSystemAfter | ( | TimedAutomataSystem * | ) | [virtual] |
Reimplemented from UTAP::SystemVisitor.
void TypeChecker::visitVariable | ( | variable_t & | ) | [virtual] |
Reimplemented from UTAP::SystemVisitor.
int32_t TypeChecker::visitWhileStatement | ( | WhileStatement * | stat | ) | [virtual] |
Reimplemented from UTAP::AbstractStatementVisitor.