padlar
padlar

Reputation: 375

Java class parser

I am parsing all the class files in a jar via Objectweb asm (http://forge.ow2.org/projects/asm/). The idea is to parse and store (and use for something later) all the public/protected methods and fields in each class file. It is working as expected. What I dont get is the list of methods, declared by the interface and those inherited from superclasses and superinterfaces. Is there a smart parser available that would give me the above list?

I could load the class file and then use java.lang.Class object to get what I need. But loading classes might fail because of dependencies. I would rather parse and get that info.

Upvotes: 1

Views: 175

Answers (2)

Pat B
Pat B

Reputation: 1955

You can simply do this :

Class superclass = aClass.getSuperclass(); aClass.getClass().getInterfaces(); aClass.getClass().getMethods();

Upvotes: 0

Lorenzo Gatti
Lorenzo Gatti

Reputation: 1270

The data you want is simply not there. Inherited members are implicit: you only have the names of the class and interfaces where they can be looked for, and you need to parse the corresponding class files.

Upvotes: 2

Related Questions