org.aspectj.weaver
Class AbstractReferenceTypeDelegate

java.lang.Object
  extended by org.aspectj.weaver.AbstractReferenceTypeDelegate
All Implemented Interfaces:
ReferenceTypeDelegate
Direct Known Subclasses:
BcelObjectType, GeneratedReferenceTypeDelegate

public abstract class AbstractReferenceTypeDelegate
extends java.lang.Object
implements ReferenceTypeDelegate


Field Summary
protected  GenericSignature.ClassSignature cachedGenericClassTypeSignature
           
protected  boolean exposedToWeaver
           
protected  ReferenceType resolvedTypeX
           
static java.lang.String UNKNOWN_SOURCE_FILE
           
 
Constructor Summary
AbstractReferenceTypeDelegate(ReferenceType resolvedTypeX, boolean exposedToWeaver)
           
 
Method Summary
 boolean copySourceContext()
           
 boolean doesNotExposeShadowMungers()
          Designed to be overriden by EclipseType to disable collection of shadow mungers during pre-weave compilation phase
 void ensureConsistent()
          Implementations need to clear state
 int getCompilerVersion()
          If known, return the compiler/weaver version used to build this delegate.
protected  GenericSignature.FormalTypeParameter[] getFormalTypeParametersFromOuterClass()
           
 GenericSignature.ClassSignature getGenericClassTypeSignature()
           
 ReferenceType getResolvedTypeX()
           
 ISourceContext getSourceContext()
           
 java.lang.String getSourcefilename()
           
 ISourceLocation getSourceLocation()
           
 boolean hasBeenWoven()
           
 boolean isCacheable()
          TODO Caching of methods besides getDeclaredInterfaces() may also be dependent on this flag - which?
 boolean isClass()
           
 boolean isExposedToWeaver()
           
 boolean isWeavable()
           
 void setSourceContext(ISourceContext isc)
           
 void setSourcefilename(java.lang.String sourceFileName)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.aspectj.weaver.ReferenceTypeDelegate
canAnnotationTargetType, getAnnotations, getAnnotationTargetKinds, getAnnotationTypes, getDeclaredFields, getDeclaredGenericSignature, getDeclaredInterfaces, getDeclaredMethods, getDeclaredPointcuts, getDeclares, getModifiers, getOuterClass, getPerClause, getPrivilegedAccesses, getRetentionPolicy, getSuperclass, getTypeMungers, getTypeVariables, getWeaverState, hasAnnotation, isAnnotation, isAnnotationStyleAspect, isAnnotationWithRuntimeRetention, isAnonymous, isAspect, isEnum, isGeneric, isInterface, isNested
 

Field Detail

exposedToWeaver

protected boolean exposedToWeaver

resolvedTypeX

protected ReferenceType resolvedTypeX

cachedGenericClassTypeSignature

protected GenericSignature.ClassSignature cachedGenericClassTypeSignature

UNKNOWN_SOURCE_FILE

public static final java.lang.String UNKNOWN_SOURCE_FILE
See Also:
Constant Field Values
Constructor Detail

AbstractReferenceTypeDelegate

public AbstractReferenceTypeDelegate(ReferenceType resolvedTypeX,
                                     boolean exposedToWeaver)
Method Detail

isClass

public final boolean isClass()
Specified by:
isClass in interface ReferenceTypeDelegate

isCacheable

public boolean isCacheable()
Description copied from interface: ReferenceTypeDelegate
TODO Caching of methods besides getDeclaredInterfaces() may also be dependent on this flag - which?

Specified by:
isCacheable in interface ReferenceTypeDelegate
Returns:
true if something the result of getDeclaredInterfaces() can be cached by the caller

doesNotExposeShadowMungers

public boolean doesNotExposeShadowMungers()
Designed to be overriden by EclipseType to disable collection of shadow mungers during pre-weave compilation phase

Specified by:
doesNotExposeShadowMungers in interface ReferenceTypeDelegate

isExposedToWeaver

public boolean isExposedToWeaver()
Specified by:
isExposedToWeaver in interface ReferenceTypeDelegate

getResolvedTypeX

public ReferenceType getResolvedTypeX()
Specified by:
getResolvedTypeX in interface ReferenceTypeDelegate

getSourcefilename

public final java.lang.String getSourcefilename()
Specified by:
getSourcefilename in interface ReferenceTypeDelegate

setSourcefilename

public final void setSourcefilename(java.lang.String sourceFileName)

getSourceLocation

public ISourceLocation getSourceLocation()

getSourceContext

public ISourceContext getSourceContext()
Specified by:
getSourceContext in interface ReferenceTypeDelegate

setSourceContext

public void setSourceContext(ISourceContext isc)

getGenericClassTypeSignature

public GenericSignature.ClassSignature getGenericClassTypeSignature()

getFormalTypeParametersFromOuterClass

protected GenericSignature.FormalTypeParameter[] getFormalTypeParametersFromOuterClass()

copySourceContext

public boolean copySourceContext()
Specified by:
copySourceContext in interface ReferenceTypeDelegate

getCompilerVersion

public int getCompilerVersion()
Description copied from interface: ReferenceTypeDelegate
If known, return the compiler/weaver version used to build this delegate. Default is the most recent level as specified in AjAttribute.WeaverVersionInfo.

Specified by:
getCompilerVersion in interface ReferenceTypeDelegate
Returns:
the major version

ensureConsistent

public void ensureConsistent()
Description copied from interface: ReferenceTypeDelegate
Implementations need to clear state

Specified by:
ensureConsistent in interface ReferenceTypeDelegate

isWeavable

public boolean isWeavable()
Specified by:
isWeavable in interface ReferenceTypeDelegate

hasBeenWoven

public boolean hasBeenWoven()
Specified by:
hasBeenWoven in interface ReferenceTypeDelegate