janino.net

Package org.codehaus.janino

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

See:
          Description

Interface Summary
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 Base for the members of an IClass.
Java.Annotation Representation of a Java ™ annotation.
Java.ArrayInitializerOrRvalue The union of Java.ElementValueArrayInitializer and Java.Rvalue.
Java.BlockStatement Everything that can be compiled to code, e.g. the statements occurring in the body of a method or in a block, explicit constructor invocations and instance/static initializers.
Java.DocCommentable Representation of a Java™ element that can be annotated with a DOC comment ('/** ... */').
Java.ElementValue Base of the possible element values in a Java.NormalAnnotation.
Java.Locatable This interface is implemented by objects which are associated with a location in the source code.
Java.MemberTypeDeclaration Represents a class or interface declaration where the immediately enclosing scope is another class or interface declaration.
Java.NamedTypeDeclaration Represents the declaration of a class or an interface that has a name.
Java.PackageMemberTypeDeclaration Represents a class or interface declaration on compilation unit level.
Java.Scope Representation of a Java™ 'scope', e.g. a compilation unit, type, method or block.
Java.TypeArgument Representation of a JLS7 4.5.1 type argument.
Java.TypeBodyDeclaration Representation of a "ClassBodyDeclaration" or an "InterfaceMemberDeclaration".
Java.TypeDeclaration Base for the various kinds of type declarations, e.g. top-level class, member interface, local class.
Visitor.AnnotationVisitor The visitor for all kinds of Java.Annotations.
Visitor.AtomVisitor The visitor for all kinds of Java.Atoms.
Visitor.BlockStatementVisitor The visitor for all kinds of Java.BlockStatements (statements that may appear with a block).
Visitor.ComprehensiveVisitor The union of Visitor.ImportVisitor, Visitor.TypeDeclarationVisitor, Visitor.TypeBodyDeclarationVisitor and Visitor.AtomVisitor.
Visitor.ElementValueVisitor The visitor for all kinds of Java.ElementValues.
Visitor.FunctionDeclaratorVisitor The visitor for all kinds of Java.FunctionDeclarators.
Visitor.ImportVisitor The visitor for all kinds of Java.CompilationUnit.ImportDeclarations.
Visitor.LvalueVisitor The visitor for all kinds of Java.Lvalues.
Visitor.RvalueVisitor The visitor for all kinds of Java.Rvalues.
Visitor.TypeArgumentVisitor The visitor for all kinds of Java.TypeArguments.
Visitor.TypeBodyDeclarationVisitor The visitor for all kinds of Java.TypeBodyDeclarations (declarations that may appear in the body of a type declaration).
Visitor.TypeDeclarationVisitor The visitor for all kinds of Java.TypeDeclarations.
Visitor.TypeVisitor The visitor for all kinds of Java.Types.
 

Class Summary
Access Return value for IClass.IMember.getAccess().
AntCompilerAdapter A simple for the "ant" tool that silently ignores most of the configuration parameters and attempts to compile all given source files into class files.
ByteArrayClassLoader This allows for the loading of a set of Java™ classes provided in class file format.
CachingJavaSourceClassLoader A JavaSourceClassLoader that uses a resource storage provided by the application to cache compiled classes and thus saving unnecessary recompilations.
ClassBodyEvaluator The optionalClassLoader serves two purposes: It is used to look for classes referenced by the class body.
ClassFileIClass A wrapper object that turns a ClassFile object into an IClass.
ClassLoaderIClassLoader An IClassLoader that loads IClasses through a reflection .
CodeContext The context of the compilation of a function (constructor or method).
Compiler A simplified substitute for the javac tool.
Compiler.SimpleWarningHandler Prints warnings to STDERR.
CompilerFactory The JANINO implementation of ICompilerFactory.
Descriptor Helper class that defines useful methods for handling "field descriptors" (JVMS 4.3.2) and "method descriptors" (JVMS 4.3.3).
ExpressionEvaluator This IExpressionEvaluator is implemented by creating and compiling a temporary compilation unit defining one class with one static method with one RETURN statement.
FilterWarningHandler Invokes a delegate iff the handle of the warning matches one or more of a set of StringPatterns.
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 Java™ programming language.
Java.AbstractTypeBodyDeclaration Abstract implementation of Java.TypeBodyDeclaration.
Java.AbstractTypeDeclaration Abstract implementation of Java.TypeDeclaration.
Java.AlternateConstructorInvocation Representation of a JLS7 8.8.7.1.
Java.AmbiguousName Representation of a JLS7 6.5.2 'ambiguous name'.
Java.AnonymousClassDeclaration Representation of a JLS7 15.9.5 'anonymous class declaration'.
Java.ArrayAccessExpression Representation of a JLS7 15.13 'array access expression'.
Java.ArrayInitializer Representation of a JLS7 10.6 'array initializer'.
Java.ArrayLength Representation of the JLS7 10.7 array type 'length' pseudo-member.
Java.ArrayType Representation of a JLS7 10.1 'array type'.
Java.AssertStatement Representation of the JLS7 14.10 ASSERT statement.
Java.Assignment Representation of all JLS7 15.26 assignments.
Java.Atom Abstract base class for Java.Type, Java.Rvalue and Java.Lvalue.
Java.BasicType Representation of a JLS7 18 "basic type" (obviously equivalent to a JLS7 4.2 "primitive type").
Java.BinaryOperation Representation of all non-operand-modifying binary operations.
Java.Block Representation of a Java™ "block" (JLS7 14.2).
Java.BooleanLiteral Representation of a "boolean literal" (JLS7 3.10.3) (type boolean).
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 JLS7 14.15 BREAK statement.
Java.Cast Representation of a JLS7 15.16 'cast expression'.
Java.CatchClause Representation of a JLS7 14.20.1 CATCH clause.
Java.CharacterLiteral Representation of a "character literal" (JLS7 3.10.4) (type char).
Java.ClassDeclaration Base for the various class declaration kinds.
Java.ClassLiteral Representation of a JLS7 15.8.2 'class literal'.
Java.CompilationUnit Holds the result of Parser.parseCompilationUnit().
Java.CompilationUnit.ImportDeclaration Base class for the various IMPORT declarations.
Java.CompilationUnit.SingleStaticImportDeclaration Represents a single static import declaration like import java.util.Collections.EMPTY_MAP;
Java.CompilationUnit.SingleTypeImportDeclaration Represents a 'single-type import declaration' like 'import java.util.Map;'.
Java.CompilationUnit.StaticImportOnDemandDeclaration Represents a static-import-on-demand declaration like import java.util.Collections.
Java.CompilationUnit.TypeImportOnDemandDeclaration Represents a type-import-on-demand declaration like import java.util.*;.
Java.ConditionalExpression Representation of a JLS7 15.25 'conditional operation'.
Java.ConstructorDeclarator Representation of a constructor declarator.
Java.ConstructorInvocation Abstract bas class for Java.SuperConstructorInvocation and Java.AlternateConstructorInvocation.
Java.ContinuableStatement Base class for statements that support the 'continue' statement.
Java.ContinueStatement Representation of the JLS7 14.16 CONTINUE statement.
Java.Crement Representation of a JLS7 15.14.2 'postfix increment operation', a JLS7 15.14.3 'postfix decrement operation', a JLS7 15.15.1 'prefix increment operation' or a JLS7 15.15.2 'prefix decrement operation'.
Java.DoStatement Representation of a JLS7 14.13 DO statement.
Java.ElementValueArrayInitializer An element value in the form of an array initializer, e.g.
Java.ElementValuePair Representation of a 'name = value' element in a Java.NormalAnnotation.
Java.EmptyStatement Representation of the "empty statement", i.e. the blank semicolon.
Java.EnclosingScopeOfTypeDeclaration Lazily determines and returns the enclosing Java.Scope of the given Java.TypeDeclaration.
Java.ExpressionStatement Representation of the JLS7 14.8 'expression statement'.
Java.FieldAccess Representation of an access to a field of a class or an interface.
Java.FieldAccessExpression Representation of a JLS7 15.11 'field access expression', including the "array length" pseudo field access.
Java.FieldDeclaration This class is derived from "Statement", because it provides for the initialization of the field.
Java.FloatingPointLiteral Representation of a "floating-point literal" (JLS7 3.10.2) (types float and double).
Java.ForEachStatement Representation of a JLS7 14.14.2 'enhanced FOR statement'.
Java.ForStatement Representation of a JLS7 14.14.1 'basic FOR statement'.
Java.FunctionDeclarator Abstract base class for Java.ConstructorDeclarator and Java.MethodDeclarator.
Java.FunctionDeclarator.FormalParameter Representation of a (formal) function parameter.
Java.FunctionDeclarator.FormalParameters Representation of the (formal) function parameters.
Java.IfStatement Representation of a JLS7 14.9 IF statement.
Java.Initializer Representation of an 'instance initializer' (JLS7 8.6) or 'static initializer' (JLS7 8.7).
Java.Instanceof Representation of a JLS7 15.20.2 'type comparison operation'.
Java.IntegerLiteral Representation of an "integer literal" (JLS7 3.10.1) (types int and long).
Java.InterfaceDeclaration Base for the various interface declaration kinds.
Java.Invocation Abstract base class for Java.MethodInvocation and Java.SuperclassMethodInvocation.
Java.LabeledStatement Representation of a JLS7 14.7 'labeled statement'.
Java.Literal Abstract base class for the various Java™ literals; see JLS7 3.10.
Java.LocalClassDeclaration Representation of a 'local class declaration' i.e. a class declaration that appears inside a method body.
Java.LocalClassDeclarationStatement Representation of the JLS7 14.3 'local class declaration statement'.
Java.LocalVariable Representation of a local variable while it is in scope during compilation.
Java.LocalVariableAccess Representation of a local variable access -- used during compilation.
Java.LocalVariableDeclarationStatement Representation of a JLS7 14.4 'local variable declaration statement'.
Java.LocalVariableSlot All local variables have a slot number; local variables that get written into the 'localvariabletable' also have a start and end offset that defines the variable's extent in the bytecode.
Java.Located Abstract implementation of Java.Locatable.
Java.Lvalue Representation of an "lvalue", i.e. an expression that has a type and a value, and can be assigned to: An expression that can be the left-hand-side of an assignment.
Java.MarkerAnnotation Repreentation of a 'marker annotation', i.e. an annotation without any elements in parentheses.
Java.MemberClassDeclaration Representation of a 'member class declaration', i.e. a class declaration that appears inside another class declaration.
Java.MemberInterfaceDeclaration Representation of a 'member interface declaration', i.e. an interface declaration that appears inside another class or interface declaration.
Java.MethodDeclarator Representation of a method declarator.
Java.MethodInvocation Representation of a JLS7 15.12 'method invocation expression'.
Java.Modifiers Representation of the modifier flags and annotations that are associated with a declaration.
Java.NamedClassDeclaration Base for the various named class declarations.
Java.NewAnonymousClassInstance Representation of a JLS7 15.9 'anonymous class instance creation expression'.
Java.NewArray Representation of a JLS7 15.10 'array creation expression'.
Java.NewClassInstance Representation of a JLS7 'class instance creation expression'.
Java.NewInitializedArray Representation of a JLS7 15.10 'array creation expression'.
Java.NormalAnnotation A 'normal annotation', i.e. an annotation with multiple elements in parentheses and curly braces.
Java.NullLiteral Representation of a "null literal" (JLS7 3.10.7).
Java.Package Representation of a JLS7 6.5.2.1.5 'package name'.
Java.PackageDeclaration Representation of a package declaration like package com.acme.tools;.
Java.PackageMemberClassDeclaration Implementation of a 'package member class declaration', a.k.a.
Java.PackageMemberInterfaceDeclaration Representation of a 'package member interface declaration', a.k.a.
Java.ParameterAccess 'Artificial' operation for accessing the parameters of the synthetic constructor of an anonymous class.
Java.ParenthesizedExpression Representation of a JLS7 15.8.5 'parenthesized expression'.
Java.QualifiedThisReference Representation of an JLS7 15.8.4 access to the current object or an enclosing instance.
Java.ReferenceType representation of a JLS7 4.3 reference type.
Java.ReturnStatement Representation of the JLS7 14.17 RETURN statement.
Java.Rvalue Representation of an "rvalue", i.e. an expression that has a type and a value, but cannot be assigned to: An expression that can be the right-hand-side of an assignment.
Java.RvalueMemberType Representation of the first part of a JLS7 15.9 'Qualified class instance creation expression': The 'a.new MyClass' part of 'a.new MyClass(...)'.
Java.SimpleConstant This class is not used when code is parsed; it is intended for "programmatic" literals.
Java.SimpleType This class is not used when code is parsed; it is intended for "programmatic" types.
Java.SingleElementAnnotation Representation of a 'single-element annotation', i.e. an annotation followed by a single element in parentheses.
Java.Statement Everything that can occur in the body of a method or in a block.
Java.StringLiteral Representation of a "string literal" (JLS7 3.10.5) (type ).
Java.SuperclassFieldAccessExpression Representation of an JLS7 'superclass field access expression', e.g.
Java.SuperclassMethodInvocation Representation of a JLS7 15.12.1.1.3 'superclass method invocation'.
Java.SuperConstructorInvocation Representation of a JLS7 8.8.7.1.
Java.SwitchStatement The JLS7 14.10 "switch" Statement.
Java.SwitchStatement.SwitchBlockStatementGroup Representation of a 'switch block statement group' as defined in JLS7 14.11.
Java.SynchronizedStatement Representation of a JLS7 14.9 SYNCHRONIZED statement.
Java.ThisReference Representation of an JLS7 15.8.3 access to the innermost enclosing instance.
Java.ThrowStatement Representation of a JLS7 14.18 THROW statement.
Java.TryStatement Representation of a JLS7 14.20 TRY statement.
Java.Type Representation of a Java™ type.
Java.TypeParameter Representation of a type parameter (which declares a type variable).
Java.UnaryOperation Representation of a JLS7 15.15.3 'unary plus operator', a JLS7 15.15.4 'unary minus operator', a JLS7 15.15.5 'bitwise complement operator' or a JLS7 15.15.6 'logical complement operator'.
Java.VariableDeclarator Used by FieldDeclaration and LocalVariableDeclarationStatement.
Java.WhileStatement Representation of the JLS7 14.2 WHILE statement.
Java.Wildcard Representation of a JLS7 4.5.1 'wildcard'.
JavaSourceClassLoader A that, unlike usual s, does not load byte code, but reads Java™ source code and then scans, parses, compiles and loads it into the virtual machine.
JavaSourceIClassLoader This IClassLoader finds, scans and parses compilation units.
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 A parser for the Java™ programming language.
Parser.ClassDeclarationContext Enumerator for the kinds of context where a class declaration can occur.
Parser.InterfaceDeclarationContext Enumerator for the kinds of context where an interface declaration can occur.
ResourceFinderIClassLoader This IClassLoader loads IClasses through a a ResourceFinder that designates ClassFiles.
Scanner Splits up a character stream into tokens and returns them as objects.
ScriptEvaluator A number of "convenience constructors" exist that execute the setup steps instantly.
SimpleCompiler To set up a SimpleCompiler object, proceed as described for ISimpleCompiler.
UnicodeUnescapeReader A that unescapes the "Unicode Escapes" as described in JLS7 3.10.6.
UnitCompiler This class actually implements the Java™ 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 .
Visitor Basis for the "visitor" pattern as described in "Gamma, Helm, Johnson, Vlissides: Design Patterns".
 

Exception Summary
JaninoRuntimeException All Janino components that throw throw this subclass to allow for client libraries to intercept them more easily.
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(boolean, boolean, boolean) method compiles this syntax tree into a ClassFile object, which can write JavaTM bytecode to an "OutputStream".


janino.net