JavaLib

Laurent Hubert, Nicolas Barré, Tiphaine Turpin and Nicolas Cannasse

September 2009

Documentation

High level manipulations of programs

JFile
Accessing classes in files, directories and jar files.
JProgram
Defines high level Ocaml representation of a java byte-code program.
JCRA
Builds high level representations of java byte-code programs using basic Class Reachability Analysis.
JRTA
Builds high level representations of java byte-code programs using Rapid Type Analysis algorithm.
JControlFlow
Allows some navigation in the control flow graph of a program.
JPrintHierarchy
Computes information for use with JPrint.
JPrintHtml
Pretty-Html-printer for high level programs.
JPrint
Pretty-printer for high level classes and programs.
JNativeStubs
Allows to manipulate abstract data structures representing native methods object allocation and method calls.

Hight level representation of classes

JBasics
Basic elements of class files.
JClass
High level Ocaml representation of a Java class file.
JSignature
This module describe the signatures used with generics.
JDumpBasics
Convert some data from JBasics to strings or print them on the provided output.

Other

JCode
Low level (un)parsing of bytecode instructions.
JParse
Parsing of Java class files.
JParseSignature
This module handles the decoding of descriptors and signatures.
JUnparse
Unparsing (compilation) of either high or low level class representations into class files.
JUnparseSignature
This module "unparses" (converts back to strings) descriptors and signatures.
JInstruction
Conversion between low and high level representations of instructions.
JLow2High
Tranformation of low level classes to high level classes.
JHigh2Low
Tranformation of high level classes to low level classes.
JClassLow
Low level representation of a Java class file.
JDump
Prints data from JClass to a provided output.
JDumpLow
Prints data from JClassLow to a provided output.

Patricia Tree library

Ptmap
Maps over integers implemented as Patricia trees.
Ptset
Sets of integers implemented as Patricia trees.

Indexes

Index of types
Index of exceptions
Index of values
Index of modules
Index of module types