18 if(type.
id()==ID_symbol)
22 symbol_tablet::symbolst::const_iterator s_it=
28 error() <<
"failed to find type symbol "<< identifier <<
eom;
32 assert(s_it->second.is_type);
34 else if(type.
id()==ID_pointer)
38 else if(type.
id()==ID_array)
43 else if(type.
id()==ID_code)
50 for(code_typet::parameterst::iterator
51 it=parameters.begin(); it!=parameters.end(); it++)
The type of an expression.
void typecheck_type(typet &)
std::vector< parametert > parameterst
void typecheck_type_symbol(symbolt &)
Symbol table entry.This is a symbol in the symbol table, stored in an object of type symbol_tablet...
static mstreamt & eom(mstreamt &m)
JAVA Bytecode Language Type Checking.
const irep_idt & id() const
const array_typet & to_array_type(const typet &type)
Cast a generic typet to an array_typet.
const symbol_typet & to_symbol_type(const typet &type)
Cast a generic typet to a symbol_typet.
virtual void typecheck_expr(exprt &expr)
symbol_tablet & symbol_table
typet type
Type of symbol.
const parameterst & parameters() const
const code_typet & to_code_type(const typet &type)
Cast a generic typet to a code_typet.
const typet & subtype() const
const typet & return_type() const
const irep_idt & get_identifier() const