aboutsummaryrefslogtreecommitdiffstats
path: root/lib/rdoc/ri/ri_reader.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/rdoc/ri/ri_reader.rb')
-rw-r--r--lib/rdoc/ri/ri_reader.rb21
1 files changed, 21 insertions, 0 deletions
diff --git a/lib/rdoc/ri/ri_reader.rb b/lib/rdoc/ri/ri_reader.rb
index 02e6d49b79..6e53bd2609 100644
--- a/lib/rdoc/ri/ri_reader.rb
+++ b/lib/rdoc/ri/ri_reader.rb
@@ -58,6 +58,16 @@ module RI
find_classes_in(res, @cache.toplevel)
end
+ # return a list of all classes, modules, and methods
+ def all_names
+ res = []
+ find_names_in(res, @cache.toplevel)
+ end
+
+ # ----
+ private
+ # ----
+
def find_classes_in(res, klass)
classes = klass.classes_and_modules
for c in classes
@@ -66,5 +76,16 @@ module RI
end
res
end
+
+ def find_names_in(res, klass)
+ classes = klass.classes_and_modules
+ for c in classes
+ res << c.full_name
+ res.concat c.all_method_names
+ find_names_in(res, c)
+ end
+ res
+ end
+
end
end