int cmd_ilist(string str) { object ob; string file, *files; int deep_list, i, s; notify_fail(SYNTAX); if(!str) return 0; seteuid(geteuid(previous_object())); if(sscanf(str, "-R %s", file)) deep_list = 1; else if(sscanf(str, "-T %s", file)) deep_list = 2; else file = str; ob = ref_ob(file); if(!ob || !objectp(ob)) { notify_fail("Couldn't find object.\n"); return 0; } write(wrap("Files inherited by " + dump_variable(ob))); if(!deep_list) files = inherit_list(ob); else if(deep_list == 1) files = deep_inherit_list(ob); else if(deep_list == 2) return show_tree(ob, 1); for(i = 0, s = sizeof(files); i < s; i ++) printf(" %d: %s\n", i + 1, files[i]); return 1; } // do_cmd
int cmd_learn (string str) { int i ; mixed *known ; known = (string *)this_player()->query("spells") ; if (!str) { if (!known) { write ("You don't know any spells.\n") ; return 1 ; } write ("You know the following spells:\n" + dump_variable(known)+"\n") ; return 1 ; } if (!known) known = ({ }) ;
void dump_alias_info (FILE *file) { size_t i; const char *funcname = lang_hooks.decl_printable_name (current_function_decl, 2); referenced_var_iterator rvi; tree var; fprintf (file, "\n\nAlias information for %s\n\n", funcname); fprintf (file, "Aliased symbols\n\n"); FOR_EACH_REFERENCED_VAR (var, rvi) { if (may_be_aliased (var)) dump_variable (file, var); } fprintf (file, "\nCall clobber information\n"); fprintf (file, "\nESCAPED"); dump_points_to_solution (file, &cfun->gimple_df->escaped); fprintf (file, "\nCALLUSED"); dump_points_to_solution (file, &cfun->gimple_df->callused); fprintf (file, "\n\nFlow-insensitive points-to information\n\n"); for (i = 1; i < num_ssa_names; i++) { tree ptr = ssa_name (i); struct ptr_info_def *pi; if (ptr == NULL_TREE || SSA_NAME_IN_FREE_LIST (ptr)) continue; pi = SSA_NAME_PTR_INFO (ptr); if (pi) dump_points_to_info_for (file, ptr); } fprintf (file, "\n"); }
static void dump_expr(g95_expr *e) { if (e == NULL) { dumpf("None"); return; } switch(e->type) { case EXPR_NULL: dumpf("null(%L,%S,%d)", &e->where, g95_typename(&e->ts), e->rank); break; case EXPR_OP: dump_intrinsic(e); break; case EXPR_CONSTANT: dump_constant(e); break; case EXPR_VARIABLE: dump_variable(e); break; case EXPR_FUNCTION: if (e->value.function.isym != NULL && e->value.function.isym->id == G95_ISYM_CONVERSION) dump_expr(e->value.function.actual->u.expr); else { dumpf("fcall(%L,", &e->where); dump_name(e->symbol, e->value.function.isym); dumpf(",%S,%d,", g95_typename(&e->ts), e->rank); dump_actual(e->value.function.actual); dump_char(')'); } break; case EXPR_PROCEDURE: dumpf("procedure(%L,", &e->where); dump_name(e->symbol, NULL); dump_char(')'); break; case EXPR_STRUCTURE: dump_cons("scons", e); break; case EXPR_ARRAY: dump_cons("acons", e); break; case EXPR_SUBSTRING: dumpf("substring_exp(%L,", &e->where); dump_constant(e); dump_char(','); dump_expr(e->ref->u.ss.start); dump_char(','); dump_expr(e->ref->u.ss.end); dump_char(')'); break; default: g95_internal_error("dump_expr(): Bad expression"); } }