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 java.lang.Object implements Java.TypeDeclaration
Abstract implementation ofJava.TypeDeclaration
.
-
-
Field Summary
Fields Modifier and Type Field Description int
anonymousClassCount
For naming anonymous classes.int
localClassCount
For naming local classes.
-
Constructor Summary
Constructors Constructor Description AbstractTypeDeclaration(Location location, Java.Modifier[] modifiers, Java.TypeParameter[] typeParameters)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
addDeclaredMethod(Java.MethodDeclarator method)
Adds oneJava.MethodDeclarator
to this type.void
addMemberTypeDeclaration(Java.MemberTypeDeclaration mcoid)
Adds oneJava.MemberTypeDeclaration
to this type.java.lang.String
createAnonymousClassName()
Creates a unique name for an anonymous class.java.lang.String
createLocalTypeName(java.lang.String localTypeName)
Creates a unique name for a local class or interface.Java.Annotation[]
getAnnotations()
Java.Scope
getEnclosingScope()
Location
getLocation()
Java.MemberTypeDeclaration
getMemberTypeDeclaration(java.lang.String name)
Returns the member type with the given name.java.util.Collection<Java.MemberTypeDeclaration>
getMemberTypeDeclarations()
Java.MethodDeclarator
getMethodDeclaration(java.lang.String name)
Returns the first method declared with the given name.java.util.List<Java.MethodDeclarator>
getMethodDeclarations()
Java.Modifier[]
getModifiers()
Java.TypeParameter[]
getOptionalTypeParameters()
void
invalidateMethodCaches()
Invalidates the method cache of theresolvedType
.void
setEnclosingScope(Java.Scope enclosingScope)
Sets the enclosing scope of thisJava.TypeDeclaration
.void
throwCompileException(java.lang.String message)
Throws aCompileException
with the given message and this object's location.abstract java.lang.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
-
-
-
-
Constructor Detail
-
AbstractTypeDeclaration
public AbstractTypeDeclaration(Location location, Java.Modifier[] modifiers, @Nullable Java.TypeParameter[] typeParameters)
-
-
Method Detail
-
setEnclosingScope
public void setEnclosingScope(Java.Scope enclosingScope)
Sets the enclosing scope of thisJava.TypeDeclaration
.
-
getModifiers
public Java.Modifier[] getModifiers()
-
getAnnotations
public Java.Annotation[] getAnnotations()
- Specified by:
getAnnotations
in interfaceJava.Annotatable
- Returns:
- The annotations of this
Java.TypeDeclaration
,Java.FieldDeclaration
,Java.MethodDeclarator
orJava.ConstructorDeclarator
-
getOptionalTypeParameters
@Nullable public Java.TypeParameter[] getOptionalTypeParameters()
-
getEnclosingScope
public Java.Scope 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
public void addMemberTypeDeclaration(Java.MemberTypeDeclaration mcoid)
Adds oneJava.MemberTypeDeclaration
to this type.
-
addDeclaredMethod
public void addDeclaredMethod(Java.MethodDeclarator method)
Adds oneJava.MethodDeclarator
to this type.
-
getMemberTypeDeclarations
public java.util.Collection<Java.MemberTypeDeclaration> getMemberTypeDeclarations()
- Specified by:
getMemberTypeDeclarations
in interfaceJava.TypeDeclaration
- Returns:
- The (possibly empty) set of member types declared inside this
Java.TypeDeclaration
-
getMemberTypeDeclaration
@Nullable public Java.MemberTypeDeclaration getMemberTypeDeclaration(java.lang.String name)
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
@Nullable public Java.MethodDeclarator getMethodDeclaration(java.lang.String name)
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
public java.util.List<Java.MethodDeclarator> getMethodDeclarations()
- Specified by:
getMethodDeclarations
in interfaceJava.TypeDeclaration
- Returns:
- The list of methods declared in this
Java.TypeDeclaration
, not including methods declared in supertypes
-
createLocalTypeName
public java.lang.String createLocalTypeName(java.lang.String localTypeName)
Description copied from interface:Java.TypeDeclaration
Creates a unique name for a local class or interface.- Specified by:
createLocalTypeName
in interfaceJava.TypeDeclaration
-
createAnonymousClassName
public java.lang.String createAnonymousClassName()
Description copied from interface:Java.TypeDeclaration
Creates a unique name for an anonymous class.- Specified by:
createAnonymousClassName
in interfaceJava.TypeDeclaration
-
getLocation
public Location getLocation()
- Specified by:
getLocation
in interfaceJava.Locatable
- Returns:
- The location of this object
-
throwCompileException
public void throwCompileException(java.lang.String message) throws CompileException
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
public abstract java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-