MCPcopy Create free account
hub / github.com/csmith-project/csmith / output_value_dump

Method output_value_dump

src/Variable.cpp:1251–1284  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1249}
1250
1251int
1252Variable::output_value_dump(ostream &out, string prefix, int indent) const
1253{
1254 size_t i;
1255 if (is_virtual()) {
1256 assert(!is_field_var());
1257 const ArrayVariable* av = (const ArrayVariable*)this;
1258 vector<intvec> all_indices;
1259 expand_within_ranges(av->get_sizes(), all_indices);
1260 for (i=0; i<all_indices.size(); i++) {
1261 ArrayVariable* member = av->itemize(all_indices[i]);
1262 member->output_value_dump(out, prefix, indent);
1263 }
1264 }
1265 else if (type->eType == eSimple) {
1266 output_print_str(out, prefix + to_string() + " = " + type->printf_directive() + "\\n", to_string(), indent);
1267 outputln(out);
1268 }
1269 else if (type->eType == eStruct) {
1270 for (i=0; i<field_vars.size(); i++) {
1271 // bit fields can not be taken address
1272 field_vars[i]->output_value_dump(out, prefix, indent);
1273 }
1274 }
1275 else if (type->eType == eUnion) {
1276 const vector<const Fact*>& facts = FactMgr::get_program_end_facts();
1277 for (i=0; i<field_vars.size(); i++) {
1278 if (FactUnion::is_field_readable(this, i, facts)) {
1279 field_vars[i]->output_value_dump(out, prefix, indent);
1280 }
1281 }
1282 }
1283 return 0;
1284}
1285
1286const Variable*
1287Variable::match_var_name(const string& vname) const

Callers 1

OutputMainMethod · 0.80

Calls 7

expand_within_rangesFunction · 0.85
output_print_strFunction · 0.85
outputlnFunction · 0.85
get_sizesMethod · 0.80
sizeMethod · 0.80
itemizeMethod · 0.80
printf_directiveMethod · 0.80

Tested by

no test coverage detected