PandA-2024.02
|
#include <raw_writer.hpp>
Public Member Functions | |
raw_writer (std::ostream &_os) | |
default constructor More... | |
void | write_when_not_null (const std::string &str, const tree_nodeRef &t) const |
Write the field when t is not null. More... | |
void | write_when_not_null_bloc (const std::string &str, const blocRef &t) |
Write the field when t is not null. More... | |
void | write_when_not_null_point_to (const std::string &type, const PointToSolutionRef &solution) const |
Write a point to solution when is not null. More... | |
Public Member Functions inherited from object_visitor | |
virtual | ~object_visitor () |
destructor More... | |
BOOST_PP_SEQ_FOR_EACH (OPERATOR_MACRO, BOOST_PP_EMPTY, VISITED_OBJ_SEQ1) | |
virtual template object functor More... | |
BOOST_PP_SEQ_FOR_EACH (OPERATOR_MACRO, BOOST_PP_EMPTY, VISITED_OBJ_SEQ2) | |
Private Attributes | |
std::ostream & | os |
tree_node visitors More... | |
Definition at line 62 of file raw_writer.hpp.
|
explicit |
default constructor
Definition at line 102 of file raw_writer.cpp.
void raw_writer::write_when_not_null | ( | const std::string & | str, |
const tree_nodeRef & | t | ||
) | const |
Write the field when t is not null.
str | is the string key associated to t |
t | is the tree_nodeRef |
Definition at line 106 of file raw_writer.cpp.
References GET_INDEX_NODE, and os.
Referenced by write_when_not_null_point_to().
void raw_writer::write_when_not_null_bloc | ( | const std::string & | str, |
const blocRef & | t | ||
) |
Write the field when t is not null.
str | is the string key associated to t |
t | is the blocRef |
Definition at line 114 of file raw_writer.cpp.
References os.
Referenced by write_when_not_null_point_to().
void raw_writer::write_when_not_null_point_to | ( | const std::string & | type, |
const PointToSolutionRef & | solution | ||
) | const |
Write a point to solution when is not null.
type | is the type of point to solution (i.e., use or clb) |
solution | is the solution to be printed |
Definition at line 123 of file raw_writer.cpp.
References var_decl::addr_not_taken, var_decl::addr_taken, var_decl::addressings, type_node::algn, field_decl::algn, parm_decl::algn, result_decl::algn, var_decl::algn, PointToSolution::anything, test_panda::arg, type_pack_expansion::arg, expr_pack_expansion::arg, type_argument_pack::arg, nontype_argument_pack::arg, call_expr::args, gimple_call::args, parm_decl::argt, decl_node::artificial_flag, decl_node::attributes, target_mem_ref::base, target_mem_ref461::base, binfo::bases, gimple_node::bb_index, record_type::bfld, record_type::binf, union_type::binf, ssa_name::bit_values, var_decl::bit_values, block::bl, block::bl_flag, gimple_bind::body, function_decl::body, handler::body, try_block::body, field_decl::bpos, function_decl::builtin_flag, decl_node::C_flag, gimple_phi::CGetDefEdgesList(), ssa_name::CGetDefStmts(), bloc::CGetPhiList(), bloc::CGetStmtList(), ssa_name::CGetUseStmts(), decl_node::chan, overload::chan, tree_list::chan, method_type::clas, target_expr::clnp, gimple_asm::clob, gimple_assign::clobber, gimple_node::clobbered_set, record_type::cls, const_decl::cnst, srcp::column_number, template_parm_index::constant_flag, counter, overload::crnt, enumeral_type::csts, aggr_init_expr::ctor, namespace_decl::dcls, target_expr::decl, template_parm_index::decl, case_label_expr::default_flag, ssa_name::default_flag, var_decl::defs, gimple_pragma::directive, array_type::domn, array_type::elts, vector_type::elts, bloc::ENTRY_BLOCK_ID, PointToSolution::escaped, bloc::EXIT_BLOCK_ID, expr_stmt::expr, return_stmt::expr, var_decl::extern_flag, bloc::false_edge, FIRST_TOKEN, function_decl::fixd, function_decl::fixd_flag, call_expr::fn, gimple_call::fn, function_decl::fn, tree_node::get_kind_text(), case_label_expr::got, try_block::hdlr, bloc::hpl, call_hw_pragma::HW_component, call_point_hw_pragma::HW_component, function_decl::hwcall_flag, call_hw_pragma::ID_implementation, call_point_hw_pragma::ID_implementation, target_mem_ref::idx, target_mem_ref461::idx, template_parm_index::idx, target_mem_ref461::idx2, complex_cst::imag, gimple_asm::in, srcp::include_name, field_decl::init, result_decl::init, target_expr::init, var_decl::init, gimple_assign::init_assignment, function_decl::initiation_time, function_decl::inline_body, template_decl::inst, PointToSolution::ipa_escaped, gimple_pragma::is_block, gimple_pragma::is_opening, omp_parallel_pragma::is_shortcut, omp_sections_pragma::is_shortcut, template_parm_index::level, decl_node::libbambu_flag, type_node::libbambu_flag, decl_node::library_system_flag, gimple_pragma::line, expr_stmt::line, handler::line, return_stmt::line, try_block::line, srcp::line_number, attr::list_attr, binfo::list_of_access_binf, memory_tag::list_of_aliases, function_decl::list_of_args, statement_list::list_of_bloc, gimple_multi_way_if::list_of_cond, record_type::list_of_flds, union_type::list_of_flds, record_type::list_of_fncs, union_type::list_of_fncs, constructor::list_of_idx_valu, tree_vec::list_of_op, function_decl::list_of_op_names, bloc::list_of_pred, statement_list::list_of_stmt, bloc::list_of_succ, vector_cst::list_of_valu, gimple_bind::list_of_vars, tree_vec::lngt, bloc::loop_id, enumeral_type::max, integer_type::max, ssa_name::max, gimple_node::memdef, gimple_node::memuse, enumeral_type::min, integer_type::min, ssa_name::min, decl_node::mngl, decl_node::name, type_node::name, expr_stmt::next, try_block::next, NO_VISIT, PointToSolution::nonlocal, PointToSolution::null, bloc::number, target_mem_ref::offset, target_mem_ref461::offset, unary_expr::op, cast_expr::op, type_pack_expansion::op, expr_pack_expansion::op, gimple_goto::op, gimple_label::op, gimple_return::op, omp_parallel_sections_pragma::op0, gimple_while::op0, binary_expr::op0, ternary_expr::op0, quaternary_expr::op0, case_label_expr::op0, gimple_cond::op0, gimple_assign::op0, scope_ref::op0, gimple_switch::op0, lut_expr::op0, omp_parallel_sections_pragma::op1, gimple_for::op1, binary_expr::op1, ternary_expr::op1, quaternary_expr::op1, case_label_expr::op1, gimple_assign::op1, scope_ref::op1, gimple_switch::op1, lut_expr::op1, gimple_for::op2, ternary_expr::op2, quaternary_expr::op2, lut_expr::op2, quaternary_expr::op3, lut_expr::op3, lut_expr::op4, lut_expr::op5, lut_expr::op6, lut_expr::op7, lut_expr::op8, decl_node::operating_system_flag, function_decl::operator_flag, identifier_node::operator_flag, decl_node::orig, target_mem_ref::orig, template_parm_index::orig_level, ssa_name::orig_vers, os, gimple_asm::out, real_cst::overflow_flag, decl_node::packed_flag, type_node::packed_flag, type_pack_expansion::param_packs, expr_pack_expansion::param_packs, phi, function_decl::pipeline_enabled, gimple_node::pragmas, enumeral_type::prec, integer_type::prec, real_type::prec, gimple_assign::predicate, function_type::prms, template_decl::prms, pointer_type::ptd, record_type::ptd, record_type::ptrmem_flag, tree_list::purp, type_node::qual, function_decl::reading_memory, parm_decl::readonly_flag, template_parm_index::readonly_flag, var_decl::readonly_flag, complex_cst::real, complex_type::real_flag, call_point_hw_pragma::recursive, reference_type::refd, parm_decl::register_flag, var_decl::register_flag, gimple_phi::res, function_type::retn, function_decl::reverse_restrict_flag, template_decl::rslt, gimple_pragma::scope, decl_node::scpe, gimple_node::scpe, type_node::scpe, function_decl::simple_pipeline, type_node::size, field_decl::size, parm_decl::size, result_decl::size, var_decl::size, aggr_init_expr::slot, field_decl::smt_ann, parm_decl::smt_ann, result_decl::smt_ann, var_decl::smt_ann, template_decl::spcs, record_type::spec_flag, function_decl::static_flag, var_decl::static_flag, var_decl::static_static_flag, target_mem_ref::step, target_mem_ref461::step, STOK, gimple_asm::str, integer_type::str, identifier_node::strg, string_cst::strg, record_type::struct_flag, target_mem_ref::symbol, type_node::system_flag, target_mem_ref::tag, gimple_assign::temporary_address, THROW_ERROR, TI_getTokenName(), function_decl::tmpl_args, record_type::tmpl_args, type_decl::tmpl_args, function_decl::tmpl_parms, record_type::tmpl_parms, type_decl::tmpl_parms, TOK_ADDR, TOK_ADDR_NOT_TAKEN, TOK_ADDR_STMT, TOK_ADDR_TAKEN, TOK_ALGN, TOK_ALIAS, TOK_ARG, TOK_ARGT, TOK_ARTIFICIAL, TOK_ATTRIBUTES, TOK_BASE, TOK_BASES, TOK_BB_INDEX, TOK_BFLD, TOK_BINF, TOK_BIT_VALUES, TOK_BLOC, TOK_BODY, TOK_BPOS, TOK_BUILTIN, TOK_C, TOK_CHAN, TOK_CLAS, TOK_CLNP, TOK_CLOB, TOK_CLOBBER, TOK_CLS, TOK_CNST, TOK_CONSTANT, TOK_CRNT, TOK_CSTS, TOK_CTOR, TOK_DCLS, TOK_DECL, TOK_DEF, TOK_DEF_STMT, TOK_DEFAULT, TOK_DOMN, TOK_EDGE, TOK_ELTS, TOK_ENTRY, TOK_EXIT, TOK_EXPR, TOK_EXTERN, TOK_FALSE_EDGE, TOK_FIXD, TOK_FLDS, TOK_FN, TOK_FNCS, TOK_GOTO, TOK_HDLR, TOK_HPL, TOK_HW_COMPONENT, TOK_HWCALL, TOK_ID_IMPLEMENTATION, TOK_IDX, TOK_IDX2, TOK_IMAG, TOK_IN, TOK_INIT, TOK_INITIATION_TIME, TOK_INLINE_BODY, TOK_INST, TOK_IS_BLOCK, TOK_LEVEL, TOK_LIBBAMBU, TOK_LIBRARY_SYSTEM, TOK_LINE, TOK_LNGT, TOK_LOOP_ID, TOK_MAX, TOK_MEMDEF, TOK_MEMUSE, TOK_MIN, TOK_MNGL, TOK_NAME, TOK_NEXT, TOK_OFFSET, TOK_OMP_ATOMIC, TOK_OMP_BODY_LOOP, TOK_OMP_FOR_WRAPPER, TOK_OP, TOK_OP0, TOK_OP1, TOK_OP2, TOK_OP3, TOK_OP4, TOK_OP5, TOK_OP6, TOK_OP7, TOK_OP8, TOK_OPEN, TOK_OPERATING_SYSTEM, TOK_OPERATOR, TOK_ORIG, TOK_ORIG_LEVEL, TOK_ORIG_VERS, TOK_OUT, TOK_OVERFLOW, TOK_PACKED, TOK_PARAM_PACKS, TOK_PHI, TOK_PIPELINE_ENABLED, TOK_PRAGMA, TOK_PRAGMA_DIRECTIVE, TOK_PRAGMA_OMP_SHORTCUT, TOK_PRAGMA_SCOPE, TOK_PREC, TOK_PRED, TOK_PREDICATE, TOK_PRMS, TOK_PTD, TOK_PTRMEM, TOK_PURP, TOK_QUAL, TOK_READING_MEMORY, TOK_READONLY, TOK_REAL, TOK_RECURSIVE, TOK_REFD, TOK_REGISTER, TOK_RES, TOK_RETN, TOK_REVERSE_RESTRICT, TOK_RSLT, TOK_SCPE, TOK_SIMPLE_PIPELINE, TOK_SIZE, TOK_SLOT, TOK_SMT_ANN, TOK_SPCS, TOK_SPEC, TOK_STATIC, TOK_STEP, TOK_STMT, TOK_STR, TOK_STRUCT, TOK_SUCC, TOK_SYMBOL, TOK_SYSTEM, TOK_TAG, TOK_TMPL_ARGS, TOK_TMPL_PARMS, TOK_TRUE_EDGE, TOK_TYPE, TOK_UID, TOK_UNDEFINED, TOK_UNION, TOK_UNQL, TOK_UNSIGNED, TOK_USE_STMT, TOK_USE_TMPL, TOK_USED, TOK_VALR, TOK_VALU, TOK_VALUE, TOK_VALX, TOK_VAR, TOK_VARARGS, TOK_VARS, TOK_VDEF, TOK_VERS, TOK_VFLD, TOK_VIRT, TOK_VIRTUAL, TOK_VOLATILE, TOK_VOVER, TOK_VUSE, TOK_WRITING_MEMORY, bloc::true_edge, decl_node::type, expr_node::type, cst_node::type, baselink::type, binfo::type, constructor::type, ssa_name::type, target_mem_ref::type, target_mem_ref461::type, template_parm_index::type, decl_node::uid, function_decl::undefined_flag, type_node::unql, complex_type::unsigned_flag, enumeral_type::unsigned_flag, integer_type::unsigned_flag, gimple_node::use_set, ssa_name::use_set, var_decl::use_tmpl, parm_decl::used, var_decl::used, var_decl::uses, real_cst::valr, tree_list::valu, integer_cst::value, real_cst::valx, ssa_name::var, function_type::varargs_flag, PointToSolution::variables, gimple_node::vdef, ssa_name::vers, record_type::vfld, function_decl::virt, binfo::virt_flag, function_decl::virt_flag, gimple_phi::virtual_flag, ssa_name::virtual_flag, gimple_asm::volatile_flag, ssa_name::volatile_flag, gimple_node::vovers, gimple_node::vuses, WRITE_NFIELD, WRITE_NFIELD_STRING, WRITE_SRCP, WRITE_STRGLNGT_IDENTIFIER, WRITE_STRGLNGT_STRING, WRITE_TOKEN, WRITE_TOKEN2, WRITE_UFIELD, WRITE_UFIELD_STRING, write_when_not_null(), write_when_not_null_bloc(), and function_decl::writing_memory.
|
private |
tree_node visitors
output stream
Definition at line 94 of file raw_writer.hpp.
Referenced by write_when_not_null(), write_when_not_null_bloc(), and write_when_not_null_point_to().