[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"]