21 if(type.
id() == ID_struct_tag)
27 type_symbol,
"symbol " +
id2string(identifier) +
" must exist already");
30 "symbol " +
id2string(identifier) +
" must be a type");
32 else if(type.
id()==ID_pointer)
36 else if(type.
id()==ID_array)
41 else if(type.
id()==ID_code)
48 for(java_method_typet::parameterst::iterator it = parameters.begin();
49 it != parameters.end();
60 symbol.
mode = ID_java;
const typet & return_type() const
const parameterst & parameters() const
dstringt has one field, an unsigned integer no which is an index into a static table of strings.
const irep_idt & id() const
void typecheck_type_symbol(symbolt &)
void typecheck_type(typet &)
virtual void typecheck_expr(exprt &expr)
symbol_table_baset & symbol_table
std::vector< parametert > parameterst
const symbolt * lookup(const irep_idt &name) const
Find a symbol in the symbol table for read-only access.
typet type
Type of symbol.
irep_idt name
The unique identifier.
irep_idt mode
Language mode.
const irep_idt & get_identifier() const
The type of an expression, extends irept.
const std::string & id2string(const irep_idt &d)
JAVA Bytecode Language Type Checking.
const java_method_typet & to_java_method_type(const typet &type)
const pointer_typet & to_pointer_type(const typet &type)
Cast a typet to a pointer_typet.
#define DATA_INVARIANT(CONDITION, REASON)
This condition should be used to document that assumptions that are made on goto_functions,...
const array_typet & to_array_type(const typet &type)
Cast a typet to an array_typet.
const struct_tag_typet & to_struct_tag_type(const typet &type)
Cast a typet to a struct_tag_typet.