Web Site

Package org.codehaus.janino

The classes in this package pose the core of the Janino JavaTM compiler.

See:
          Description

Interface Summary
AstCompilationUnitGenerator  
CodeContext.FixUp A throw-in interface that marks CodeContext.Offsets as "fix-ups": During the execution of CodeContext.fixUp(), all "fix-ups" are invoked and can do last touches to the code attribute.
IClass.IMember  
Java.BlockStatement Base of all statements that can appear in a block.
Java.DocCommentable  
Java.Locatable This interface is implemented by objects which are associated with a location in the source code.
Java.PackageMemberTypeDeclaration Represents a class or interface declaration on compilation unit level.
Java.Scope  
Java.TypeBodyDeclaration Representation of a "ClassBodyDeclaration" or an "InterfaceMemberDeclaration".
Java.TypeDeclaration  
JavaSourceClassLoader.ProtectionDomainFactory  
UnitCompiler.ErrorHandler Interface type for UnitCompiler.setCompileErrorHandler(org.codehaus.janino.UnitCompiler.ErrorHandler).
Visitor.ComprehensiveVisitor  
WarningHandler Interface type for UnitCompiler.setWarningHandler(WarningHandler).
 

Class Summary
AntCompilerAdapter A simple CompilerAdapter for the "ant" tool that silently ignores most of the configuration parameters and attempts to compile all given source files into class files.
AstGeneratorVisitor  
ByteArrayClassLoader This ClassLoader allows for the loading of a set of JavaTM classes provided in class file format.
ClassBodyEvaluator Parses a class body and returns it as a java.lang.Class object ready for use with java.lang.reflect.
ClassFileIClass A wrapper object that turns a ClassFile object into a IClass.
ClassLoaderIClassLoader An IClassLoader that loads IClasses through a reflection ClassLoader.
CodeContext The context of the compilation of a function (constructor or method).
Compiler A simplified substitute for the javac tool.
DebuggingInformation  
Descriptor Helper class that defines useful methods for handling "field descriptors" (JVMS 4.3.2) and "method descriptors" (JVMS 4.3.3).
EvaluatorBase Utilities for the various "...Evaluator" classes.
ExpressionEvaluator An expression evaluator that evaluates expressions in JavaTM bytecode.
FilterWarningHandler  
IClass A simplified equivalent to "java.lang.reflect".
IClassLoader Loads an IClass by type name.
Java This wrapper class defines classes that represent the elements of the JavaTM programming language.
Java.AbstractTypeBodyDeclaration  
Java.AbstractTypeDeclaration  
Java.AlternateConstructorInvocation  
Java.AmbiguousName This class is special: It does not extend/implement the Atom subclasses, but overrides Atom's "to...()" methods.
Java.AnonymousClassDeclaration  
Java.ArrayAccessExpression This class implements an array access.
Java.ArrayInitializer Represents a JavaTM array initializer (JLS 10.6).
Java.ArrayType Representation of a JavaTM array type (JLS 10.1).
Java.Assignment  
Java.Atom Abstract base class for Java.Type, Java.Rvalue and Java.Lvalue.
Java.BasicType Representation of a JavaTM "basic type" (obviously equaivalent to a "primitive type") (JLS 4.2).
Java.BinaryOperation Representation of all non-operand-modifying JavaTM binary operations.
Java.Block Representation of a JavaTM "block" (JLS 14.2).
Java.BooleanRvalue Base class for Java.Rvalues that compile better as conditional branches.
Java.BreakableStatement Base class for statements that can be terminated abnormally with a "break" statement.
Java.BreakStatement Representation of the JavaTM "break" statement (JLS 14.14).
Java.Cast  
Java.CatchClause  
Java.ClassDeclaration  
Java.ClassLiteral  
Java.CompilationUnit Holds the result of Parser.parseCompilationUnit().
Java.ConditionalExpression  
Java.ConstantValue  
Java.ConstructorDeclarator  
Java.ConstructorInvocation  
Java.ContinuableStatement  
Java.ContinueStatement Representation of the JavaTM "continue" statement (JLS 14.15).
Java.Crement Objects of this class represent represent one pre- or post-increment or decrement.
Java.DoStatement  
Java.EmptyStatement Represents the "empty statement", i.e.
Java.ExpressionStatement  
Java.FieldAccessExpression This class implements class or interface field access, and also the "array length" expression "xy.length".
Java.FieldDeclarator This class is derived from "Statement", because it provides for the initialization of the field.
Java.FormalParameter  
Java.ForStatement  
Java.FunctionDeclarator Abstract base class for Java.ConstructorDeclarator and Java.MethodDeclarator.
Java.IfStatement  
Java.ImportDeclaration  
Java.Initializer Representation of an instance (JLS2 8.6) or static initializer (JLS2 8.7).
Java.Instanceof  
Java.InterfaceDeclaration  
Java.Invocation  
Java.LabeledStatement  
Java.Literal  
Java.LocalClassDeclaration  
Java.LocalClassDeclarationStatement  
Java.LocalVariable  
Java.LocalVariableDeclarationStatement  
Java.Lvalue Representation of an "lvalue", i.e.
Java.MemberClassDeclaration  
Java.MemberInterfaceDeclaration  
Java.MethodDeclarator  
Java.MethodInvocation  
Java.NamedClassDeclaration  
Java.NewAnonymousClassInstance  
Java.NewArray  
Java.NewClassInstance  
Java.PackageDeclaration Represents a package declaration like
Java.PackageMemberClassDeclaration  
Java.PackageMemberInterfaceDeclaration  
Java.ParenthesizedExpression  
Java.QualifiedThisReference Representation of an access to the current object or an enclosing instance.
Java.ReferenceType  
Java.ReturnStatement  
Java.Rvalue Representation of an "rvalue", i.e.
Java.RvalueMemberType  
Java.SimpleType  
Java.SingleTypeImportDeclaration Represents a single type import like
Java.Statement  
Java.SuperclassMethodInvocation  
Java.SuperConstructorInvocation  
Java.SwitchBlockStatementGroup  
Java.SwitchStatement 14.10 The "switch" Statement
Java.SynchronizedStatement  
Java.ThisReference Representation of an access to the innermost enclosing instance.
Java.ThrowStatement  
Java.TryStatement  
Java.Type Representation of a JavaTM type.
Java.TypeImportOnDemandDeclaration Represents a type-import-on-demand like
Java.UnaryOperation This class implements the unary operators "+", "-", "~" and "!".
Java.VariableDeclarator  
Java.WhileStatement  
JavaSourceClassLoader A ClassLoader that, unlike usual ClassLoaders, does not load byte code, but reads JavaTM source code and then scans, parses, compiles and loads it into the virtual machine.
Location Represents the location of a character in a file, as defined by file name, line number and column number.
MethodDescriptor Representation of a "method descriptor" (JVMS 4.3.3).
Mod This class defines constants and convenience methods for the handling of modifiers as defined by the JVM.
Parser Implementation of a simplified compiler for the JavaTM programming language.
ResourceFinderIClassLoader This IClassLoader loads IClasses through a a ResourceFinder that designates ClassFiles.
Scanner Splits up a character stream into tokens and returns them as String objects.
ScriptEvaluator A script evaluator that executes a script in JavaTM bytecode.
SimpleCompiler A simplified version of Compiler that can compile only a single compilation unit.
UnicodeUnescapeReader A FilterReader that unescapes the "Unicode Escapes" as described in the Java Language Specification, 2nd edition.
UnitCompiler This class actually implements the JavaTM compiler.
UnitCompiler.SimpleIField Short-hand implementation of IClass.IField that implements a non-constant, non-static, package-accessible field.
UnparseVisitor A visitor that unparses (un-compiles) an AST to a Writer.
Visitor Basis for the "visitor" pattern as described in "Gamma, Helm, Johnson, Vlissides: Design Patterns".
 

Exception Summary
CompileException An exception that reflects an error during compilation.
Parser.ParseException An exception that reflects an error during parsing.
Scanner.LocatedException  
UnicodeUnescapeException Represents a problem that occurred while unescaping a unicode escape sequence through a UnicodeUnescapeReader.
 

Package org.codehaus.janino Description

The classes in this package pose the core of the Janino JavaTM compiler.

The package comprises a scanner (Scanner, a parser (Parser) and a class file library. The parser builds a syntax tree from the "Java.*" classes that represents the parsed code. The UnitCompiler.compileUnit(org.codehaus.janino.DebuggingInformation) method compiles this syntax tree into a ClassFile object, which can write JavaTM bytecode to an "OutputStream".


Web Site