This package contains classes to represent the various elements of class files.

A class file is represented by the `{@link proguard.classfile.ClassFile ClassFile}` interface. This interface currently has two alternative representations:

- `{@link ProgramClassFile ProgramClassFile}`: a complete representation that can be read, modified, and written back.
- `{@link LibraryClassFile LibraryClassFile}`: an incomplete representation that can be only be read. It is however more compact than `ProgramClassFile`, and sufficient for analyzing class files from library jars.