cprover
java_bytecode_typecheckt Class Reference

#include <java_bytecode_typecheck.h>

Inheritance diagram for java_bytecode_typecheckt:
[legend]
Collaboration diagram for java_bytecode_typecheckt:
[legend]

Public Member Functions

 java_bytecode_typecheckt (symbol_table_baset &_symbol_table, message_handlert &_message_handler, bool _string_refinement_enabled)
 
virtual ~java_bytecode_typecheckt ()
 
virtual void typecheck ()
 
void typecheck (const journalling_symbol_tablet::changesett &identifiers)
 
virtual void typecheck_expr (exprt &expr)
 
- Public Member Functions inherited from typecheckt
 typecheckt (message_handlert &_message_handler)
 
virtual ~typecheckt ()
 
void err_location (const source_locationt &loc)
 
void err_location (const exprt &src)
 
void err_location (const typet &src)
 
virtual bool typecheck_main ()
 
- Public Member Functions inherited from messaget
virtual void set_message_handler (message_handlert &_message_handler)
 
message_handlertget_message_handler ()
 
 messaget ()
 
 messaget (const messaget &other)
 
messagetoperator= (const messaget &other)
 
 messaget (message_handlert &_message_handler)
 
virtual ~messaget ()
 
mstreamtget_mstream (unsigned message_level) const
 
mstreamterror () const
 
mstreamtwarning () const
 
mstreamtresult () const
 
mstreamtstatus () const
 
mstreamtstatistics () const
 
mstreamtprogress () const
 
mstreamtdebug () const
 
void conditional_output (mstreamt &mstream, const std::function< void(mstreamt &)> &output_generator) const
 Generate output to mstream using output_generator if the configured verbosity is at least as high as that of mstream. More...
 

Protected Member Functions

void typecheck_type_symbol (symbolt &)
 
void typecheck_non_type_symbol (symbolt &)
 
void typecheck_code (codet &)
 
void typecheck_type (typet &)
 
void typecheck_expr_symbol (symbol_exprt &)
 
void typecheck_expr_member (member_exprt &)
 
void typecheck_expr_java_new (side_effect_exprt &)
 
void typecheck_expr_java_new_array (side_effect_exprt &)
 
virtual std::string to_string (const exprt &expr)
 
virtual std::string to_string (const typet &type)
 

Protected Attributes

symbol_table_basetsymbol_table
 
const namespacet ns
 
bool string_refinement_enabled
 
std::set< irep_idtalready_typechecked
 
- Protected Attributes inherited from messaget
message_handlertmessage_handler
 
mstreamt mstream
 

Additional Inherited Members

- Public Types inherited from messaget
enum  message_levelt {
  M_ERROR =1, M_WARNING =2, M_RESULT =4, M_STATUS =6,
  M_STATISTICS =8, M_PROGRESS =9, M_DEBUG =10
}
 
- Static Public Member Functions inherited from messaget
static unsigned eval_verbosity (const std::string &user_input, const message_levelt default_verbosity, message_handlert &dest)
 Parse a (user-)provided string as a verbosity level and set it as the verbosity of dest. More...
 
static mstreamteom (mstreamt &m)
 
static mstreamtendl (mstreamt &m)
 

Detailed Description

Definition at line 40 of file java_bytecode_typecheck.h.

Constructor & Destructor Documentation

◆ java_bytecode_typecheckt()

java_bytecode_typecheckt::java_bytecode_typecheckt ( symbol_table_baset _symbol_table,
message_handlert _message_handler,
bool  _string_refinement_enabled 
)
inline

Definition at line 43 of file java_bytecode_typecheck.h.

◆ ~java_bytecode_typecheckt()

virtual java_bytecode_typecheckt::~java_bytecode_typecheckt ( )
inlinevirtual

Definition at line 54 of file java_bytecode_typecheck.h.

Member Function Documentation

◆ to_string() [1/2]

std::string java_bytecode_typecheckt::to_string ( const exprt expr)
protectedvirtual

Definition at line 20 of file java_bytecode_typecheck.cpp.

References expr2java(), and ns.

◆ to_string() [2/2]

std::string java_bytecode_typecheckt::to_string ( const typet type)
protectedvirtual

Definition at line 25 of file java_bytecode_typecheck.cpp.

References ns, and type2java().

◆ typecheck() [1/2]

void java_bytecode_typecheckt::typecheck ( )
virtual

Implements typecheckt.

Definition at line 37 of file java_bytecode_typecheck.cpp.

References symbol_table, and symbol_table_baset::symbols.

◆ typecheck() [2/2]

void java_bytecode_typecheckt::typecheck ( const journalling_symbol_tablet::changesett &  identifiers)

◆ typecheck_code()

◆ typecheck_expr()

◆ typecheck_expr_java_new()

void java_bytecode_typecheckt::typecheck_expr_java_new ( side_effect_exprt expr)
protected

◆ typecheck_expr_java_new_array()

void java_bytecode_typecheckt::typecheck_expr_java_new_array ( side_effect_exprt expr)
protected

◆ typecheck_expr_member()

◆ typecheck_expr_symbol()

◆ typecheck_non_type_symbol()

void java_bytecode_typecheckt::typecheck_non_type_symbol ( symbolt symbol)
protected

◆ typecheck_type()

◆ typecheck_type_symbol()

void java_bytecode_typecheckt::typecheck_type_symbol ( symbolt symbol)
protected

Member Data Documentation

◆ already_typechecked

std::set<irep_idt> java_bytecode_typecheckt::already_typechecked
protected

Definition at line 78 of file java_bytecode_typecheck.h.

◆ ns

const namespacet java_bytecode_typecheckt::ns
protected

Definition at line 62 of file java_bytecode_typecheck.h.

Referenced by to_string(), typecheck_expr(), and typecheck_expr_member().

◆ string_refinement_enabled

bool java_bytecode_typecheckt::string_refinement_enabled
protected

Definition at line 63 of file java_bytecode_typecheck.h.

◆ symbol_table

symbol_table_baset& java_bytecode_typecheckt::symbol_table
protected

Definition at line 61 of file java_bytecode_typecheck.h.

Referenced by typecheck(), typecheck_expr_symbol(), and typecheck_type().


The documentation for this class was generated from the following files: