cprover
remove_static_init_loopst Class Reference
Collaboration diagram for remove_static_init_loopst:
[legend]

Public Member Functions

 remove_static_init_loopst (const symbol_tablet &_symbol_table)
 
void unwind_enum_static (const goto_functionst &goto_functions, optionst &options)
 unwind static initialization loops of Java enums as far as the enum has elements, thus flattening them completely More...
 

Protected Attributes

const symbol_tabletsymbol_table
 

Detailed Description

Definition at line 20 of file remove_static_init_loops.cpp.

Constructor & Destructor Documentation

◆ remove_static_init_loopst()

remove_static_init_loopst::remove_static_init_loopst ( const symbol_tablet _symbol_table)
inlineexplicit

Definition at line 23 of file remove_static_init_loops.cpp.

Member Function Documentation

◆ unwind_enum_static()

void remove_static_init_loopst::unwind_enum_static ( const goto_functionst goto_functions,
optionst options 
)

unwind static initialization loops of Java enums as far as the enum has elements, thus flattening them completely

parameters: goto_functions and options
Returns
side effect is adding <clinit> loops to unwindset

Definition at line 39 of file remove_static_init_loops.cpp.

References forall_goto_functions, optionst::get_option(), irept::get_size_t(), has_suffix(), id2string(), symbol_tablet::lookup(), symbolt::mode, safe_string2unsigned(), optionst::set_option(), symbol_table, to_class_type(), and symbolt::type.

Referenced by remove_static_init_loops().

Member Data Documentation

◆ symbol_table

const symbol_tablet& remove_static_init_loopst::symbol_table
protected

Definition at line 32 of file remove_static_init_loops.cpp.

Referenced by unwind_enum_static().


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