PandA-2024.02
Public Member Functions | Private Attributes
raw_writer Struct Reference

#include <raw_writer.hpp>

Inheritance diagram for raw_writer:
Inheritance graph
[legend]
Collaboration diagram for raw_writer:
Collaboration graph
[legend]

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...
 

Detailed Description

Definition at line 62 of file raw_writer.hpp.

Constructor & Destructor Documentation

◆ raw_writer()

raw_writer::raw_writer ( std::ostream &  _os)
explicit

default constructor

Definition at line 102 of file raw_writer.cpp.

Member Function Documentation

◆ write_when_not_null()

void raw_writer::write_when_not_null ( const std::string &  str,
const tree_nodeRef t 
) const

Write the field when t is not null.

Parameters
stris the string key associated to t
tis 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().

Here is the caller graph for this function:

◆ write_when_not_null_bloc()

void raw_writer::write_when_not_null_bloc ( const std::string &  str,
const blocRef &  t 
)

Write the field when t is not null.

Parameters
stris the string key associated to t
tis the blocRef

Definition at line 114 of file raw_writer.cpp.

References os.

Referenced by write_when_not_null_point_to().

Here is the caller graph for this function:

◆ 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.

Parameters
typeis the type of point to solution (i.e., use or clb)
solutionis 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.

Here is the call graph for this function:

Field Documentation

◆ os

std::ostream& raw_writer::os
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().


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

Generated on Mon Feb 12 2024 13:04:01 for PandA-2024.02 by doxygen 1.8.13