Рассмотрим этот код:
object A {
  object AA extends A
  object AB extends A
  object AC extends A
}; class A
Как можно "видеть" объекты, определенные в объекте A во время выполнения?
Я думал, что метод внутри object A с некоторым простым кодом отражения будет достаточным, но кажется, что компилятор выравнивает иерархию объектов во время компиляции и создает следующие файлы классов:
-  A.class- Класс A
-  A$class- Сопутствующий объект A
-  A$AA$.class- Объект AA
-  A$AB$.class- объект AB
-  A$AC$.class- Объект AC
После компиляции в объекте-компаньоне A нет знака о AA, AB или AC, который имел бы мой magicMethod.
Кажется, что класс ClassLoader имеет некоторые связанные методы для того, что я планирую делать, но все, кажется, ожидают точного строкового имени класса. Есть ли способ попросить ClassLoader найти все файлы классов, начиная с класса, из которого этот метод вызывается (A$) в пути этого класса?
