The parsing results of Java sources and the result of Java Reflection may be uniformly accessed as source elements.

The Java Hierarchy API provides a single interface to any component capable of producing, or desiring to read, the hierarchical structure of Java source and bytecode.