Method code for $root.list_methods()

[Turn off line numbering]
  1: arg gen, def, fltr, match;
  2: var ancs, a, m, i, methods;
  3: 
  4: if (!.has_flag('methods, sender()))
  5:     throw(~perm, sender() + " cannot view methods on " + this());
  6: if (def)
  7:     ancs = [def];
  8: else
  9:     ancs = .(gen[1])(gen[2]) || [this()];
 10: methods = #[];
 11: for a in (ancs) {
 12:     for m in (a.methods()) {
 13:         if (tostr(m).(match)(fltr) != 0) {
 14:             i = a.method_info(m);
 15:             methods = methods.add_elem(i[5], [a, m, @i]);
 16:         }
 17:     }
 18: }
 19: return methods;
 20: 
 21: // $#Edited: 15 May 97 23:21 $brad
 22: // $#Edited: 23 Sep 97 11:43 $brandon

["// Created as a part of ColdCore, see: @help Credit"]

the Cold Dark