ESBMC
Efficient SMT-based Context-Bounded Model Checker
Loading...
Searching...
No Matches
jimple_type Class Reference

#include <jimple_type.h>

Inheritance diagram for jimple_type:
[legend]

Public Member Functions

virtual void from_json (const json &j) override
 Initializes the current instance by parsing a JSON.
virtual std::string to_string () const override
 Converts the object into a string.
virtual typet to_typet (const contextt &ctx) const
virtual type2tc to_type2t (const contextt &ctx) const
 IREP2 form of to_typet, for the natively-built expressions and for the declaration sites.
bool is_array () const
Public Member Functions inherited from jimple_ast
void dump () const
 Prints the contents into the the stdout.

Public Attributes

std::string name
short dimensions
Public Attributes inherited from jimple_ast
int line_location = -1
 instruction location

Protected Member Functions

typet get_base_type (const contextt &ctx) const
type2tc get_base_type2 (const contextt &ctx) const
typet get_builtin_type () const
typet get_arr_type (const contextt &ctx) const
type2tc get_arr_type2 (const contextt &ctx) const

Additional Inherited Members

Static Protected Member Functions inherited from jimple_ast
static symbolt create_jimple_symbolt (const type2tc &t, const std::string &module, const std::string &name, const std::string &id, const std::string function_name="")
 creates a symbol with the default characteristics
static symbolt get_temp_symbol (const type2tc &t, const std::string &class_name, const std::string &function_name)
 Create a temporary variable to be used.
static symbolt get_allocation_function ()
 Get the allocation function symbol.
static symbolt get_lengthof_function ()
 Get the esbmc_get_object_size symbol.
static std::string get_method_name (std::string class_name, std::string function_name)
 Get the unique method name.
static std::string get_symbol_name (std::string class_name, std::string function_name, std::string symbol)
 Get the symbol name id.
static locationt get_location (const std::string &module, const std::string function_name="")
 initialize a location for the symbol

Member Function Documentation

◆ from_json()

void jimple_type::from_json ( const json & )
overridevirtual

Initializes the current instance by parsing a JSON.

Parameters
jsonThe json object relative to the structure

Implements jimple_ast.

◆ get_arr_type()

typet jimple_type::get_arr_type ( const contextt & ctx) const
inlineprotected

◆ get_arr_type2()

type2tc jimple_type::get_arr_type2 ( const contextt & ctx) const
inlineprotected

◆ get_base_type()

typet jimple_type::get_base_type ( const contextt & ctx) const
protected

◆ get_base_type2()

type2tc jimple_type::get_base_type2 ( const contextt & ctx) const
protected

◆ get_builtin_type()

typet jimple_type::get_builtin_type ( ) const
protected

◆ is_array()

bool jimple_type::is_array ( ) const
inline

◆ to_string()

std::string jimple_type::to_string ( ) const
overridevirtual

Converts the object into a string.

Returns
a human readable string of the object

Implements jimple_ast.

◆ to_type2t()

type2tc jimple_type::to_type2t ( const contextt & ctx) const
virtual

IREP2 form of to_typet, for the natively-built expressions and for the declaration sites.

Kept parallel rather than replacing to_typet: the legacy one still feeds jimple_newarray's allocation arithmetic, which reads a width off the pointed-to type.

◆ to_typet()

typet jimple_type::to_typet ( const contextt & ctx) const
virtual

Member Data Documentation

◆ dimensions

short jimple_type::dimensions

◆ name

std::string jimple_type::name

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