Encontre dependências de classe java em tempo de execução

Qual é a maneira mais eficaz de obter uma lista de dependências para uma classe Java em tempo de execução?

Usandoisto (com base no ASM ByteCode Manipulator 3.3.1), posso fazer o seguinte:

final Collection<Class<?>> classes = 
  getClassesUsedBy(MyService.class.getName(), "com");

Isso retorna referências paraBasicService eIServicemas sente faltaContainerValuee essa é a questão. Eu brinquei com o código ASM, mas não consegui descobrir como pegar ContainerValue.

package com.foo.bar;

    public class MyService extends BasicService implements IService {
         public String invoke(){
            return new ContainerValue("bar").toString();
    }

Como uma nota lateral, se eu fizerContainerValue o tipo de retorno eminvoke, funciona.

Existe alguma alternativa para usar o ASM para obter uma lista de dependências para uma classe? Por que diabos isso é tão difícil?

questionAnswers(2)

yourAnswerToTheQuestion