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_tablet &_symbol_table, message_handlert &_message_handler, bool _string_refinement_enabled)
 
virtual ~java_bytecode_typecheckt ()
 
virtual void typecheck ()
 
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)
 
 messaget (message_handlert &_message_handler)
 
virtual ~messaget ()
 
mstreamtget_mstream (unsigned message_level)
 
mstreamterror ()
 
mstreamtwarning ()
 
mstreamtresult ()
 
mstreamtstatus ()
 
mstreamtstatistics ()
 
mstreamtprogress ()
 
mstreamtdebug ()
 

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_java_string_literal (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_tabletsymbol_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 mstreamteom (mstreamt &m)
 
static mstreamtendl (mstreamt &m)
 

Detailed Description

Definition at line 35 of file java_bytecode_typecheck.h.

Constructor & Destructor Documentation

◆ java_bytecode_typecheckt()

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

Definition at line 38 of file java_bytecode_typecheck.h.

◆ ~java_bytecode_typecheckt()

virtual java_bytecode_typecheckt::~java_bytecode_typecheckt ( )
inlinevirtual

Definition at line 49 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()

void java_bytecode_typecheckt::typecheck ( )
virtual

◆ typecheck_code()

◆ typecheck_expr()

◆ typecheck_expr_java_new()

void java_bytecode_typecheckt::typecheck_expr_java_new ( side_effect_exprt expr)
protected

Definition at line 54 of file java_bytecode_typecheck_expr.cpp.

References exprt::operands(), exprt::type(), and typecheck_type().

Referenced by typecheck_expr().

◆ typecheck_expr_java_new_array()

void java_bytecode_typecheckt::typecheck_expr_java_new_array ( side_effect_exprt expr)
protected

Definition at line 61 of file java_bytecode_typecheck_expr.cpp.

References exprt::operands(), exprt::type(), and typecheck_type().

Referenced by typecheck_expr().

◆ typecheck_expr_java_string_literal()

◆ 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

Definition at line 56 of file java_bytecode_typecheck_type.cpp.

References symbolt::is_type, symbolt::type, and typecheck_type().

Referenced by typecheck().

Member Data Documentation

◆ already_typechecked

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

Definition at line 73 of file java_bytecode_typecheck.h.

◆ ns

const namespacet java_bytecode_typecheckt::ns
protected

◆ string_refinement_enabled

bool java_bytecode_typecheckt::string_refinement_enabled
protected

Definition at line 57 of file java_bytecode_typecheck.h.

Referenced by typecheck_expr_java_string_literal().

◆ symbol_table

symbol_tablet& java_bytecode_typecheckt::symbol_table
protected

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