You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »

AsMTools Source Code Description

The JT harness source code is divided into areas based on their responsibility or whether they are general versus or specific. The core of the harness is in one package, the generic GUI framework in another, while sub-packages contain more specific GUI subsystems that plug into the generic framework. An implication of this is that there are clearly defined interfaces between packages because the Java™ programming language does not have a "friend" mechanism.

Packages

Located in the src/ directory under the root of the Mercurial project tree:

 

org.openjdk.asmtools

This is the top-level package of asmtools. The 'Main' dispatch class is located here.

 

org.openjdk.asmtools.jasm

org.openjdk.asmtools.jdis

These sub-packages implement the JASM assembler and disassembler, respectively.  Each of these packages contains a 'Main' dispatch class, properties, and support classes.

asmtools.jasm contains a hierarchy of parser classes, responsible for parsing the JASM syntax of a .jasm file, and populating IR support classes representing the various parts of a Java .class.  The IR classes are responsible for translating this structure into the final binary representation of a .class file.

asmtools.jdis also contain IR support classes that are responsible for dispatching the byte streams of a .class file amongst themselves to populate class data.  These IR classes are also directly responsible for the generation of JASM text through dispatched printXXX() methods

 

org.openjdk.asmtools.jcod

org.openjdk.asmtools.jdec

org.openjdk.asmtools.jcdec


These sub-packages implement the JCOD assembler and disassemblers, respectively.  Each of these packages contains a 'Main' dispatch class, properties, and support classes.

asmtools.jcod implements a simple scanner and parser to translate JCOD structures into a .class file byte stream.

asmtools.jdec and asmtools.jcdec implement simple scanners and parsers to translate .class file byte streams into JCOD syntax. asmtools.jcdec is a superset of jdec, adding additional parsing for .cap binary files.

 

org.openjdk.asmtools.asmutils

Contains support classes available to all of the assembler tools. This is support for Hex translation and other utilities.

org.openjdk.asmtools.util

This package contains utilities used for the production of AsmTools.  This includes support for bundle versioning, and internationalization.

  • No labels