# All Classes and Interfaces

Class
Description
AbstractCompiler
A base class and wrapper for
invalid reference

    Compiler

that implements all redundant API methods.
AbstractCompilerFactory
Base class for a simple `ICompilerFactory`.
AbstractJavaSourceClassLoader
A `ClassLoader` that, unlike usual `ClassLoader`s, does not load byte code, but reads Java source code and then scans, parses, compiles and loads it into the virtual machine.
AbstractJavaSourceClassLoader.ProtectionDomainFactory
AbstractTraverser<EX>
A basic implementation of `Traverser`; each `traverse*(s)` method invokes the `traverse*()` methods of all Java elements subordinate to `x`.
Access
Return value for `IClass.IMember.getAccess()`.
Annotatable
An object in a Java class file which can have annotations (classes, methods and fields).
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.
ApiLog
Simple logging of method invocations.
AutoIndentWriter
A `FilterWriter` that indents lines by processing some control characters in the character stream.
Benchmark
Implements a scheme for benchmarking, i.e.
Benchmark.Reporter
Interface used to report messages.
ByteArrayClassLoader
This `ClassLoader` 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.
CharStream
This interface produces a sequence of `char`s.
ClassBodyDemo
A test program that allows you to play with the `IClassBodyEvaluator` API.
ClassBodyEvaluator
To set up a `ClassBodyEvaluator` object, proceed as described for `IClassBodyEvaluator`.
ClassBodyEvaluator
Classes
Utility methods related to `Class`.
ClassFile
An object that implements the Java "class file" format.
ClassFile.Annotation
The structure of the `annotations` array as described in JVMS8 4.7.16.
ClassFile.AnnotationDefaultAttribute
Representation of an `AnnotationDefault` attribute (see JVMS8 4.7.22).
ClassFile.AnnotationsAttribute
Representation of a `Runtime[In]visibleAnnotations` attribute (see JVMS8 4.7.16/17).
ClassFile.ArrayElementValue
Representation of the "array_value" structure.
ClassFile.AttributeInfo
Representation of a class file attribute (see JVMS7 4.7).
ClassFile.BooleanElementValue
ClassFile.ByteElementValue
ClassFile.CharElementValue
ClassFile.ClassElementValue
ClassFile.ClassFileException
Unchecked exception that represents an error condition that could occur during processing of class files, e.g.
ClassFile.CodeAttribute
Representation of an unmodifiable `Code` attribute, as read from a class file.
ClassFile.CodeAttribute.ExceptionTableEntry
Representation of an entry in the "exception_table" of a "Code" attribute (see JVMS 4.7.3).
ClassFile.ConstantClassInfo
See JVMS7 4.4.1.
ClassFile.ConstantElementValue
Convenience class for element values that are constants (as opposed to annotations, enum constants and arrays).
ClassFile.ConstantElementValue.Visitor<R,EX>
The visitor interface for the implementation of the "visitor" pattern.
ClassFile.ConstantFieldrefInfo
See JVMS7 4.4.2.
ClassFile.ConstantInterfaceMethodrefInfo
See JVMS7 4.4.2.
ClassFile.ConstantInvokeDynamicInfo
See JVMS7 4.4.10.
ClassFile.ConstantMethodHandleInfo
See JVMS7 4.4.8.
ClassFile.ConstantMethodrefInfo
See JVMS7 4.4.2.
ClassFile.ConstantMethodTypeInfo
See JVMS7 4.4.9.
ClassFile.ConstantNameAndTypeInfo
See JVMS7 4.4.6.
ClassFile.ConstantPoolInfo
Base for various the constant pool table entry types.
ClassFile.ConstantUtf8Info
See JVMS7 4.4.7.
ClassFile.ConstantValueAttribute
Representation of a `ConstantValue` attribute (see JVMS 4.7.2).
ClassFile.ConstantValuePoolInfo
Intermediate base class for constant pool table entry types that have 'value' semantics: Double, Float, Integer, Long, String
ClassFile.DeprecatedAttribute
Representation of a `Deprecated` attribute (see JVMS 4.7.10).
ClassFile.DoubleElementValue
ClassFile.ElementValue
Representation of the "element_value" structure (see JVMS8 4.7.16.1).
ClassFile.ElementValue.Visitor<R,EX>
The visitor interface for the implementation of the "visitor" pattern.
ClassFile.EnumConstValue
Representation of the "enum_const_value" element in the "element_value" structure.
ClassFile.ExceptionsAttribute
Representation of an `Exceptions` attribute (see JVMS 4.7.4).
ClassFile.FloatElementValue
ClassFile.InnerClassesAttribute
Representation of an `InnerClasses` attribute (see JVMS 4.7.5).
ClassFile.InnerClassesAttribute.Entry
The structure of the `classes` array as described in JVMS7 4.7.6.
ClassFile.IntElementValue
ClassFile.LineNumberTableAttribute
Representation of a `LineNumberTable` attribute (see JVMS 4.7.8).
ClassFile.LineNumberTableAttribute.Entry
The structure of the entries in the `line_number_table`, as described in JVMS7 4.7.12.
ClassFile.LocalVariableTableAttribute
Representation of a `LocalVariableTable` attribute (see JVMS 4.7.9).
ClassFile.LocalVariableTableAttribute.Entry
The structure of the entries in the `local_variable_table`, as described in JVMS7 4.7.13.
ClassFile.LongElementValue
ClassFile.ShortElementValue
ClassFile.SignatureAttribute
Representation of a `Signature` attribute (see JVMS 4.7.9).
ClassFile.SourceFileAttribute
Representation of a `SourceFile` attribute (see JVMS 4.7.7).
ClassFile.StackMapTableAttribute
Representation of an unmodifiable `StackMapTable` attribute, as read from a class file.
ClassFile.StackMapTableAttribute.AppendFrame
Representation of the `append_frame` structure; see JVMS8 4.7.4.
ClassFile.StackMapTableAttribute.ChopFrame
Representation of the `chop_frame` structure; see JVMS8 4.7.4.
ClassFile.StackMapTableAttribute.FullFrame
Representation of the `full_frame` structure; see JVMS8 4.7.4.
ClassFile.StackMapTableAttribute.ObjectVariableInfo
Representation of the `object_variable_info` structure; see JVMS8 4.7.4.
ClassFile.StackMapTableAttribute.SameFrame
Representation of the `same_frame` structure; see JVMS8 4.7.4.
ClassFile.StackMapTableAttribute.SameFrameExtended
Representation of the `same_frame_extended` structure; see JVMS8 4.7.4.
ClassFile.StackMapTableAttribute.SameLocals1StackItemFrame
Representation of the `same_locals_1_stack_item_frame` structure; see JVMS8 4.7.4.
ClassFile.StackMapTableAttribute.SameLocals1StackItemFrameExtended
Representation of the `same_locals_1_stack_item_frame_extended` structure; see JVMS8 4.7.4.
ClassFile.StackMapTableAttribute.StackMapFrame
Representation of an entry in the `ClassFile.StackMapTableAttribute`.
ClassFile.StackMapTableAttribute.StackMapFrameVisitor<T>
ClassFile.StackMapTableAttribute.UninitializedVariableInfo
Representation of the `uninitialized_variable_info` structure; see JVMS8 4.7.4.
ClassFile.StackMapTableAttribute.VerificationTypeInfo
Representation of the `verification_type_info` union; see JVMS8 4.7.4.
ClassFile.StringElementValue
ClassFile.SyntheticAttribute
Representation of a `Synthetic` attribute (see JVMS 4.7.6).
ClassFileIClass
A wrapper object that turns a `ClassFile` object into an `IClass`.
ClassLoaderIClassLoader
An `IClassLoader` that loads `IClass`es through a reflection `ClassLoader`.
ClassLoaders
Utility methods around the `ClassLoader`.
CodeContext
The context of the compilation of a function (constructor or method).
CodeContext.FixUp
A throw-in interface that marks `CodeContext.Offset`s as "fix-ups": During the execution of `CodeContext.fixUp()`, all "fix-ups" are invoked and can do last touches to the code attribute.
CompileException
Representation of an error condition during compilation.
Compiler
`javax.tools`-based implementation of the `ICompiler`.
Compiler
JANINO implementation of `ICompiler`.
CompilerDemo
A drop-in replacement for the JDK's `JAVAC` tool.
CompilerFactory
The `CompilerFactory` implementation for `org.codehaus.commons.compiler.jdk`.
CompilerFactory
The JANINO implementation of `ICompilerFactory`.
CompilerFactoryFactory
Utility class that finds implementations of `ICompilerFactory`s.
Consumer<T>
Facade for Java 8's `java.util.reflect.Consumer` interface.
Consumers
Helper methods for the `Consumer` facade.
Cookable
Base class for a simple `ICookable`.
DeclarationCounter
An example application for the `Traverser`: Reads, scans and parses the files named on the command line and counts several kinds of declarations.
DeepCopier
Creates deep copies of AST elements.
DemoBase
Common base class for the "...Demo" classes that demostrate Janino.
Descriptor
Helper class that defines useful methods for handling "field descriptors" (JVMS 4.3.2) and "method descriptors" (JVMS 4.3.3).
DirectoryIterator
An `Iterator<File>` that finds regular files who's names are `accepted` by the fileNameFilter and exist in the given rootDirectory, or exist in any subdirectory of the rootDirectory that is `accepted` by the directoryNameFilter.
DirectoryIterator.DirectoryNotListableException
Indicates that `File.listFiles()` returned `null` for a particular directory.
DirectoryResourceCreator
Creates a resource in a given directory:
DirectoryResourceFinder
A `FileResourceFinder` that finds file resources in a directory.
Disassembler
Generates human-readable Java assembler code from Java bytecode.
EnumerationIterator<T>
An `Iterator` that iterates over the elements of an `Enumeration`.
ErrorHandler
Processes an error issued by the compiler.
ExpressionDemo
A test program that allows you to play around with the `IExpressionEvaluator` class.
ExpressionEvaluator
This `IExpressionEvaluator` is implemented by creating and compiling a temporary compilation unit defining one class with one static method with one RETURN statement.
ExpressionEvaluator
This `IExpressionEvaluator` is implemented by creating and compiling a temporary compilation unit defining one class with one static method with one RETURN statement.
FileResource
Representation of a resource that is a `File`.
FileResourceCreator
Stores a stream of bytes in a named resource.
FileResourceFinder
This class specializes the `ResourceFinder` for finding resources in `File`s.
FilterListIterator<T>
An `ListIterator` that retrieves its elements from a delegate `ListIterator`.
FilterWarningHandler
Invokes a delegate iff the handle of the warning matches one or more of a set of `StringPattern`s.
HprofScrubber
Example for object allocation statistics:
IClass
A simplified equivalent to "java.lang.reflect".
IClass.IAnnotation
Representation of a Java "annotation".
IClass.IMember
Base for the members of an `IClass`.
IClassBodyEvaluator
Parses a class body and returns it as a `Class` object ready for use with `java.lang.reflect`.
IClassLoader
Loads an `IClass` by type name.
ICompiler
A simplified substitute for the `javac` tool.
ICompilerFactory
An entity that produces implementations of `IExpressionEvaluator`, `IScriptEvaluator`, `IClassBodyEvaluator`, `ISimpleCompiler` or `AbstractJavaSourceClassLoader`.
ICookable
An entity that processes a sequence of characters (a "document").
IExpressionEvaluator
An engine that evaluates expressions in JVM bytecode.
IMultiCookable
InputStreams
InternalCompilerException
Indicates an event that is probably related to a bug in JANINO.
IParameterizedType
IScriptEvaluator
An engine that executes a script in JVM bytecode.
ISimpleCompiler
A simplified Java compiler that can compile only a single compilation unit.
Iterables
Utility method around `Iterable`s and `Iterator`s.
IteratorCollection<T>
A `Collection` that lazily reads its elements from an `Iterator`.
IType
ITypeVariable
Type bounds can either be a class or interface type, or a type variable.
ITypeVariableOrIClass
IWildcardType
JaninoOption
The compilation of `Compiler`, `JavaSourceIClassLoader`, `SimpleCompiler` and their subclasses can be configured with these options.
JarDirectoriesResourceFinder
Finds resources in any of the "*.jar" files that exist in a given set of directories.
Java
This wrapper class defines classes that represent the elements of the Java programming language.
Java.AbstractAnnotation
Convenience class.
Java.AbstractClassDeclaration
Base for the various class declaration kinds.
Java.AbstractCompilationUnit
Holds the result of `Parser.parseAbstractCompilationUnit()`.
Java.AbstractCompilationUnit.ImportDeclaration
Base class for the various IMPORT declarations.
Java.AbstractCompilationUnit.SingleStaticImportDeclaration
Represents a single static import declaration like
Java.AbstractCompilationUnit.SingleTypeImportDeclaration
Represents a "single-type import declaration" like "`import java.util.Map;`".
Java.AbstractCompilationUnit.StaticImportOnDemandDeclaration
Represents a static-import-on-demand declaration like
Java.AbstractCompilationUnit.TypeImportOnDemandDeclaration
Represents a type-import-on-demand declaration like `import java.util.*;`.
Java.AbstractTypeBodyDeclaration
Abstract implementation of `Java.TypeBodyDeclaration`.
Java.AbstractTypeDeclaration
Abstract implementation of `Java.TypeDeclaration`.
Java.AccessModifier
Representation of the modifier flags and annotations that are associated with a declaration.
Java.AlternateConstructorInvocation
Representation of a JLS7 8.8.7.1.
Java.AmbiguousName
Representation of a JLS7 6.5.2 "ambiguous name".
Java.Annotatable
Representation of Java elements that can be annotated: Fields, constructors, methods, type declarations.
Java.Annotation
Representation of a Java annotation.
Java.AnnotationTypeDeclaration
Base for package member ("top-level") and member ("nested") annotation type declarations.
Java.AnonymousClassDeclaration
Representation of a JLS7 15.9.5 "anonymous class declaration".
Java.ArrayAccessExpression
Representation of a JLS7 15.13 (JLS8: 15.10.3) "array access expression".
Java.ArrayCreationReference
Representation of a "method reference expression", as described in JLS9 15.13, with the form "`<var>arrayType</var>::new`".
Java.ArrayInitializer
Representation of a JLS7 10.6 "array initializer".
Java.ArrayInitializerOrRvalue
The union of `Java.ArrayInitializer` and `Java.Rvalue`.
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`, `Java.Package` and `Java.ConstructorInvocation`.
Java.BinaryOperation
Representation of all non-operand-modifying binary operations.
Java.Block
Representation of a Java "block" (JLS7 14.2).
Java.BlockLambdaBody
Representation of a "lambda body" that is a block; see JLS9 15.27.2.
Java.BlockStatement
Everything that can be compiled to code, e.g.
Java.BooleanLiteral
Representation of a "boolean literal" (JLS7 3.10.3) (type `boolean`).
Java.BooleanRvalue
Base class for `Java.Rvalue`s 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.CatchParameter
Representation of a "catch" parameter.
Java.CharacterLiteral
Representation of a "character literal" (JLS7 3.10.4) (type `char`).
Java.ClassDeclaration
Base for the various class declarations (top-level class, local class, anonymous class, nested class, top-level enum, nested enum).
Java.ClassInstanceCreationReference
Representation of a "method reference expression", as described in JLS9 15.13, with the form "`<var>classType</var>::new`".
Java.ClassLiteral
Representation of a JLS7 15.8.2 "class literal".
Java.CompilationUnit
Representation of an "ordinary compilation unit" as explained in JLS9 7.3 (before Java 9 known as "compilation unit" and described in JLS8 7.3).
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.DocCommentable
Representation of a Java element that can be annotated with a DOC comment ("`/** ...`
Java.DoStatement
Representation of a JLS7 14.13 DO statement.
Java.ElementValue
Base of the possible element values in a `Java.NormalAnnotation`.
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.
Java.EnclosingScopeOfTypeDeclaration
Lazily determines and returns the enclosing `Java.Scope` of the given `Java.TypeDeclaration`.
Java.EnumConstant
Representation of an "enum constant", see JLS7 8.9.1.
Java.EnumDeclaration
Base for package member (a.k.a.
Java.ExportsModuleDirective
Representation of a (Java 9+) "exports directive", as explained in JLS9 7.7.2.
Java.ExpressionLambdaBody
Representation of a "lambda body" that is an expression; see JLS9 15.27.2.
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.FieldDeclarationOrInitializer
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.FormalLambdaParameters
Representation of "lamba parameters" that include a formal parameter list; see JLS9 15.27.1.
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.IdentifierLambdaParameters
Representation of "lamba parameters" that consist of a single identifier; see JLS9 15.27.1
Java.IfStatement
Representation of a JLS7 14.9 IF statement.
Java.InferredLambdaParameters
Representation of "lamba parameters" that include an inferred formal parameter list; see JLS9 15.27.1.
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.LambdaBody
Representation of a "lambda body", see JLS9 15.27.2.
Java.LambdaExpression
Representation of a (Java 8+) "lambda expression", see JLS9 15.27.
Java.LambdaParameters
Base for the various "lambda parameters" styles, see JLS9 15.27.1.
Java.Literal
Abstract base class for the various Java literals; see JLS7 3.10.
Java.LocalClassDeclaration
Representation of a "local class declaration" i.e.
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 "local variable table" also have a start and end offset that defines the variable's extent in the bytecode.
Java.Locatable
This interface is implemented by objects which are associated with a location in the source code.
Java.Located
Abstract implementation of `Java.Locatable`.
Java.Lvalue
Representation of an "lvalue", i.e.
Java.MarkerAnnotation
Representation of a "marker annotation", i.e.
Java.MemberAnnotationTypeDeclaration
Representation of a member annotation type declaration, a.k.a.
Java.MemberClassDeclaration
Representation of a "member class declaration", i.e.
Java.MemberEnumDeclaration
Representation of a "member enum declaration", i.e.
Java.MemberInterfaceDeclaration
Representation of a "member interface declaration", i.e.
Java.MemberTypeDeclaration
Represents a class or interface declaration where the immediately enclosing scope is another class or interface declaration.
Java.MethodDeclarator
Representation of a method declarator.
Java.MethodInvocation
Representation of a JLS7 15.12 "method invocation expression".
Java.MethodReference
Representation of a "method reference expression", as described in JLS9 15.13, with the form "`<var>referenceType</var>::identifier`.
Java.Modifier
Base for the various modifiers (access modifiers, annotations).
Java.Modifiers
Deprecated.
Many methods that previously accepted a parameter of this type now take a `Java.Modifier``[]` (incompatible API change in JANINO version 3.0.13)
Java.ModularCompilationUnit
Represents a `ModularCompilationUnit` as specified in JLS11 7.3.
Java.ModuleDeclaration
Representation of a "module declaration", as described in JLS9 7.7.
Java.ModuleDirective
Representation of a (Java 9+) "module directive", as explained in JLS9 7.7.
Java.NamedClassDeclaration
Base for the various named class declarations.
Java.NamedTypeDeclaration
Represents the declaration of a class or an interface that has a name.
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.
Java.NullLiteral
Representation of a "null literal" (JLS7 3.10.7).
Java.OpensModuleDirective
Representation of a (Java 9+) "opens directive", as explained in JLS9 7.7.2.
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.PackageMemberAnnotationTypeDeclaration
Representation of a package member annotation type declaration, a.k.a.
Java.PackageMemberClassDeclaration
Implementation of a "package member class declaration", a.k.a.
Java.PackageMemberEnumDeclaration
Implementation of a "package member enum declaration", a.k.a.
Java.PackageMemberInterfaceDeclaration
Representation of a "package member interface declaration", a.k.a.
Java.PackageMemberTypeDeclaration
Represents a class or interface declaration on compilation unit level.
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.Primitive
Java's primitive types.
Java.PrimitiveType
Representation of a JLS7 4.2 "primitive type", i.e a primitive type "usage", which has a location.
Java.ProvidesModuleDirective
Representation of a (Java 9+) "provides directive", as explained in JLS9 7.7.4.
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.RequiresModuleDirective
Representation of a (Java 9+) "requires directive", as explained in JLS9 7.7.1.
Java.ReturnStatement
Representation of the JLS7 14.17 RETURN statement.
Java.Rvalue
Representation of an "rvalue", i.e.
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(...)`" expression.
Java.Scope
Representation of a Java "scope", e.g.
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.
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 `String`).
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.TextBlock
Representation of a "text block" (JLS17 3.10.6 Text Blocks) (type `String`).
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.TryStatement.LocalVariableDeclaratorResource
Representation of a JLS9 14.20.2 "local-variable-declarator resource" in a TRY-with-resources statement.
Java.TryStatement.Resource
Representation of a JLS9 14.20.2 "resource" in a TRY-with-resources statement.
Java.TryStatement.VariableAccessResource
Representation of a JLS9 14.20.2 "variable-access resource" in a TRY-with-resources statement.
Java.Type
Representation of a Java type.
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.
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.UsesModuleDirective
Representation of a (Java 9+) "uses directive", as explained in JLS9 7.7.3.
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".
JavaFileManagers
Utility methods related to `JavaFileManager`s.
JavaFileObjects
Utility methods related to `JavaFileObject`s.
JavaFileObjects.ByteArrayJavaFileObject
Byte array-based implementation of `JavaFileObject`.
JavaFileObjects.ResourceJavaFileObject
Byte array-based implementation of `JavaFileObject`.
JavaSourceClassLoader
A `ClassLoader` that loads classes by looking for their source files through a "source path" and compiling them on-the-fly.
JavaSourceClassLoader
A `ClassLoader` that, unlike usual `ClassLoader`s, does not load byte code, but reads Java source code and then scans, parses, compiles and loads it into the virtual machine.
JavaSourceClassLoader.DiagnosticException
Container for a `Diagnostic` object.
JavaSourceIClassLoader
This `IClassLoader` finds, scans and parses compilation units.
LazyMultiResourceFinder
A `ResourceFinder` that examines a set of `ResourceFinder`s lazily as it searches for resources.
LineAndColumnTracker
Keeps track of "line numbers" and "column numbers" while a char stream is being processed.
ListableResourceFinder
Extends the `ResourceFinder` class with a `ListableResourceFinder.list(String, boolean)` method.
LocatableResource
A `Resource` that can be addressed by a URL.
LocatedException
An `Exception` that is associated with an optional `Location` in a source file.
Location
Immutable representation of the location of a character in a document, as defined by an (optional) file name, a line number and a column number.
MapResourceCreator
Creates resources as byte arrays in a delegate `Map`.
MapResourceFinder
A `ResourceFinder` that provides access to resource stored as byte arrays in a `Map`.
MethodDescriptor
Representation of a "method descriptor" (JVMS 4.3.3).
Methods
Utility methods related to `Method`.
Mod
This class defines constants and convenience methods for the handling of modifiers as defined by the JVM.
ModuleFinder
Pre-Java-9-compatible facade for Java 9's `java.lang.module.ModuleFinder` class.
ModuleReader
Pre-Java-9-compatible facade for Java 9's `java.lang.module.ModuleReader` class.
ModuleReference
Pre-Java-9-compatible facade for Java 9's `java.lang.module.ModuleReference` interface.
MultiCookable
Implements all methods of `IMultiCookable`, except for `IMultiCookable.cook(String[], Reader[])`.
MultiDimensionalIterator<T>
An `Iterator` that iterates over a delegate, which produces arrays, `Collection`s, `Enumeration`s or `Iterator`s.
MultiIterator<T>
An `Iterator` that traverses a `Collection` of `Iterator`s, `Collection`s and/or arrays.
MultiResourceFinder
A `ResourceFinder` that finds its resources through a collection of other `ResourceFinder`s.
NoException
An exception that is never instantiated, and is useful for declaration of methods that throw a parameterized `Throwable`.
NotNull
Designates that a field, return value, argument, or variable is guaranteed to be non-null.
NotNullByDefault
By default, types in method signatures that lack a null annotation are regarded as nullable.
Nullable
Designates that a field, return value, argument, or variable may be `null`.
Numbers
Utility methods related to `Number`.
Optional<T>
Pre-Java-9-compatible facade for Java 9's `java.util.Optional` class.
Parser
A parser for the Java programming language.
Parser.ClassDeclarationContext
The kinds of context where a class declaration can occur.
Parser.InterfaceDeclarationContext
The kinds of context where an interface declaration can occur.
Parser.MethodDeclarationContext
The kinds of context where a method declaration can occur.
PathResourceFinder
A `ResourceFinder` that finds its resources along a "path" consisting of JAR file names, ZIP file names, and directory names.
Predicate<T>
Producer<T>
An object that produces some `Object` each time the `Producer.produce()` method is invoked.
ProducerIterator<T>
An `Iterator` that iterates over all the objects produced by a delegate `Producer`.
Proxies
Readers
Utiltity methods related to `Reader`.
Resource
A sequence of bytes that is identified by a "name", is typically found by a `ResourceFinder`, can be `Resource.open()`ed for reading, and optionally has a `Resource.lastModified()` property.
ResourceCreator
Opens a resource, characterized by a name, for writing.
ResourceFinder
Finds a resource by name.
ResourceFinderClassLoader
A `ClassLoader` that uses a `ResourceFinder` to find ".class" files.
ResourceFinderIClassLoader
This `IClassLoader` loads IClasses through a a `ResourceFinder` that designates `ClassFile`s.
ResourceFinders
Utility methods around the `ResourceFinder`.
ReverseListIterator<T>
A `ListIterator` that reverses the direction of all operations of a delegate `ListIterator`.
Sandbox
Executes a `PrivilegedAction` or `PrivilegedExceptionAction` in a context with restricted permissions.
Scanner
Splits up a character stream into tokens and returns them as `String` objects.
ScriptDemo
A test program that allows you to play around with the `IScriptEvaluator` class.
ScriptEvaluator
To set up a `ScriptEvaluator` object, proceed as described for `IScriptEvaluator`.
ScriptEvaluator
An implementation of `IScriptEvaluator` that utilizes the JANINO Java compiler.
ShippingCost
Sample application which demonstrates how to use the `IExpressionEvaluator` class.
SignatureParser
Helper class for parsing signatures and descriptors.
SignatureParser.ArrayTypeSignature
Representation of the "ArrayTypeSignature" clause.
SignatureParser.ClassSignature
Representation of the "ClassSignature" clause.
SignatureParser.ClassTypeSignature
Representation of the "ClassTypeSignature" clause, e.g.
SignatureParser.FieldTypeSignature
Representation of the "FieldTypeSignature" clause.
SignatureParser.FieldTypeSignatureVisitor<T,EX>
SignatureParser.FormalTypeParameter
Representation of the "FormalTypeParameter" clause, e.g.
SignatureParser.MethodTypeSignature
Representation of the "MethodTypeSignature" clause.
SignatureParser.Options
SignatureParser.PrimitiveTypeSignature
Representation of the "PrimitiveTypeSignature" clause, i.e.
SignatureParser.SignatureException
Signalizes am malformed signature.
SignatureParser.SimpleClassTypeSignature
Representation of the "SimpleClassTypeSignature" clause, e.g.
SignatureParser.ThrowsSignature
Representation of the "ThrowsSignature" clause.
SignatureParser.TypeArgument
Representation of the "TypeArgument" clause.
SignatureParser.TypeSignature
Representation of the "TypeSignature" clause.
SignatureParser.TypeVariableSignature
Representation of the "TypeVariableSignature" clause, e.g.
SimpleCompiler
`javax.tools`-based implementation of `ISimpleCompiler`.
SimpleCompiler
To set up a `SimpleCompiler` object, proceed as described for `ISimpleCompiler`.
Stream<T>
Pre-Java-8-compatible facade for Java 8's `java.util.stream.Stream` class.
StringCharStream
Reads from a `String`.
StringPattern
Implementation of a UNIX shell-like string pattern algorithm.
StringResource
A resource who's content is a `String`.
StringUtil
Utility methods related to `String`.
SystemProperties
Token
Immutable representation of a Java token.
TokenStream
An interface that allows for peeking and consuming a stream of `Token`s.
TokenStreamImpl
Standard implementation for the `TokenStream`.
TokenType
Enumeration of the types of `Token`s that the `Scanner` produces.
TransformingIterator<T1,T2>
An `Iterator` that transforms its elements on-the-fly.
Traverser<EX>
Implementations of this interface promise to traverses the subnodes of an AST.
TraversingIterator
An `Iterator` that iterates over a delegate, and while it encounters an array, a `Collection`, an `Enumeration` or a `Iterator` element, it iterates over it recursively.
UnexpectedCharacterException
Indicates that `CharStream.read()` did not find the character(s) it expected.
UnicodeUnescapeException
Represents a problem that occurred while unescaping a unicode escape sequence through a `UnicodeUnescapeReader`.
UnicodeUnescapeReader
A `FilterReader` that unescapes the "Unicode Escapes" as described in JLS7 3.10.6.
UnitCompiler
This class actually implements the Java compiler.
UnitCompiler.ClassFileConsumer
UnitCompiler.SimpleIField
Short-hand implementation of `IClass.IField` that implements a non-constant, non-static, package-accessible field.
UniterableElementException
Thrown by `MultiDimensionalIterator` to indicate that it has encountered an element that cannot be iterated.
Unparser
Unparses (un-compiles) an AST to a `Writer`.
Visitor
The basis for the "visitor" pattern as described in "Gamma, Helm, Johnson, Vlissides: Design Patterns".
Visitor.AbstractCompilationUnitVisitor<R,EX>
The visitor for the different kinds of `Java.AbstractCompilationUnit`s.
Visitor.AnnotationVisitor<R,EX>
The visitor for all kinds of `Java.Annotation`s.
Visitor.ArrayInitializerOrRvalueVisitor<R,EX>
The visitor for `Java.ArrayInitializerOrRvalue`.
Visitor.AtomVisitor<R,EX>
The visitor for all kinds of `Java.Atom`s.
Visitor.BlockStatementVisitor<R,EX>
The visitor for all kinds of `Java.BlockStatement`s (statements that may appear with a block).
Visitor.ConstructorInvocationVisitor<R,EX>
The visitor for all kinds of `Java.ConstructorInvocation`s.
Visitor.ElementValueVisitor<R,EX>
Visitor.FieldDeclarationOrInitializerVisitor<R,EX>
The visitor for all kinds of `Java.BlockStatement`s (statements that may appear with a block).
Visitor.FunctionDeclaratorVisitor<R,EX>
The visitor for all kinds of `Java.FunctionDeclarator`s.
Visitor.ImportVisitor<R,EX>
The visitor for all kinds of `Java.AbstractCompilationUnit.ImportDeclaration`s.
Visitor.LambdaBodyVisitor<R,EX>
The visitor for the different kinds of `Java.LambdaBody`s.
Visitor.LambdaParametersVisitor<R,EX>
The visitor for the different kinds of `Java.LambdaParameters` styles.
Visitor.LvalueVisitor<R,EX>
The visitor for all kinds of `Java.Lvalue`s.
Visitor.ModifierVisitor<R,EX>
The visitor for the different kinds of `Java.Modifier`s.
Visitor.ModuleDirectiveVisitor<R,EX>
The visitor for the different kinds of `Java.ModuleDirective`s.
Visitor.RvalueVisitor<R,EX>
The visitor for all kinds of `Java.Rvalue`s.
Visitor.TryStatementResourceVisitor<R,EX>
The visitor for all kinds of `Java.TryStatement.Resource`s.
Visitor.TypeArgumentVisitor<R,EX>
The visitor for all kinds of `Java.TypeArgument`s.
Visitor.TypeBodyDeclarationVisitor<R,EX>
The visitor for all kinds of `Java.TypeBodyDeclaration`s (declarations that may appear in the body of a type declaration).
Visitor.TypeDeclarationVisitor<R,EX>
The visitor for all kinds of `Java.TypeDeclaration`s.
Visitor.TypeVisitor<R,EX>
The visitor for all kinds of `Java.Type`s.
WarningHandler
Processes a warning issued by the compiler.
ZipFileResourceFinder
A `ResourceFinder` that finds resources in a ZIP file.