pike.git/src/program.c:3362: Inside #if defined(PIKE_DEBUG)
"%*sProgram flags: 0x%04x\n\n",
indent, "", p->flags);
fprintf(stderr,
"%*sReference table:\n"
"%*s ####: Flags Inherit Identifier\n",
indent, "", indent, "");
for (d=0; d < p->num_identifier_references; d++) {
struct reference *ref = p->identifier_references + d;
struct identifier *id = ID_FROM_PTR(p, ref);
+ struct program *inh_p = INHERIT_FROM_PTR(p, ref)->prog;
fprintf(stderr,
"%*s %4d: %5x %7d %10d %s\n"
"%*s %s:%ld\n",
indent, "",
d, ref->id_flags, ref->inherit_offset,
ref->identifier_offset,
id->name->size_shift ? "(wide)" : id->name->str,
indent, "",
- p->num_strings?p->strings[id->filename_strno]->str:"-",
+ inh_p->num_strings?inh_p->strings[id->filename_strno]->str:"-",
(long)id->linenumber);
if (IDENTIFIER_IS_ALIAS(id->identifier_flags)) {
fprintf (stderr, "%*s Alias for %d:%d\n",
indent, "", id->func.ext_ref.depth, id->func.ext_ref.id);
} else if (IDENTIFIER_IS_CONSTANT(id->identifier_flags)) {
fprintf (stderr, "%*s Constant #%ld\n",
indent, "", (long)id->func.const_info.offset);
} else if (IDENTIFIER_IS_VARIABLE(id->identifier_flags)) {
fprintf (stderr, "%*s Offset: 0x%08lx\n",
indent, "", (long)id->func.offset);
} else if (IDENTIFIER_IS_PIKE_FUNCTION(id->identifier_flags)) {
INT_TYPE line;
- struct program *inh_p = INHERIT_FROM_PTR(p,ref)->prog;
+
struct pike_string *file =
get_line (ID_FROM_PTR(p,ref)->func.offset + inh_p->program, inh_p, &line);
if (!file->size_shift)
fprintf (stderr, "%*s %s:%ld\n",
indent, "", file->str, (long)line);
free_string (file);
} else {
fprintf (stderr, "%*s Cfun: %p\n",
indent, "", id->func.c_fun);
}