Main Page Modules Namespace List Class Hierarchy Alphabetical List Compound List File List Namespace Members Compound Members File Members Related Pages
constant Class Reference#include <constant.h>
List of all members.
Constructor & Destructor Documentation
constant::constant |
( |
signed char |
SChar |
) |
[inline] |
|
constant::constant |
( |
unsigned char |
UChar |
) |
[inline] |
|
constant::constant |
( |
signed short int |
SShort |
) |
[inline] |
|
constant::constant |
( |
unsigned short int |
UShort |
) |
[inline] |
|
constant::constant |
( |
signed int |
SInt |
) |
[inline] |
|
constant::constant |
( |
unsigned int |
UInt |
) |
[inline] |
|
constant::constant |
( |
signed long int |
SLong |
) |
[inline] |
|
constant::constant |
( |
unsigned long int |
ULong |
) |
[inline] |
|
constant::constant |
( |
float |
Float |
) |
[inline] |
|
constant::constant |
( |
double |
Double |
) |
[inline] |
|
constant::constant |
( |
const char * |
Str |
) |
[inline] |
|
constant::constant |
( |
void * |
Ptr |
) |
[inline] |
|
constant::constant |
( |
|
) |
[inline] |
|
|
Definition at line 157 of file constant.h.
Referenced by cast(), Double(), eval(), Float(), lir_gen_walker::gen_binary_assignment(), lir_gen_walker::index_offset(), lir_gen_walker::load_const(), lir_gen_walker::load_global_addr(), lir_gen_walker::load_global_value(), lir_gen_walker::load_global_var(), lir_gen_walker::load_stack_value(), reg_or_const::operator=(), SChar(), SInt(), SLong(), SShort(), lir_gen_walker::store_global(), lir_gen_walker::store_stack(), UChar(), UInt(), ULong(), and UShort(). |
constant::constant |
( |
const constant & |
other |
) |
|
|
Member Function Documentation
const basic_type& constant::basic |
( |
|
) |
const [inline] |
|
bool constant::Boolean |
( |
|
) |
const |
|
|
Definition at line 118 of file constant.cc.
References _bt, _v, basic_type::Double, basic_type::Float, is_ptr(), is_str(), basic_type::SInt, basic_type::SLong, basic_type::SShort, basic_type::UInt, basic_type::ULong, and basic_type::UShort.
Referenced by constantFoldingChanger::at_conditiongoto(), constantsChanger::at_conditiongoto(), CFS_Changer::at_if(), ternaryNode::eval(), constantAnalyzer::has_truth_value(), is_zero(), and operator<(). |
constant constant::cast |
( |
const basic_type & |
new_bt, |
|
|
const constant & |
con |
|
) |
[static] |
|
|
Definition at line 780 of file constant.cc.
References basic(), constant(), Double, basic_type::Double, Float, basic_type::Float, no_val(), SChar, basic_type::SChar, SInt, basic_type::SInt, SLong, basic_type::SLong, SShort, basic_type::SShort, UChar, basic_type::UChar, UInt, basic_type::UInt, ULong, basic_type::ULong, UShort, and basic_type::UShort.
Referenced by constantAnalyzer::at_cast(), constantPropChanger::at_expr(), ipConstant::cast_operator(), InitializerDismantle::init_array(), and InitializerDismantle::init_struct(). |
void constant::Double |
( |
double |
val |
) |
[inline] |
|
double constant::Double |
( |
|
) |
const [inline] |
|
constant constant::eval |
( |
const Operator * |
op, |
|
|
const constant & |
operand |
|
) |
[static] |
|
|
Definition at line 680 of file constant.cc.
References basic(), constant(), Double, basic_type::Double, Float, basic_type::Float, Operator::id(), no_val(), SInt, basic_type::SInt, SLong, basic_type::SLong, UInt, basic_type::UInt, ULong, basic_type::ULong, Operator::UMINUS, and Operator::UPLUS. |
constant constant::eval |
( |
const Operator * |
op, |
|
|
const constant & |
operand1, |
|
|
const constant & |
operand2 |
|
) |
[static] |
|
|
Definition at line 287 of file constant.cc.
References Operator::ANDAND, basic(), constant(), Double, basic_type::Double, Operator::EQ, Float, basic_type::Float, Operator::GE, Operator::id(), Operator::LE, Operator::LS, Operator::NE, no_val(), Operator::OROR, Operator::RS, SInt, basic_type::SInt, SLong, basic_type::SLong, UInt, basic_type::UInt, ULong, and basic_type::ULong.
Referenced by constantAnalyzer::at_binary(), constantFoldingChanger::at_conditiongoto(), constantPropChanger::at_expr(), constantFoldingChanger::at_threeAddr(), constantAnalyzer::at_unary(), ipConstant::binary_operator(), operator<(), and ipConstant::unary_operator(). |
void constant::Float |
( |
float |
val |
) |
[inline] |
|
float constant::Float |
( |
|
) |
const [inline] |
|
unsigned long constant::Integer |
( |
|
) |
const |
|
|
Definition at line 93 of file constant.cc.
References _bt, _v, basic_type::SInt, basic_type::SLong, basic_type::SShort, basic_type::UInt, basic_type::ULong, and basic_type::UShort.
Referenced by AllocSizeChanger::at_array(), enum_value_walker::at_enum(), semcheck_walker::at_suespec(), constantFoldingChanger::at_threeAddr(), lir_gen_walker::index_offset(), InitializerDismantle::init_array(), is_equal_to(), and arrayNode::qualified_equal_to(). |
bool constant::is_equal_to |
( |
const constant & |
other |
) |
const |
|
|
Definition at line 211 of file constant.cc.
References basic(), Double(), basic_type::Double, Float(), basic_type::Float, Integer(), basic_type::is_integer(), is_ptr(), is_str(), Ptr(), and Str().
Referenced by constantPropChanger::at_expr(), ipConstant::diff(), ipConstant::meet_with(), and Symbol::operator==(). |
bool constant::is_ptr |
( |
|
) |
const [inline] |
|
bool constant::is_str |
( |
|
) |
const [inline] |
|
|
Definition at line 148 of file constant.h.
Referenced by UnificationBasedPtr::alpha(), constantAnalyzer::at_const(), Boolean(), constNode::constNode(), Pointers::eval(), arch_info::instruction_supports_immediate(), is_equal_to(), InitializerDismantle::isStringLiteral(), lir_gen_walker::load_const(), make_zero(), vcgASTWalker::node_name(), operator<(), operator=(), reg_or_const::to_string(), and to_string(). |
bool constant::is_zero |
( |
|
) |
const |
|
void constant::make_zero |
( |
|
) |
|
|
|
Definition at line 164 of file constant.cc.
References _bt, _v, basic_type::Double, basic_type::Float, is_ptr(), is_str(), SInt(), basic_type::SInt, basic_type::SLong, basic_type::SShort, basic_type::UInt, basic_type::ULong, and basic_type::UShort. |
bool constant::no_val |
( |
|
) |
const [inline] |
|
|
Definition at line 161 of file constant.h.
Referenced by AllocSizeChanger::at_array(), constantFoldingChanger::at_conditiongoto(), constantsChanger::at_conditiongoto(), ipConstantsChanger::at_expr(), constantsChanger::at_id(), constantFoldingChanger::at_threeAddr(), constantsChanger::at_threeAddr(), cast(), TreeChecker::checkConstant(), ternaryNode::eval(), eval(), InitializerDismantle::eval_or_cast(), InitializerDismantle::init_array(), ipConstant::is_bottom(), ipConstant::is_top(), lir_gen_walker::load_const(), operator<(), and arrayNode::qualified_equal_to(). |
bool constant::operator< |
( |
const constant & |
other |
) |
const |
|
constant & constant::operator= |
( |
const constant & |
rhs |
) |
|
|
void constant::print_char |
( |
int |
value, |
|
|
ostringstream & |
ost |
|
) |
[static, private] |
|
void* constant::Ptr |
( |
|
) |
const [inline] |
|
void constant::SChar |
( |
signed char |
val |
) |
[inline] |
|
signed char constant::SChar |
( |
|
) |
const [inline] |
|
void constant::set_no_val |
( |
|
) |
[inline] |
|
void constant::SInt |
( |
signed int |
val |
) |
[inline] |
|
signed int constant::SInt |
( |
|
) |
const [inline] |
|
void constant::SLong |
( |
signed long int |
val |
) |
[inline] |
|
signed long int constant::SLong |
( |
|
) |
const [inline] |
|
void constant::SShort |
( |
signed short int |
val |
) |
[inline] |
|
signed short int constant::SShort |
( |
|
) |
const [inline] |
|
char* constant::Str |
( |
|
) |
const [inline] |
|
string constant::to_string |
( |
bool |
wantQuoteChar = true |
) |
const |
|
|
Definition at line 1119 of file constant.cc.
References _bt, _v, basic_type::Double, basic_type::Float, basic_type::is_char(), is_ptr(), is_str(), print_char(), Ptr(), basic_type::SChar, basic_type::SInt, basic_type::SLong, basic_type::SShort, Str(), basic_type::UChar, basic_type::UInt, basic_type::ULong, and basic_type::UShort.
Referenced by constantsChanger::at_id(), constantsChanger::at_threeAddr(), TreeChecker::checkConstant(), arch_info::make_template_replacements(), vcgASTWalker::node_name(), constNode::output_expr(), ipConstant::print(), constantAnalyzer::print(), reg_or_const::to_string(), and constantAnalyzer::to_string(). |
void constant::UChar |
( |
unsigned char |
val |
) |
[inline] |
|
unsigned char constant::UChar |
( |
|
) |
const [inline] |
|
void constant::UInt |
( |
unsigned int |
val |
) |
[inline] |
|
unsigned int constant::UInt |
( |
|
) |
const [inline] |
|
void constant::ULong |
( |
unsigned long int |
val |
) |
[inline] |
|
unsigned long int constant::ULong |
( |
|
) |
const [inline] |
|
void constant::UShort |
( |
unsigned short int |
val |
) |
[inline] |
|
unsigned short int constant::UShort |
( |
|
) |
const [inline] |
|
Member Data Documentation
bool constant::_is_ptr [private]
|
|
bool constant::_is_str [private]
|
|
bool constant::_no_val [private]
|
|
union { ... } constant::_v [private]
|
|
|
Referenced by Boolean(), constant(), Double(), Float(), Integer(), make_zero(), operator=(), Ptr(), SChar(), SInt(), SLong(), SShort(), Str(), to_string(), UChar(), UInt(), ULong(), UShort(), and ~constant(). |
double constant::Double [private]
|
|
float constant::Float [private]
|
|
void* constant::Ptr [private]
|
|
signed char constant::SChar [private]
|
|
signed int constant::SInt [private]
|
|
signed long int constant::SLong [private]
|
|
signed short int constant::SShort [private]
|
|
char* constant::Str [private]
|
|
unsigned char constant::UChar [private]
|
|
unsigned int constant::UInt [private]
|
|
unsigned long int constant::ULong [private]
|
|
unsigned short int constant::UShort [private]
|
|
The documentation for this class was generated from the following files:
|