49 bool has_this=code_type.
has_this() &&
74 if(has_this && it==arguments.begin())
101 if(full_type.
id()!=ID_struct)
106 std::string dest=
"{ ";
111 assert(components.size()==src.
operands().size());
113 exprt::operandst::const_iterator o_it=src.
operands().begin();
118 for(struct_typet::componentst::const_iterator
119 c_it=components.begin();
120 c_it!=components.end();
123 if(c_it->type().id()==ID_code)
128 std::string tmp=
convert(*o_it);
135 if(last_size+40<dest.size())
138 last_size=dest.size();
146 dest+=c_it->get_string(ID_pretty_name);
161 unsigned &precedence)
163 if(src.
type().
id()==ID_c_bool)
170 else if(src.
type().
id()==ID_bool)
177 else if(src.
type().
id()==ID_pointer)
194 if(int_value>=
' ' && int_value<127)
195 dest+=
static_cast<char>(int_value.to_long());
199 while(hex.size()<4) hex=
'0'+hex;
214 std::string dest=
"(byte)";
224 std::string dest=
"(short)";
245 const std::string &declarator)
248 new_qualifiers.
read(src);
251 declarator==
""?declarator:(
" "+declarator);
271 return q+
"boolean"+d;
274 else if(src.
id()==ID_code)
287 for(code_typet::parameterst::const_iterator
288 it=parameters.begin();
289 it!=parameters.end();
292 if(it!=parameters.begin())
300 if(!parameters.empty())
308 dest+=
" -> "+
convert(return_type);
342 if(src.
get(ID_statement)==ID_java_new_array)
346 std::string tmp_size=
347 convert(static_cast<const exprt &>(src.
find(ID_size)));
365 std::string dest=
indent_str(indent)+
"delete ";
382 unsigned &precedence)
384 if(src.
id()==
"java-this")
386 if(src.
id()==ID_java_instanceof)
388 else if(src.
id()==ID_side_effect &&
389 (src.
get(ID_statement)==ID_java_new ||
390 src.
get(ID_statement)==ID_java_new_array))
392 else if(src.
id()==ID_side_effect &&
393 src.
get(ID_statement)==ID_throw)
395 else if(src.
id()==ID_unassigned)
397 else if(src.
id()==
"pod_constructor")
398 return "pod_constructor";
399 else if(src.
id()==ID_virtual_function)
401 return "VIRTUAL_FUNCTION(" +
407 else if(src.
id()==ID_java_string_literal)
409 else if(src.
id()==ID_constant)
421 if(statement==ID_java_new ||
422 statement==ID_java_new_array)
425 if(statement==ID_function_call)
435 return expr2java.
convert(expr);
441 return expr2java.
convert(type);
The type of an expression.
std::string type2java(const typet &type, const namespacet &ns)
const typet & follow(const typet &src) const
virtual std::string convert_java_new(const exprt &src, unsigned precedence)
const std::string & id2string(const irep_idt &d)
void get_shorthands(const exprt &expr)
const std::string integer2string(const mp_integer &n, unsigned base)
std::string convert_function(const exprt &src, const std::string &symbol, unsigned precedence)
typet java_boolean_type()
bool has_ellipsis() const
virtual std::string convert_code_java_delete(const exprt &src, unsigned precedence)
virtual std::string convert_java_instanceof(const exprt &src, unsigned precedence)
#define forall_expr(it, expr)
std::vector< componentt > componentst
std::vector< parametert > parameterst
const componentst & components() const
std::string convert_code(const codet &src)
A constant literal expression.
virtual std::string convert(const typet &src)
virtual std::string convert_struct(const exprt &src, unsigned &precedence)
virtual std::string convert_constant(const constant_exprt &src, unsigned &precedence)
virtual std::string convert_constant(const constant_exprt &src, unsigned &precedence)
void read(const typet &src)
const irep_idt & id() const
API to expression classes.
const irep_idt & get(const irep_namet &name) const
const std::size_t char_representation_length
virtual std::string convert_with_precedence(const exprt &src, unsigned &precedence)
std::vector< exprt > operandst
const struct_typet & to_struct_type(const typet &type)
Cast a generic typet to a struct_typet.
virtual std::string convert_rec(const typet &src, const c_qualifierst &qualifiers, const std::string &declarator)
std::string convert_norep(const exprt &src, unsigned &precedence)
std::string as_string() const
Base class for all expressions.
const parameterst & parameters() const
virtual std::string convert_with_precedence(const exprt &src, unsigned &precedence)
const std::string & get_string(const irep_namet &name) const
const code_typet & to_code_type(const typet &type)
Cast a generic typet to a code_typet.
std::string MetaString(const std::string &in)
virtual std::string convert_code_function_call(const code_function_callt &src, unsigned indent)
virtual std::string convert_code(const codet &src, unsigned indent)
A statement in a programming language.
const constant_exprt & to_constant_expr(const exprt &expr)
Cast a generic exprt to a constant_exprt.
const typet & subtype() const
virtual std::string convert_rec(const typet &src, const c_qualifierst &qualifiers, const std::string &declarator)
virtual std::string convert_java_this(const exprt &src, unsigned precedence)
const irept & find(const irep_namet &name) const
const typet & return_type() const
static std::string indent_str(unsigned indent)
std::string expr2java(const exprt &expr, const namespacet &ns)
const code_function_callt & to_code_function_call(const codet &code)