Package org.codehaus.janino
Class Java
- java.lang.Object
-
- org.codehaus.janino.Java
-
public final class Java extends java.lang.Object
This wrapper class defines classes that represent the elements of the Java programming language.Notice: "JLS7" refers to the Java Language Specification, Java SE 7 Edition.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
Java.AbstractAnnotation
Convenience class.static class
Java.AbstractClassDeclaration
Base for the various class declaration kinds.static class
Java.AbstractCompilationUnit
Holds the result ofParser.parseAbstractCompilationUnit()
.static class
Java.AbstractTypeBodyDeclaration
Abstract implementation ofJava.TypeBodyDeclaration
.static class
Java.AbstractTypeDeclaration
Abstract implementation ofJava.TypeDeclaration
.static class
Java.AccessModifier
Representation of the modifier flags and annotations that are associated with a declaration.static class
Java.AlternateConstructorInvocation
Representation of a JLS7 8.8.7.1.static class
Java.AmbiguousName
Representation of a JLS7 6.5.2 "ambiguous name".static interface
Java.Annotatable
Representation of Java elements that can be annotated: Fields, constructors, methods, type declarations.static interface
Java.Annotation
Representation of a Java annotation.static interface
Java.AnnotationTypeDeclaration
Base for package member ("top-level") and member ("nested") annotation type declarations.static class
Java.AnonymousClassDeclaration
Representation of a JLS7 15.9.5 "anonymous class declaration".static class
Java.ArrayAccessExpression
Representation of a JLS7 15.13 (JLS8: 15.10.3) "array access expression".static class
Java.ArrayCreationReference
Representation of a "method reference expression", as described in JLS9 15.13, with the form "<var>arrayType</var>::new
".static class
Java.ArrayInitializer
Representation of a JLS7 10.6 "array initializer".static interface
Java.ArrayInitializerOrRvalue
The union ofJava.ArrayInitializer
andJava.Rvalue
.static class
Java.ArrayLength
Representation of the JLS7 10.7 array type "length" pseudo-member.static class
Java.ArrayType
Representation of a JLS7 10.1 "array type".static class
Java.AssertStatement
Representation of the JLS7 14.10 ASSERT statement.static class
Java.Assignment
Representation of all JLS7 15.26 assignments.static class
Java.Atom
static class
Java.BinaryOperation
Representation of all non-operand-modifying binary operations.static class
Java.Block
Representation of a Java "block" (JLS7 14.2).static class
Java.BlockLambdaBody
Representation of a "lambda body" that is a block; see JLS9 15.27.2.static interface
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.static class
Java.BooleanLiteral
Representation of a "boolean literal" (JLS7 3.10.3) (typeboolean
).static class
Java.BooleanRvalue
Base class forJava.Rvalue
s that compile better as conditional branches.static class
Java.BreakableStatement
Base class for statements that can be terminated abnormally with abreak
statement.static class
Java.BreakStatement
Representation of the JLS7 14.15 BREAK statement.static class
Java.Cast
Representation of a JLS7 15.16 "cast expression".static class
Java.CatchClause
Representation of a JLS7 14.20.1 CATCH clause.static class
Java.CatchParameter
Representation of a "catch" parameter.static class
Java.CharacterLiteral
Representation of a "character literal" (JLS7 3.10.4) (typechar
).static interface
Java.ClassDeclaration
Base for the various class declarations (top-level class, local class, anonymous class, nested class, top-level enum, nested enum).static class
Java.ClassInstanceCreationReference
Representation of a "method reference expression", as described in JLS9 15.13, with the form "<var>classType</var>::new
".static class
Java.ClassLiteral
Representation of a JLS7 15.8.2 "class literal".static class
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).static class
Java.ConditionalExpression
Representation of a JLS7 15.25 "conditional operation".static class
Java.ConstructorDeclarator
Representation of a constructor declarator.static class
Java.ConstructorInvocation
Abstract bas class forJava.SuperConstructorInvocation
andJava.AlternateConstructorInvocation
.static class
Java.ContinuableStatement
Base class for statements that support the "continue" statement.static class
Java.ContinueStatement
Representation of the JLS7 14.16 CONTINUE statement.static class
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".static interface
Java.DocCommentable
Representation of a Java element that can be annotated with a DOC comment ("/**
static class
Java.DoStatement
Representation of a JLS7 14.13 DO statement.static interface
Java.ElementValue
Base of the possible element values in aJava.NormalAnnotation
.static class
Java.ElementValueArrayInitializer
An element value in the form of an array initializer, e.gstatic class
Java.ElementValuePair
Representation of a "name = value" element in aJava.NormalAnnotation
.static class
Java.EmptyStatement
Representation of the "empty statement", i.e. the blank semicolon.static class
Java.EnclosingScopeOfTypeDeclaration
Lazily determines and returns the enclosingJava.Scope
of the givenJava.TypeDeclaration
.static class
Java.EnumConstant
Representation of an "enum constant", see JLS7 8.9.1.static interface
Java.EnumDeclaration
Base for package member (a.k.a.static class
Java.ExportsModuleDirective
Representation of a (Java 9+) "exports directive", as explained in JLS9 7.7.2.static class
Java.ExpressionLambdaBody
Representation of a "lambda body" that is an expression; see JLS9 15.27.2.static class
Java.ExpressionStatement
Representation of the JLS7 14.8 "expression statement".static class
Java.FieldAccess
Representation of an access to a field of a class or an interface.static class
Java.FieldAccessExpression
Representation of a JLS7 15.11 "field access expression", including the "array length" pseudo field access.static class
Java.FieldDeclaration
This class is derived from "Statement", because it provides for the initialization of the field.static interface
Java.FieldDeclarationOrInitializer
static class
Java.FloatingPointLiteral
Representation of a "floating-point literal" (JLS7 3.10.2) (typesfloat
anddouble
).static class
Java.ForEachStatement
Representation of a JLS7 14.14.2 "enhanced FOR statement".static class
Java.FormalLambdaParameters
Representation of "lamba parameters" that include a formal parameter list; see JLS9 15.27.1.static class
Java.ForStatement
Representation of a JLS7 14.14.1 "basic FOR statement".static class
Java.FunctionDeclarator
Abstract base class forJava.ConstructorDeclarator
andJava.MethodDeclarator
.static class
Java.IdentifierLambdaParameters
Representation of "lamba parameters" that consist of a single identifier; see JLS9 15.27.1static class
Java.IfStatement
Representation of a JLS7 14.9 IF statement.static class
Java.InferredLambdaParameters
Representation of "lamba parameters" that include an inferred formal parameter list; see JLS9 15.27.1.static class
Java.Initializer
Representation of an "instance initializer" (JLS7 8.6) or "static initializer" (JLS7 8.7).static class
Java.Instanceof
Representation of a JLS7 15.20.2 "type comparison operation".static class
Java.IntegerLiteral
Representation of an "integer literal" (JLS7 3.10.1) (typesint
andlong
).static class
Java.InterfaceDeclaration
Base for the various interface declaration kinds.static class
Java.Invocation
Abstract base class forJava.MethodInvocation
andJava.SuperclassMethodInvocation
.static class
Java.LabeledStatement
Representation of a JLS7 14.7 "labeled statement".static interface
Java.LambdaBody
Representation of a "lambda body", see JLS9 15.27.2.static class
Java.LambdaExpression
Representation of a (Java 8+) "lambda expression", see JLS9 15.27.static interface
Java.LambdaParameters
Base for the various "lambda parameters" styles, see JLS9 15.27.1.static class
Java.Literal
Abstract base class for the various Java literals; see JLS7 3.10.static class
Java.LocalClassDeclaration
Representation of a "local class declaration" i.e. a class declaration that appears inside a method body.static class
Java.LocalClassDeclarationStatement
Representation of the JLS7 14.3 "local class declaration statement".static class
Java.LocalVariable
Representation of a local variable while it is in scope during compilation.static class
Java.LocalVariableAccess
Representation of a local variable access -- used during compilation.static class
Java.LocalVariableDeclarationStatement
Representation of a JLS7 14.4 "local variable declaration statement".static class
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.static interface
Java.Locatable
This interface is implemented by objects which are associated with a location in the source code.static class
Java.Located
Abstract implementation ofJava.Locatable
.static class
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.static class
Java.MarkerAnnotation
Representation of a "marker annotation", i.e. an annotation without any elements in parentheses.static class
Java.MemberAnnotationTypeDeclaration
Representation of a member annotation type declaration, a.k.a.static class
Java.MemberClassDeclaration
Representation of a "member class declaration", i.e. a class declaration that appears inside another class or interface declaration.static class
Java.MemberEnumDeclaration
Representation of a "member enum declaration", i.e. an enum declaration that appears inside another class or interface declaration.static class
Java.MemberInterfaceDeclaration
Representation of a "member interface declaration", i.e. an interface declaration that appears inside another class or interface declaration.static interface
Java.MemberTypeDeclaration
Represents a class or interface declaration where the immediately enclosing scope is another class or interface declaration.static class
Java.MethodDeclarator
Representation of a method declarator.static class
Java.MethodInvocation
Representation of a JLS7 15.12 "method invocation expression".static class
Java.MethodReference
Representation of a "method reference expression", as described in JLS9 15.13, with the form "<var>referenceType</var>::identifier
.static interface
Java.Modifier
Base for the various modifiers (access modifiers, annotations).static class
Java.Modifiers
Deprecated.Many methods that previously accepted a parameter of this type now take aJava.Modifier
[]
(incompatible API change in JANINO version 3.0.13)static class
Java.ModularCompilationUnit
Represents aModularCompilationUnit
as specified in JLS11 7.3.static class
Java.ModuleDeclaration
Representation of a "module declaration", as described in JLS9 7.7.static interface
Java.ModuleDirective
Representation of a (Java 9+) "module directive", as explained in JLS9 7.7.static class
Java.NamedClassDeclaration
Base for the various named class declarations.static interface
Java.NamedTypeDeclaration
Represents the declaration of a class or an interface that has a name.static class
Java.NewAnonymousClassInstance
Representation of a JLS7 15.9 "anonymous class instance creation expression".static class
Java.NewArray
Representation of a JLS7 15.10 "array creation expression".static class
Java.NewClassInstance
Representation of a JLS7 "class instance creation expression".static class
Java.NewInitializedArray
Representation of a JLS7 15.10 "array creation expression".static class
Java.NormalAnnotation
A "normal annotation", i.e. an annotation with multiple elements in parentheses and curly braces.static class
Java.NullLiteral
Representation of a "null literal" (JLS7 3.10.7).static class
Java.OpensModuleDirective
Representation of a (Java 9+) "opens directive", as explained in JLS9 7.7.2.static class
Java.Package
Representation of a JLS7 6.5.2.1.5 "package name".static class
Java.PackageDeclaration
Representation of a package declaration likepackage com.acme.tools;
.static class
Java.PackageMemberAnnotationTypeDeclaration
Representation of a package member annotation type declaration, a.k.a.static class
Java.PackageMemberClassDeclaration
Implementation of a "package member class declaration", a.k.a.static class
Java.PackageMemberEnumDeclaration
Implementation of a "package member enum declaration", a.k.a.static class
Java.PackageMemberInterfaceDeclaration
Representation of a "package member interface declaration", a.k.a.static interface
Java.PackageMemberTypeDeclaration
Represents a class or interface declaration on compilation unit level.static class
Java.ParameterAccess
"Artificial" operation for accessing the parameters of the synthetic constructor of an anonymous class.static class
Java.ParenthesizedExpression
Representation of a JLS7 15.8.5 "parenthesized expression".static class
Java.Primitive
Java's primitive types.static class
Java.PrimitiveType
Representation of a JLS7 4.2 "primitive type", i.e a primitive type "usage", which has a location.static class
Java.ProvidesModuleDirective
Representation of a (Java 9+) "provides directive", as explained in JLS9 7.7.4.static class
Java.QualifiedThisReference
Representation of an JLS7 15.8.4 access to the current object or an enclosing instance.static class
Java.ReferenceType
Representation of a JLS7 4.3 reference type.static class
Java.RequiresModuleDirective
Representation of a (Java 9+) "requires directive", as explained in JLS9 7.7.1.static class
Java.ReturnStatement
Representation of the JLS7 14.17 RETURN statement.static class
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.static class
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.static interface
Java.Scope
Representation of a Java "scope", e.g. a compilation unit, type, method or block.static class
Java.SimpleConstant
This class is not used when code is parsed; it is intended for "programmatic" literals.static class
Java.SimpleType
This class is not used when code is parsed; it is intended for "programmatic" types.static class
Java.SingleElementAnnotation
Representation of a "single-element annotation", i.e. an annotation followed by a single element in parentheses.static class
Java.Statement
Everything that can occur in the body of a method or in a block.static class
Java.StringLiteral
Representation of a "string literal" (JLS7 3.10.5) (typeString
).static class
Java.SuperclassFieldAccessExpression
Representation of an JLS7 "superclass field access expression", e.gstatic class
Java.SuperclassMethodInvocation
Representation of a JLS7 15.12.1.1.3 "superclass method invocation".static class
Java.SuperConstructorInvocation
Representation of a JLS7 8.8.7.1.static class
Java.SwitchStatement
The JLS7 14.10switch
Statement.static class
Java.SynchronizedStatement
Representation of a JLS7 14.9 SYNCHRONIZED statement.static class
Java.TextBlock
Representation of a "text block" (JLS17 3.10.6 Text Blocks) (typeString
).static class
Java.ThisReference
Representation of an JLS7 15.8.3 access to the innermost enclosing instance.static class
Java.ThrowStatement
Representation of a JLS7 14.18 THROW statement.static class
Java.TryStatement
Representation of a JLS7 14.20 TRY statement.static class
Java.Type
Representation of a Java type.static interface
Java.TypeArgument
Representation of a JLS7 4.5.1 type argument.static interface
Java.TypeBodyDeclaration
Representation of a "ClassBodyDeclaration" or an "InterfaceMemberDeclaration".static interface
Java.TypeDeclaration
Base for the various kinds of type declarations, e.g. top-level class, member interface, local class.static class
Java.TypeParameter
Representation of a type parameter (which declares a type variable).static class
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".static class
Java.UsesModuleDirective
Representation of a (Java 9+) "uses directive", as explained in JLS9 7.7.3.static class
Java.VariableDeclarator
Used by FieldDeclaration and LocalVariableDeclarationStatement.static class
Java.WhileStatement
Representation of the JLS7 14.2 WHILE statement.static class
Java.Wildcard
Representation of a JLS7 4.5.1 "wildcard".
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static Java.AccessModifier[]
accessModifiers(Location location, java.lang.String... keywords)
static java.lang.String
join(java.lang.Object[][] aa, java.lang.String innerSeparator, java.lang.String outerSeparator)
static java.lang.String
join(java.lang.Object[] a, java.lang.String separator)
static java.lang.String
join(java.lang.Object[] a, java.lang.String separator, int off, int len)
-
-
-
Method Detail
-
join
public static java.lang.String join(java.lang.Object[] a, java.lang.String separator)
- Returns:
null
iffa == null
, or "" iffa.length == 0
, or the elements ofa
, converted to strings concatenated and separated with the separator
-
join
public static java.lang.String join(java.lang.Object[][] aa, java.lang.String innerSeparator, java.lang.String outerSeparator)
- Returns:
null
iffaa == null
, or "" iffaa.length == 0
, or the elements ofaa
, converted to strings concatenated and separated with the outerSeparator
-
join
public static java.lang.String join(java.lang.Object[] a, java.lang.String separator, int off, int len)
- Returns:
""
iff off>=
len, or elements off ... len-1
of a, converted to strings, concatenated and separated with the separator
-
accessModifiers
public static Java.AccessModifier[] accessModifiers(Location location, java.lang.String... keywords)
- Returns:
- An array of
Java.Modifier
s, parsed from a sequence of access modifier keywords
-
-