JaCIL Framework API

JaCIL.Compiler Namespace

Provides the top-level interfaces and implementation of the JaCIL compiler framework. Types and interfaces provided in this namespace is how most consumers will interact with the compiler.

Namespace hierarchy

Classes

Class Description
BranchException General problem in code paths (branching).
ClassInfo Simple class containing a reference to the file name and class writer of a translated class.
ClassInfoSet Standard implementation of a class info set backed by an IList.
Compiler Standard JaCIL compiler implementation. This class is how most users of the compiler will create a concrete instance.
CompilerException Base exception for any problems that may occur in JaCIL. Any component may throw a derivitive of this exception if a problem occurs.
CompilerReferences Standard implementation of ICompilerReferences.
HandlerException Indicates that an exception handler could not be translated.
ReferenceException Indicates a problem with reference resolution by the compiler.
StackStateException Indicates that the instruction stream is in a state that cannot be handled by translation (i.e. if it is invalid).
TranslationException General problem in translation.
VariableTableException Indicates that the instruction stream is in a state that cannot be handled by translation (i.e. if it is invalid).

Interfaces

Interface Description
IClassInfoSet Represents a set of Class information to output.
ICompiler Top-level interface to the JaCIL compiler. This is the interface that embedding the compiler will minimally use.
ICompilerReferences Represents referential data for the compiler. Specifically, information that is not accessible directly by the assembly being compiled is queried through implementations of this interface.