Package org.codehaus.janino
Class Java
java.lang.Object
org.codehaus.janino.Java
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 ClassesModifier and TypeClassDescriptionstatic class
Convenience class.static class
Base for the various class declaration kinds.static class
Holds the result ofParser.parseAbstractCompilationUnit()
.static class
Abstract implementation ofJava.TypeBodyDeclaration
.static class
Abstract implementation ofJava.TypeDeclaration
.static class
Representation of the modifier flags and annotations that are associated with a declaration.static final class
Representation of a JLS7 8.8.7.1.static final class
Representation of a JLS7 6.5.2 "ambiguous name".static interface
Representation of Java elements that can be annotated: Fields, constructors, methods, type declarations.static interface
Representation of a Java annotation.static interface
Base for package member ("top-level") and member ("nested") annotation type declarations.static final class
Representation of a JLS7 15.9.5 "anonymous class declaration".static final class
Representation of a JLS7 15.13 (JLS8: 15.10.3) "array access expression".static final class
Representation of a "method reference expression", as described in JLS9 15.13, with the form "<var>arrayType</var>::new
".static final class
Representation of a JLS7 10.6 "array initializer".static interface
The union ofJava.ArrayInitializer
andJava.Rvalue
.static final class
Representation of the JLS7 10.7 array type "length" pseudo-member.static final class
Representation of a JLS7 10.1 "array type".static final class
Representation of the JLS7 14.10 ASSERT statement.static final class
Representation of all JLS7 15.26 assignments.static class
static final class
Representation of all non-operand-modifying binary operations.static final class
Representation of a Java "block" (JLS7 14.2).static class
Representation of a "lambda body" that is a block; see JLS9 15.27.2.static interface
Everything that can be compiled to code, e.g.static final class
Representation of a "boolean literal" (JLS7 3.10.3) (typeboolean
).static class
Base class forJava.Rvalue
s that compile better as conditional branches.static class
Base class for statements that can be terminated abnormally with abreak
statement.static final class
Representation of the JLS7 14.15 BREAK statement.static final class
Representation of a JLS7 15.16 "cast expression".static class
Representation of a JLS7 14.20.1 CATCH clause.static final class
Representation of a "catch" parameter.static final class
Representation of a "character literal" (JLS7 3.10.4) (typechar
).static interface
Base for the various class declarations (top-level class, local class, anonymous class, nested class, top-level enum, nested enum).static final class
Representation of a "method reference expression", as described in JLS9 15.13, with the form "<var>classType</var>::new
".static final class
Representation of a JLS7 15.8.2 "class literal".static final class
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 final class
Representation of a JLS7 15.25 "conditional operation".static final class
Representation of a constructor declarator.static class
Abstract bas class forJava.SuperConstructorInvocation
andJava.AlternateConstructorInvocation
.static class
Base class for statements that support the "continue" statement.static final class
Representation of the JLS7 14.16 CONTINUE statement.static final class
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
Representation of a Java element that can be annotated with a DOC comment ("/** ...
static final class
Representation of a JLS7 14.13 DO statement.static interface
Base of the possible element values in aJava.NormalAnnotation
.static final class
An element value in the form of an array initializer, e.g.static class
Representation of a "name = value" element in aJava.NormalAnnotation
.static final class
Representation of the "empty statement", i.e.static final class
Lazily determines and returns the enclosingJava.Scope
of the givenJava.TypeDeclaration
.static final class
Representation of an "enum constant", see JLS7 8.9.1.static interface
Base for package member (a.k.a.static final class
Representation of a (Java 9+) "exports directive", as explained in JLS9 7.7.2.static class
Representation of a "lambda body" that is an expression; see JLS9 15.27.2.static final class
Representation of the JLS7 14.8 "expression statement".static final class
Representation of an access to a field of a class or an interface.static final class
Representation of a JLS7 15.11 "field access expression", including the "array length" pseudo field access.static final class
This class is derived from "Statement", because it provides for the initialization of the field.static interface
static final class
Representation of a "floating-point literal" (JLS7 3.10.2) (typesfloat
anddouble
).static final class
Representation of a JLS7 14.14.2 "enhanced FOR statement".static class
Representation of "lamba parameters" that include a formal parameter list; see JLS9 15.27.1.static final class
Representation of a JLS7 14.14.1 "basic FOR statement".static class
Abstract base class forJava.ConstructorDeclarator
andJava.MethodDeclarator
.static class
Representation of "lamba parameters" that consist of a single identifier; see JLS9 15.27.1static final class
Representation of a JLS7 14.9 IF statement.static class
Representation of "lamba parameters" that include an inferred formal parameter list; see JLS9 15.27.1.static final class
Representation of an "instance initializer" (JLS7 8.6) or "static initializer" (JLS7 8.7).(package private) static interface
Represents the declaration of an inner class, i.e.static final class
Representation of a JLS7 15.20.2 "type comparison operation".static final class
Representation of an "integer literal" (JLS7 3.10.1) (typesint
andlong
).static class
Base for the various interface declaration kinds.static class
Abstract base class forJava.MethodInvocation
andJava.SuperclassMethodInvocation
.static final class
Representation of a JLS7 14.7 "labeled statement".static interface
Representation of a "lambda body", see JLS9 15.27.2.static class
Representation of a (Java 8+) "lambda expression", see JLS9 15.27.static interface
Base for the various "lambda parameters" styles, see JLS9 15.27.1.static class
Abstract base class for the various Java literals; see JLS7 3.10.static final class
Representation of a "local class declaration" i.e.static final class
Representation of the JLS7 14.3 "local class declaration statement".static class
Representation of a local variable while it is in scope during compilation.static final class
Representation of a local variable access -- used during compilation.static final class
Representation of a JLS7 14.4 "local variable declaration statement".static class
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
This interface is implemented by objects which are associated with a location in the source code.static class
Abstract implementation ofJava.Locatable
.static class
Representation of an "lvalue", i.e.static final class
Representation of a "marker annotation", i.e.static final class
Representation of a member annotation type declaration, a.k.a.static class
Representation of a "member class declaration", i.e.static final class
Representation of a "member enum declaration", i.e.static class
Representation of a "member interface declaration", i.e.static interface
Represents a class or interface declaration where the immediately enclosing scope is another class or interface declaration.static final class
Representation of a method declarator.static final class
Representation of a JLS7 15.12 "method invocation expression".static final class
Representation of a "method reference expression", as described in JLS9 15.13, with the form "<var>referenceType</var>::identifier
.static interface
Base for the various modifiers (access modifiers, annotations).static class
Deprecated.static final class
Represents aModularCompilationUnit
as specified in JLS11 7.3.static final class
Representation of a "module declaration", as described in JLS9 7.7.static interface
Representation of a (Java 9+) "module directive", as explained in JLS9 7.7.static class
Base for the various named class declarations.static interface
Represents the declaration of a class or an interface that has a name.static final class
Representation of a JLS7 15.9 "anonymous class instance creation expression".static final class
Representation of a JLS7 15.10 "array creation expression".static final class
Representation of a JLS7 "class instance creation expression".static final class
Representation of a JLS7 15.10 "array creation expression".static final class
A "normal annotation", i.e.static final class
Representation of a "null literal" (JLS7 3.10.7).static final class
Representation of a (Java 9+) "opens directive", as explained in JLS9 7.7.2.static final class
Representation of a JLS7 6.5.2.1.5 "package name".static class
Representation of a package declaration likepackage com.acme.tools;
.static final class
Representation of a package member annotation type declaration, a.k.a.static class
Implementation of a "package member class declaration", a.k.a.static final class
Implementation of a "package member enum declaration", a.k.a.static class
Representation of a "package member interface declaration", a.k.a.static interface
Represents a class or interface declaration on compilation unit level.(package private) static class
static final class
"Artificial" operation for accessing the parameters of the synthetic constructor of an anonymous class.static final class
Representation of a JLS7 15.8.5 "parenthesized expression".static enum
Java's primitive types.static final class
Representation of a JLS7 4.2 "primitive type", i.e a primitive type "usage", which has a location.static final class
Representation of a (Java 9+) "provides directive", as explained in JLS9 7.7.4.static final class
Representation of an JLS7 15.8.4 access to the current object or an enclosing instance.static final class
Representation of a JLS7 4.3 reference type.static final class
Representation of a (Java 9+) "requires directive", as explained in JLS9 7.7.1.static final class
Representation of the JLS7 14.17 RETURN statement.static class
Representation of an "rvalue", i.e.static final class
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
Representation of a Java "scope", e.g.static final class
This class is not used when code is parsed; it is intended for "programmatic" literals.static final class
This class is not used when code is parsed; it is intended for "programmatic" types.static final class
Representation of a "single-element annotation", i.e.static class
Everything that can occur in the body of a method or in a block.static final class
Representation of a "string literal" (JLS7 3.10.5) (typeString
).static final class
Representation of an JLS7 "superclass field access expression", e.g.static final class
Representation of a JLS7 15.12.1.1.3 "superclass method invocation".static final class
Representation of a JLS7 8.8.7.1.static final class
The JLS7 14.10switch
Statement.static final class
Representation of a JLS7 14.9 SYNCHRONIZED statement.static final class
Representation of an JLS7 15.8.3 access to the innermost enclosing instance.static final class
Representation of a JLS7 14.18 THROW statement.static final class
Representation of a JLS7 14.20 TRY statement.static class
Representation of a Java type.static interface
Representation of a JLS7 4.5.1 type argument.static interface
Representation of a "ClassBodyDeclaration" or an "InterfaceMemberDeclaration".static interface
Base for the various kinds of type declarations, e.g.static class
Representation of a type parameter (which declares a type variable).static final class
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 final class
Representation of a (Java 9+) "uses directive", as explained in JLS9 7.7.3.static final class
Used by FieldDeclaration and LocalVariableDeclarationStatement.static final class
Representation of the JLS7 14.2 WHILE statement.static class
Representation of a JLS7 4.5.1 "wildcard". -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic Java.AccessModifier[]
accessModifiers
(Location location, String... keywords) private static Java.Annotation[]
getAnnotations
(Java.Modifier[] modifiers) private static boolean
hasAccessModifier
(Java.Modifier[] modifiers, String... keywords) static String
static String
static String
private static Access
modifiers2Access
(Java.Modifier[] modifiers) private static String
toString
(Java.Modifier[] modifiers)
-
Constructor Details
-
Java
private Java()
-
-
Method Details
-
join
- Returns:
null
iffa == null
, or "" iffa.length == 0
, or the elements ofa
, converted to strings concatenated and separated with the separator
-
join
- Returns:
null
iffaa == null
, or "" iffaa.length == 0
, or the elements ofaa
, converted to strings concatenated and separated with the outerSeparator
-
join
- Returns:
""
iff off>=
len, or elements off ... len-1
of a, converted to strings, concatenated and separated with the separator
-
accessModifiers
- Returns:
- An array of
Java.Modifier
s, parsed from a sequence of access modifier keywords
-
hasAccessModifier
- Returns:
- Whether the modifiers contain any of the access modifier keywords
-
getAnnotations
-
modifiers2Access
-
toString
-
Java.Modifier
[]
(incompatible API change in JANINO version 3.0.13)