For information on the pjavac wrapper, see the provided man page.
The wrapper begins by verifying that its temporary directory contains no
.java files that it might overwrite Next, for every file listed on
the command line, the wrapper calls the translator guavac with the
following options:
If the translation is successful, the translator calls javac on
all generated .java files, targeting the proper
directory. (Since at most one public class may be declared per
file, the translator generates more .java files than it reads in)
Unless the -X switch is used, all temporary .java files
are removed.
guavac -P # Parameterized code
-F # Source->source filter
-t TMPDIR/pjtmp # Send translated .java files to TMPDIR/pjtmp
-i TMPDIR/pjtmp # Send instantiation .java files to TMPDIR/pjtmp
-d DESTINATION # Send .pjaux files to DESTINATION
source.pjava # Source file
Also, the wrapper classes for primitive types are in the package pjava.lang. You don't need to use these directly, but the compiler does, so you should make sure that PolyJava/classes is in your CLASSPATH.
Source for these classes is under PolyJava/pjavaSrc. Note that these classes have not yet been fully tested. Bugs may exist.