The jclass (package name class
) parser support class files (those ending in .class
) as specified in Chapter 4 of the Oracle JVM specification. With the exception of the Runtime[In]Visible[Paramterer]Annotations, AnnotationDefault & StackMapTable attributes. Otherwise all defined attributes & constants are supported and parsed correctly.
You can find the documentation on GoDoc. Additionally there are some examples provided in the repository.
First idea that comes to mind, is of course a JVM, but jclass can also be used for validating class files, obfuscating them or compressing them. This would be accomplished by, for example removing unnecessary LineNumberTable(s) and other attributes that don't affect the sematics of the class file, when executed.