if (is_Class_type(get_entity_owner(ent))) {
if (get_entity_n_overwrites(ent) > 0) {
- fprintf(F, "%s overwrites:\n", prefix);
- for (i = 0; i < get_entity_n_overwrites(ent); ++i) {
- entity *ov = get_entity_overwrites(ent, i);
- fprintf(F, "%s %d: %s of class %s\n", prefix, i, get_entity_name(ov),
- get_type_name(get_entity_owner(ov)));
- }
+ fprintf(F, "%s overwrites:\n", prefix);
+ for (i = 0; i < get_entity_n_overwrites(ent); ++i) {
+ entity *ov = get_entity_overwrites(ent, i);
+ fprintf(F, "%s %d: %s of class %s\n", prefix, i, get_entity_name(ov),
+ get_type_name(get_entity_owner(ov)));
+ }
} else {
- fprintf(F, "%s Does not overwrite other entities. \n", prefix);
+ fprintf(F, "%s Does not overwrite other entities. \n", prefix);
}
if (get_entity_n_overwrittenby(ent) > 0) {
- fprintf(F, "%s overwritten by:\n", prefix);
- for (i = 0; i < get_entity_n_overwrittenby(ent); ++i) {
- entity *ov = get_entity_overwrittenby(ent, i);
- fprintf(F, "%s %d: %s of class %s\n", prefix, i, get_entity_name(ov),
- get_type_name(get_entity_owner(ov)));
+ fprintf(F, "%s overwritten by:\n", prefix);
+ for (i = 0; i < get_entity_n_overwrittenby(ent); ++i) {
+ entity *ov = get_entity_overwrittenby(ent, i);
+ fprintf(F, "%s %d: %s of class %s\n", prefix, i, get_entity_name(ov),
+ get_type_name(get_entity_owner(ov)));
}
} else {
- fprintf(F, "%s Is not overwritten by other entities. \n", prefix);
+ fprintf(F, "%s Is not overwritten by other entities. \n", prefix);
+ }
+
+ if (get_irp_inh_transitive_closure_state() != inh_transitive_closure_none) {
+ entity *ov;
+ fprintf(F, "%s transitive overwrites:\n", prefix);
+ for (ov = get_entity_trans_overwrites_first(ent);
+ ov;
+ ov = get_entity_trans_overwrites_next(ent)) {
+ fprintf(F, "%s : %s of class %s\n", prefix, get_entity_name(ov),
+ get_type_name(get_entity_owner(ov)));
+ }
+ fprintf(F, "%s transitive overwritten by:\n", prefix);
+ for (ov = get_entity_trans_overwrittenby_first(ent);
+ ov;
+ ov = get_entity_trans_overwrittenby_next(ent)) {
+ fprintf(F, "%s : %s of class %s\n", prefix, get_entity_name(ov),
+ get_type_name(get_entity_owner(ov)));
+ }
}
}
}
if (get_trouts_state()) {
- fprintf(F, "%sEntity outs:\n", prefix);
+ fprintf(F, "%s Entity outs:\n", prefix);
dump_node_list(F, (firm_kind *)ent, prefix, (int(*)(firm_kind *))get_entity_n_accesses,
(ir_node *(*)(firm_kind *, int))get_entity_access, "Accesses");
dump_node_list(F, (firm_kind *)ent, prefix, (int(*)(firm_kind *))get_entity_n_references,
fprintf(F, "\n %s", get_type_name(stp));
}
- fprintf(F, "\n peculiarity: %s", get_peculiarity_string(get_class_peculiarity(tp)));
+ if (get_irp_inh_transitive_closure_state() != inh_transitive_closure_none) {
+ type *stp;
+ fprintf(F, "\n transitive supertypes: ");
+ for (stp = get_class_trans_supertype_first(tp);
+ stp;
+ stp = get_class_trans_supertype_next(tp)) {
+ fprintf(F, "\n %s", get_type_name(stp));
+ }
+ fprintf(F, "\n transitive subtypes: ");
+ for (stp = get_class_trans_subtype_first(tp);
+ stp;
+ stp = get_class_trans_subtype_next(tp)) {
+ fprintf(F, "\n %s", get_type_name(stp));
+ }
+ }
+
+ fprintf(F, "\n peculiarity: %s\n", get_peculiarity_string(get_class_peculiarity(tp)));
+
}
break;
case tpo_pointer:
if (verbosity & dump_verbosity_typeattrs) {
type *tt = get_pointer_points_to_type(tp);
- fprintf(F, "\n points to %s (%ld)", get_type_name(tt), get_type_nr(tt));
+ fprintf(F, "\n points to %s (%ld)\n", get_type_name(tt), get_type_nr(tt));
}
break;
case tpo_method:
if (verbosity & dump_verbosity_typeattrs) {
+ fprintf(F, "\n variadicity: %s", get_variadicity_name(get_method_variadicity(tp)));
fprintf(F, "\n return types: %d", get_method_n_ress(tp));
for (i = 0; i < get_method_n_ress(tp); ++i) {
type *rtp = get_method_res_type(tp, i);
type *ptp = get_method_param_type(tp, i);
fprintf(F, "\n %s", get_type_name(ptp));
}
-
if (get_method_variadicity(tp)) {
fprintf(F, "\n ...");
}
case tpo_id:
case tpo_none:
case tpo_unknown:
+ fprintf(F, "\n");
break;
default:
fprintf(F, " state: %s,\n", get_type_state_name(get_type_state(tp)));
fprintf(F, " size: %2d Bits,\n", get_type_size_bits(tp));
fprintf(F, " alignment: %2d Bits,\n", get_type_alignment_bits(tp));
- if (is_atomic_type(tp))
+ if (is_atomic_type(tp) || is_Method_type(tp))
fprintf(F, " mode: %s,\n", get_mode_name(get_type_mode(tp)));
fprintf(F, " dbg info: %p,\n", (void *)get_type_dbg_info(tp));