janino.net

org.codehaus.janino
Class Java.AbstractTypeDeclaration

  extended by org.codehaus.janino.Java.AbstractTypeDeclaration
All Implemented Interfaces:
Java.Locatable, Java.Scope, Java.TypeDeclaration
Direct Known Subclasses:
Java.ClassDeclaration, Java.InterfaceDeclaration
Enclosing class:
Java

public abstract static class Java.AbstractTypeDeclaration
extends
implements Java.TypeDeclaration

Abstract implementation of Java.TypeDeclaration.


Field Summary
 int anonymousClassCount
          For naming anonymous classes.
 int localClassCount
          For naming local classes.
 
Constructor Summary
Java.AbstractTypeDeclaration(Location location, Java.Modifiers modifiers)
           
 
Method Summary
 void addDeclaredMethod(Java.MethodDeclarator method)
          Adds one Java.MethodDeclarator to this type.
 void addMemberTypeDeclaration(Java.MemberTypeDeclaration mcoid)
          Adds one Java.PackageMemberTypeDeclaration to this type.
  createAnonymousClassName()
          Creates a unique name for an anonymous class.
  createLocalTypeName( localTypeName)
          Creates a unique name for a local class or interface.
 Java.Annotation[] getAnnotations()
           
 Java.Scope getEnclosingScope()
           
 Location getLocation()
           
 Java.MemberTypeDeclaration getMemberTypeDeclaration( name)
          Return the member type with the given name.
 <Java.MemberTypeDeclaration> getMemberTypeDeclarations()
           
 Java.MethodDeclarator getMethodDeclaration( name)
          Return the first method declared with the given name.
 <Java.MethodDeclarator> getMethodDeclarations()
           
 short getModifierFlags()
           
 void invalidateMethodCaches()
          Invalidates the method cache of the resolvedType.
 void setEnclosingScope(Java.Scope enclosingScope)
          Sets the enclosing scope of this Java.TypeDeclaration.
 void throwCompileException( message)
          Throw a CompileException with the given message and this object's location.
abstract   toString()
           
 
Methods inherited from class java.lang.
, , , , , , , , ,
 
Methods inherited from interface org.codehaus.janino.Java.TypeDeclaration
accept, getClassName
 

Field Detail

anonymousClassCount

public int anonymousClassCount
For naming anonymous classes.


localClassCount

public int localClassCount
For naming local classes.

Constructor Detail

Java.AbstractTypeDeclaration

public Java.AbstractTypeDeclaration(Location location,
                                    Java.Modifiers modifiers)
Method Detail

getModifierFlags

public short getModifierFlags()
Specified by:
getModifierFlags in interface Java.TypeDeclaration
Returns:
The or'ed modifier flags of the type, as defined in Mod

getAnnotations

public Java.Annotation[] getAnnotations()
Specified by:
getAnnotations in interface Java.TypeDeclaration
Returns:
The annotations of this Java.TypeDeclaration

setEnclosingScope

public void setEnclosingScope(Java.Scope enclosingScope)
Sets the enclosing scope of this Java.TypeDeclaration.


getEnclosingScope

public Java.Scope getEnclosingScope()
Specified by:
getEnclosingScope in interface Java.Scope
Returns:
The scope that encloses this scope, or null

invalidateMethodCaches

public void invalidateMethodCaches()
Invalidates the method cache of the resolvedType. This is necessary when methods are added during compilation


addMemberTypeDeclaration

public void addMemberTypeDeclaration(Java.MemberTypeDeclaration mcoid)
Adds one Java.PackageMemberTypeDeclaration to this type.


addDeclaredMethod

public void addDeclaredMethod(Java.MethodDeclarator method)
Adds one Java.MethodDeclarator to this type.


getMemberTypeDeclarations

public <Java.MemberTypeDeclaration> getMemberTypeDeclarations()
Specified by:
getMemberTypeDeclarations in interface Java.TypeDeclaration
Returns:
The (possibly empty) set of member types declared inside this Java.TypeDeclaration

getMemberTypeDeclaration

public Java.MemberTypeDeclaration getMemberTypeDeclaration( name)
Description copied from interface: Java.TypeDeclaration
Return the member type with the given name.

Specified by:
getMemberTypeDeclaration in interface Java.TypeDeclaration
Returns:
null if a member type with that name is not declared

getMethodDeclaration

public Java.MethodDeclarator getMethodDeclaration( name)
Description copied from interface: Java.TypeDeclaration
Return the first method declared with the given name. (Does not honor inherited methods.)

Specified by:
getMethodDeclaration in interface Java.TypeDeclaration
Returns:
null if a method with this name is not declared

getMethodDeclarations

public <Java.MethodDeclarator> getMethodDeclarations()
Specified by:
getMethodDeclarations in interface Java.TypeDeclaration
Returns:
The list of methods declared in this Java.TypeDeclaration, not including methods declared in supertypes

createLocalTypeName

public  createLocalTypeName( localTypeName)
Description copied from interface: Java.TypeDeclaration
Creates a unique name for a local class or interface.

Specified by:
createLocalTypeName in interface Java.TypeDeclaration

createAnonymousClassName

public  createAnonymousClassName()
Description copied from interface: Java.TypeDeclaration
Creates a unique name for an anonymous class.

Specified by:
createAnonymousClassName in interface Java.TypeDeclaration

getLocation

public Location getLocation()
Specified by:
getLocation in interface Java.Locatable
Returns:
The location of this object

throwCompileException

public void throwCompileException( message)
                           throws CompileException
Description copied from interface: Java.Locatable
Throw a CompileException with the given message and this object's location.

Specified by:
throwCompileException in interface Java.Locatable
Parameters:
message - The message to report
Throws:
CompileException

toString

public abstract  toString()
Overrides:
in class

janino.net