Package org.codehaus.janino
Class Java
- java.lang.Object
-
- org.codehaus.janino.Java
-
public final class Java extends java.lang.ObjectThis 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 classJava.AbstractAnnotationConvenience class.static classJava.AbstractClassDeclarationBase for the various class declaration kinds.static classJava.AbstractCompilationUnitHolds the result ofParser.parseAbstractCompilationUnit().static classJava.AbstractTypeBodyDeclarationAbstract implementation ofJava.TypeBodyDeclaration.static classJava.AbstractTypeDeclarationAbstract implementation ofJava.TypeDeclaration.static classJava.AccessModifierRepresentation of the modifier flags and annotations that are associated with a declaration.static classJava.AlternateConstructorInvocationRepresentation of a JLS7 8.8.7.1.static classJava.AmbiguousNameRepresentation of a JLS7 6.5.2 "ambiguous name".static interfaceJava.AnnotatableRepresentation of Java elements that can be annotated: Fields, constructors, methods, type declarations.static interfaceJava.AnnotationRepresentation of a Java annotation.static interfaceJava.AnnotationTypeDeclarationBase for package member ("top-level") and member ("nested") annotation type declarations.static classJava.AnonymousClassDeclarationRepresentation of a JLS7 15.9.5 "anonymous class declaration".static classJava.ArrayAccessExpressionRepresentation of a JLS7 15.13 (JLS8: 15.10.3) "array access expression".static classJava.ArrayCreationReferenceRepresentation of a "method reference expression", as described in JLS9 15.13, with the form "<var>arrayType</var>::new".static classJava.ArrayInitializerRepresentation of a JLS7 10.6 "array initializer".static interfaceJava.ArrayInitializerOrRvalueThe union ofJava.ArrayInitializerandJava.Rvalue.static classJava.ArrayLengthRepresentation of the JLS7 10.7 array type "length" pseudo-member.static classJava.ArrayTypeRepresentation of a JLS7 10.1 "array type".static classJava.AssertStatementRepresentation of the JLS7 14.10 ASSERT statement.static classJava.AssignmentRepresentation of all JLS7 15.26 assignments.static classJava.Atomstatic classJava.BinaryOperationRepresentation of all non-operand-modifying binary operations.static classJava.BlockRepresentation of a Java "block" (JLS7 14.2).static classJava.BlockLambdaBodyRepresentation of a "lambda body" that is a block; see JLS9 15.27.2.static interfaceJava.BlockStatementEverything that can be compiled to code, e.g.static classJava.BooleanLiteralRepresentation of a "boolean literal" (JLS7 3.10.3) (typeboolean).static classJava.BooleanRvalueBase class forJava.Rvalues that compile better as conditional branches.static classJava.BreakableStatementBase class for statements that can be terminated abnormally with abreakstatement.static classJava.BreakStatementRepresentation of the JLS7 14.15 BREAK statement.static classJava.CastRepresentation of a JLS7 15.16 "cast expression".static classJava.CatchClauseRepresentation of a JLS7 14.20.1 CATCH clause.static classJava.CatchParameterRepresentation of a "catch" parameter.static classJava.CharacterLiteralRepresentation of a "character literal" (JLS7 3.10.4) (typechar).static interfaceJava.ClassDeclarationBase for the various class declarations (top-level class, local class, anonymous class, nested class, top-level enum, nested enum).static classJava.ClassInstanceCreationReferenceRepresentation of a "method reference expression", as described in JLS9 15.13, with the form "<var>classType</var>::new".static classJava.ClassLiteralRepresentation of a JLS7 15.8.2 "class literal".static classJava.CompilationUnitRepresentation 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 classJava.ConditionalExpressionRepresentation of a JLS7 15.25 "conditional operation".static classJava.ConstructorDeclaratorRepresentation of a constructor declarator.static classJava.ConstructorInvocationAbstract bas class forJava.SuperConstructorInvocationandJava.AlternateConstructorInvocation.static classJava.ContinuableStatementBase class for statements that support the "continue" statement.static classJava.ContinueStatementRepresentation of the JLS7 14.16 CONTINUE statement.static classJava.CrementRepresentation 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 interfaceJava.DocCommentableRepresentation of a Java element that can be annotated with a DOC comment ("/** ...static classJava.DoStatementRepresentation of a JLS7 14.13 DO statement.static interfaceJava.ElementValueBase of the possible element values in aJava.NormalAnnotation.static classJava.ElementValueArrayInitializerAn element value in the form of an array initializer, e.g.static classJava.ElementValuePairRepresentation of a "name = value" element in aJava.NormalAnnotation.static classJava.EmptyStatementRepresentation of the "empty statement", i.e.static classJava.EnclosingScopeOfTypeDeclarationLazily determines and returns the enclosingJava.Scopeof the givenJava.TypeDeclaration.static classJava.EnumConstantRepresentation of an "enum constant", see JLS7 8.9.1.static interfaceJava.EnumDeclarationBase for package member (a.k.a.static classJava.ExportsModuleDirectiveRepresentation of a (Java 9+) "exports directive", as explained in JLS9 7.7.2.static classJava.ExpressionLambdaBodyRepresentation of a "lambda body" that is an expression; see JLS9 15.27.2.static classJava.ExpressionStatementRepresentation of the JLS7 14.8 "expression statement".static classJava.FieldAccessRepresentation of an access to a field of a class or an interface.static classJava.FieldAccessExpressionRepresentation of a JLS7 15.11 "field access expression", including the "array length" pseudo field access.static classJava.FieldDeclarationThis class is derived from "Statement", because it provides for the initialization of the field.static interfaceJava.FieldDeclarationOrInitializerstatic classJava.FloatingPointLiteralRepresentation of a "floating-point literal" (JLS7 3.10.2) (typesfloatanddouble).static classJava.ForEachStatementRepresentation of a JLS7 14.14.2 "enhanced FOR statement".static classJava.FormalLambdaParametersRepresentation of "lamba parameters" that include a formal parameter list; see JLS9 15.27.1.static classJava.ForStatementRepresentation of a JLS7 14.14.1 "basic FOR statement".static classJava.FunctionDeclaratorAbstract base class forJava.ConstructorDeclaratorandJava.MethodDeclarator.static classJava.IdentifierLambdaParametersRepresentation of "lamba parameters" that consist of a single identifier; see JLS9 15.27.1static classJava.IfStatementRepresentation of a JLS7 14.9 IF statement.static classJava.InferredLambdaParametersRepresentation of "lamba parameters" that include an inferred formal parameter list; see JLS9 15.27.1.static classJava.InitializerRepresentation of an "instance initializer" (JLS7 8.6) or "static initializer" (JLS7 8.7).(package private) static interfaceJava.InnerClassDeclarationRepresents the declaration of an inner class, i.e.static classJava.InstanceofRepresentation of a JLS7 15.20.2 "type comparison operation".static classJava.IntegerLiteralRepresentation of an "integer literal" (JLS7 3.10.1) (typesintandlong).static classJava.InterfaceDeclarationBase for the various interface declaration kinds.static classJava.InvocationAbstract base class forJava.MethodInvocationandJava.SuperclassMethodInvocation.static classJava.LabeledStatementRepresentation of a JLS7 14.7 "labeled statement".static interfaceJava.LambdaBodyRepresentation of a "lambda body", see JLS9 15.27.2.static classJava.LambdaExpressionRepresentation of a (Java 8+) "lambda expression", see JLS9 15.27.static interfaceJava.LambdaParametersBase for the various "lambda parameters" styles, see JLS9 15.27.1.static classJava.LiteralAbstract base class for the various Java literals; see JLS7 3.10.static classJava.LocalClassDeclarationRepresentation of a "local class declaration" i.e.static classJava.LocalClassDeclarationStatementRepresentation of the JLS7 14.3 "local class declaration statement".static classJava.LocalVariableRepresentation of a local variable while it is in scope during compilation.static classJava.LocalVariableAccessRepresentation of a local variable access -- used during compilation.static classJava.LocalVariableDeclarationStatementRepresentation of a JLS7 14.4 "local variable declaration statement".static classJava.LocalVariableSlotAll 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 interfaceJava.LocatableThis interface is implemented by objects which are associated with a location in the source code.static classJava.LocatedAbstract implementation ofJava.Locatable.static classJava.LvalueRepresentation of an "lvalue", i.e.static classJava.MarkerAnnotationRepresentation of a "marker annotation", i.e.static classJava.MemberAnnotationTypeDeclarationRepresentation of a member annotation type declaration, a.k.a.static classJava.MemberClassDeclarationRepresentation of a "member class declaration", i.e.static classJava.MemberEnumDeclarationRepresentation of a "member enum declaration", i.e.static classJava.MemberInterfaceDeclarationRepresentation of a "member interface declaration", i.e.static interfaceJava.MemberTypeDeclarationRepresents a class or interface declaration where the immediately enclosing scope is another class or interface declaration.static classJava.MethodDeclaratorRepresentation of a method declarator.static classJava.MethodInvocationRepresentation of a JLS7 15.12 "method invocation expression".static classJava.MethodReferenceRepresentation of a "method reference expression", as described in JLS9 15.13, with the form "<var>referenceType</var>::identifier.static interfaceJava.ModifierBase for the various modifiers (access modifiers, annotations).static classJava.ModifiersDeprecated.Many methods that previously accepted a parameter of this type now take aJava.Modifier[](incompatible API change in JANINO version 3.0.13)static classJava.ModularCompilationUnitRepresents aModularCompilationUnitas specified in JLS11 7.3.static classJava.ModuleDeclarationRepresentation of a "module declaration", as described in JLS9 7.7.static interfaceJava.ModuleDirectiveRepresentation of a (Java 9+) "module directive", as explained in JLS9 7.7.static classJava.NamedClassDeclarationBase for the various named class declarations.static interfaceJava.NamedTypeDeclarationRepresents the declaration of a class or an interface that has a name.static classJava.NewAnonymousClassInstanceRepresentation of a JLS7 15.9 "anonymous class instance creation expression".static classJava.NewArrayRepresentation of a JLS7 15.10 "array creation expression".static classJava.NewClassInstanceRepresentation of a JLS7 "class instance creation expression".static classJava.NewInitializedArrayRepresentation of a JLS7 15.10 "array creation expression".static classJava.NormalAnnotationA "normal annotation", i.e.static classJava.NullLiteralRepresentation of a "null literal" (JLS7 3.10.7).static classJava.OpensModuleDirectiveRepresentation of a (Java 9+) "opens directive", as explained in JLS9 7.7.2.static classJava.PackageRepresentation of a JLS7 6.5.2.1.5 "package name".static classJava.PackageDeclarationRepresentation of a package declaration likepackage com.acme.tools;.static classJava.PackageMemberAnnotationTypeDeclarationRepresentation of a package member annotation type declaration, a.k.a.static classJava.PackageMemberClassDeclarationImplementation of a "package member class declaration", a.k.a.static classJava.PackageMemberEnumDeclarationImplementation of a "package member enum declaration", a.k.a.static classJava.PackageMemberInterfaceDeclarationRepresentation of a "package member interface declaration", a.k.a.static interfaceJava.PackageMemberTypeDeclarationRepresents a class or interface declaration on compilation unit level.(package private) static classJava.Padderstatic classJava.ParameterAccess"Artificial" operation for accessing the parameters of the synthetic constructor of an anonymous class.static classJava.ParenthesizedExpressionRepresentation of a JLS7 15.8.5 "parenthesized expression".static classJava.PrimitiveJava's primitive types.static classJava.PrimitiveTypeRepresentation of a JLS7 4.2 "primitive type", i.e a primitive type "usage", which has a location.static classJava.ProvidesModuleDirectiveRepresentation of a (Java 9+) "provides directive", as explained in JLS9 7.7.4.static classJava.QualifiedThisReferenceRepresentation of an JLS7 15.8.4 access to the current object or an enclosing instance.static classJava.ReferenceTypeRepresentation of a JLS7 4.3 reference type.static classJava.RequiresModuleDirectiveRepresentation of a (Java 9+) "requires directive", as explained in JLS9 7.7.1.static classJava.ReturnStatementRepresentation of the JLS7 14.17 RETURN statement.static classJava.RvalueRepresentation of an "rvalue", i.e.static classJava.RvalueMemberTypeRepresentation 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 interfaceJava.ScopeRepresentation of a Java "scope", e.g.static classJava.SimpleConstantThis class is not used when code is parsed; it is intended for "programmatic" literals.static classJava.SimpleTypeThis class is not used when code is parsed; it is intended for "programmatic" types.static classJava.SingleElementAnnotationRepresentation of a "single-element annotation", i.e.static classJava.StatementEverything that can occur in the body of a method or in a block.static classJava.StringLiteralRepresentation of a "string literal" (JLS7 3.10.5) (typeString).static classJava.SuperclassFieldAccessExpressionRepresentation of an JLS7 "superclass field access expression", e.g.static classJava.SuperclassMethodInvocationRepresentation of a JLS7 15.12.1.1.3 "superclass method invocation".static classJava.SuperConstructorInvocationRepresentation of a JLS7 8.8.7.1.static classJava.SwitchStatementThe JLS7 14.10switchStatement.static classJava.SynchronizedStatementRepresentation of a JLS7 14.9 SYNCHRONIZED statement.static classJava.TextBlockRepresentation of a "text block" (JLS17 3.10.6 Text Blocks) (typeString).static classJava.ThisReferenceRepresentation of an JLS7 15.8.3 access to the innermost enclosing instance.static classJava.ThrowStatementRepresentation of a JLS7 14.18 THROW statement.static classJava.TryStatementRepresentation of a JLS7 14.20 TRY statement.static classJava.TypeRepresentation of a Java type.static interfaceJava.TypeArgumentRepresentation of a JLS7 4.5.1 type argument.static interfaceJava.TypeBodyDeclarationRepresentation of a "ClassBodyDeclaration" or an "InterfaceMemberDeclaration".static interfaceJava.TypeDeclarationBase for the various kinds of type declarations, e.g.static classJava.TypeParameterRepresentation of a type parameter (which declares a type variable).static classJava.UnaryOperationRepresentation 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 classJava.UsesModuleDirectiveRepresentation of a (Java 9+) "uses directive", as explained in JLS9 7.7.3.static classJava.VariableDeclaratorUsed by FieldDeclaration and LocalVariableDeclarationStatement.static classJava.WhileStatementRepresentation of the JLS7 14.2 WHILE statement.static classJava.WildcardRepresentation of a JLS7 4.5.1 "wildcard".
-
Constructor Summary
Constructors Modifier Constructor Description privateJava()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static Java.AccessModifier[]accessModifiers(Location location, java.lang.String... keywords)private static Java.Annotation[]getAnnotations(Java.Modifier[] modifiers)private static booleanhasAccessModifier(Java.Modifier[] modifiers, java.lang.String... keywords)static java.lang.Stringjoin(java.lang.Object[][] aa, java.lang.String innerSeparator, java.lang.String outerSeparator)static java.lang.Stringjoin(java.lang.Object[] a, java.lang.String separator)static java.lang.Stringjoin(java.lang.Object[] a, java.lang.String separator, int off, int len)private static Accessmodifiers2Access(Java.Modifier[] modifiers)private static java.lang.StringtoString(Java.Modifier[] modifiers)
-
-
-
Method Detail
-
join
public static java.lang.String join(java.lang.Object[] a, java.lang.String separator)- Returns:
nulliffa == 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:
nulliffaa == 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-1of 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.Modifiers, parsed from a sequence of access modifier keywords
-
hasAccessModifier
private static boolean hasAccessModifier(Java.Modifier[] modifiers, java.lang.String... keywords)
- Returns:
- Whether the modifiers contain any of the access modifier keywords
-
getAnnotations
private static Java.Annotation[] getAnnotations(Java.Modifier[] modifiers)
-
modifiers2Access
private static Access modifiers2Access(Java.Modifier[] modifiers)
-
toString
private static java.lang.String toString(Java.Modifier[] modifiers)
-
-