Package org.codehaus.janino
Class Java.AbstractTypeDeclaration
java.lang.Object
org.codehaus.janino.Java.AbstractTypeDeclaration
- All Implemented Interfaces:
Java.Annotatable
,Java.Locatable
,Java.Scope
,Java.TypeDeclaration
- Direct Known Subclasses:
Java.AbstractClassDeclaration
,Java.InterfaceDeclaration
- Enclosing class:
Java
public abstract static class Java.AbstractTypeDeclaration
extends Object
implements Java.TypeDeclaration
Abstract implementation of
Java.TypeDeclaration
.-
Field Summary
FieldsModifier and TypeFieldDescriptionint
For naming anonymous classes.private final List
<Java.MemberTypeDeclaration> private final List
<Java.MethodDeclarator> private Java.Scope
int
For naming local classes.private final Location
private final Java.Modifier[]
(package private) IClass
Holds the resolved type during compilation.private final Java.TypeParameter[]
-
Constructor Summary
ConstructorsConstructorDescriptionAbstractTypeDeclaration
(Location location, Java.Modifier[] modifiers, Java.TypeParameter[] typeParameters) -
Method Summary
Modifier and TypeMethodDescriptionvoid
Adds oneJava.MethodDeclarator
to this type.void
Adds oneJava.MemberTypeDeclaration
to this type.Creates a unique name for an anonymous class.createLocalTypeName
(String localTypeName) Creates a unique name for a local class or interface.Returns the member type with the given name.getMethodDeclaration
(String name) Returns the first method declared with the given name.void
Invalidates the method cache of theresolvedType
.void
setEnclosingScope
(Java.Scope enclosingScope) Sets the enclosing scope of thisJava.TypeDeclaration
.void
throwCompileException
(String message) Throws aCompileException
with the given message and this object's location.abstract String
toString()
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.codehaus.janino.Java.TypeDeclaration
accept, getClassName
-
Field Details
-
location
-
modifiers
-
typeParameters
-
declaredMethods
-
declaredClassesAndInterfaces
-
enclosingScope
-
resolvedType
Holds the resolved type during compilation. -
anonymousClassCount
public int anonymousClassCountFor naming anonymous classes. -
localClassCount
public int localClassCountFor naming local classes.
-
-
Constructor Details
-
AbstractTypeDeclaration
public AbstractTypeDeclaration(Location location, Java.Modifier[] modifiers, @Nullable Java.TypeParameter[] typeParameters)
-
-
Method Details
-
setEnclosingScope
Sets the enclosing scope of thisJava.TypeDeclaration
. -
getModifiers
-
getAnnotations
- Specified by:
getAnnotations
in interfaceJava.Annotatable
- Returns:
- The annotations of this
Java.TypeDeclaration
,Java.FieldDeclaration
,Java.MethodDeclarator
orJava.ConstructorDeclarator
-
getOptionalTypeParameters
-
getEnclosingScope
- Specified by:
getEnclosingScope
in interfaceJava.Scope
- Returns:
- The scope that encloses this scope, or
null
-
invalidateMethodCaches
public void invalidateMethodCaches()Invalidates the method cache of theresolvedType
. This is necessary when methods are added during compilation -
addMemberTypeDeclaration
Adds oneJava.MemberTypeDeclaration
to this type. -
addDeclaredMethod
Adds oneJava.MethodDeclarator
to this type. -
getMemberTypeDeclarations
- Specified by:
getMemberTypeDeclarations
in interfaceJava.TypeDeclaration
- Returns:
- The (possibly empty) set of member types declared inside this
Java.TypeDeclaration
-
getMemberTypeDeclaration
Description copied from interface:Java.TypeDeclaration
Returns the member type with the given name.- Specified by:
getMemberTypeDeclaration
in interfaceJava.TypeDeclaration
- Returns:
null
if a member type with that name is not declared
-
getMethodDeclaration
Description copied from interface:Java.TypeDeclaration
Returns the first method declared with the given name. (Does not honor inherited methods.)- Specified by:
getMethodDeclaration
in interfaceJava.TypeDeclaration
- Returns:
null
if a method with this name is not declared
-
getMethodDeclarations
- Specified by:
getMethodDeclarations
in interfaceJava.TypeDeclaration
- Returns:
- The list of methods declared in this
Java.TypeDeclaration
, not including methods declared in supertypes
-
createLocalTypeName
Description copied from interface:Java.TypeDeclaration
Creates a unique name for a local class or interface.- Specified by:
createLocalTypeName
in interfaceJava.TypeDeclaration
-
createAnonymousClassName
Description copied from interface:Java.TypeDeclaration
Creates a unique name for an anonymous class.- Specified by:
createAnonymousClassName
in interfaceJava.TypeDeclaration
-
getLocation
- Specified by:
getLocation
in interfaceJava.Locatable
- Returns:
- The location of this object
-
throwCompileException
Description copied from interface:Java.Locatable
Throws aCompileException
with the given message and this object's location.- Specified by:
throwCompileException
in interfaceJava.Locatable
- Parameters:
message
- The message to report- Throws:
CompileException
-
toString
-