Class Files vs. Signature Files
Although the previous text spoke about loading class files, the IDE does not use true class files much. When a file is compiled by the IDE, the result is not a class file, but rather a "signature" file. These files contain specification of classes and signatures of their members. The main differences between class files and signature files are:
- the signature files do not contain method bodies
- the signature files do contain annotations with RetentionPolicy.SOURCE
- the signature files do contain parameter names (which are stored only as part of the debug information into the class files)
The format of the signature files is subject of change at any time, as it is used only to create the IDE's caches.
Note: for most purposes, it is not important if an Element has been load from the class file or from the signature file.