org.aspectj.weaver
Class ArrayReferenceType

java.lang.Object
  extended by org.aspectj.weaver.UnresolvedType
      extended by org.aspectj.weaver.ResolvedType
          extended by org.aspectj.weaver.ReferenceType
              extended by org.aspectj.weaver.ArrayReferenceType
All Implemented Interfaces:
AnnotatedElement, Traceable, TypeVariableDeclaringElement

public class ArrayReferenceType
extends ReferenceType

Represents a resolved array type


Nested Class Summary
 
Nested classes/interfaces inherited from class org.aspectj.weaver.UnresolvedType
UnresolvedType.TypeKind
 
Field Summary
 
Fields inherited from class org.aspectj.weaver.ReferenceType
EMPTY_ARRAY
 
Fields inherited from class org.aspectj.weaver.ResolvedType
crosscuttingMembers, EMPTY_RESOLVED_TYPE_ARRAY, interTypeMungers, MISSING, NONE, PARAMETERIZED_TYPE_IDENTIFIER, temporaryAnnotationTypes, validBoxing, world
 
Fields inherited from class org.aspectj.weaver.UnresolvedType
ANNOTATION, ARRAY_WITH_JUST_OBJECT, AT_INHERITED, AT_RETENTION, AT_TARGET, BOOLEAN, BYTE, CHAR, CLONEABLE, DOUBLE, ENUM, ERROR, FLOAT, INT, JAVA_LANG_ANNOTATION, JAVA_LANG_CLASS_ARRAY, JAVA_LANG_REFLECT_CONSTRUCTOR, JAVA_LANG_REFLECT_FIELD, JAVA_LANG_REFLECT_METHOD, JL_CLASS, JL_EXCEPTION, JL_STRING, JOINPOINT_ENCLOSINGSTATICPART, JOINPOINT_STATICPART, LONG, MISSING_NAME, OBJECT, OBJECTARRAY, RUNTIME_EXCEPTION, SERIALIZABLE, SHORT, signature, signatureErasure, SOMETHING, SUPPRESS_AJ_WARNINGS, THROWABLE, typeKind, typeParameters, typeVariables, VOID
 
Constructor Summary
ArrayReferenceType(java.lang.String sig, java.lang.String erasureSig, World world, ResolvedType componentType)
           
 
Method Summary
 boolean canAnnotationTargetType()
          Note: Only overridden by ReferenceType subtype
 AnnotationAJ getAnnotationOfType(UnresolvedType ofType)
           
 AnnotationAJ[] getAnnotations()
           
 AnnotationTargetKind[] getAnnotationTargetKinds()
          Note: Only overridden by ReferenceType subtype
 ResolvedType[] getAnnotationTypes()
           
 UnresolvedType getComponentType()
          Returns a UnresolvedType object representing the component type of this array, or null if this type does not represent an array type.
 ResolvedMember[] getDeclaredFields()
           
 ResolvedType[] getDeclaredInterfaces()
          Find out from the generic signature the true signature of any interfaces I implement.
 ResolvedMember[] getDeclaredMethods()
           
 ResolvedMember[] getDeclaredPointcuts()
           
 int getModifiers()
           
 ResolvedType getResolvedComponentType()
           
 ISourceContext getSourceContext()
           
 ResolvedType getSuperclass()
           
 TypeVariable[] getTypeVariables()
           
 boolean hasAnnotation(UnresolvedType ofType)
           
 boolean isAnnotation()
          Note: Only overridden by Name subtype.
 boolean isAnnotationStyleAspect()
           
 boolean isAnnotationWithRuntimeRetention()
          Note: Only overridden by Name subtype.
 boolean isAnonymous()
           
 boolean isAspect()
           
 boolean isAssignableFrom(ResolvedType o)
          Determines if the variables of this type could be assigned values of another type without casting.
 boolean isAssignableFrom(ResolvedType o, boolean allowMissing)
           
 boolean isClass()
           
 boolean isCoerceableFrom(ResolvedType o)
          Determines if values of another type could possibly be cast to this type.
 boolean isEnum()
          Note: Only overridden by Name subtype.
 boolean isExposedToWeaver()
           
 boolean isGenericType()
           
 boolean isGenericWildcard()
           
 boolean isNested()
           
 boolean isParameterizedType()
           
 boolean isPrimitiveArray()
           
 boolean isPrimitiveType()
           
 boolean isRawType()
           
 boolean isSimpleType()
           
 boolean isTypeVariableReference()
           
 
Methods inherited from class org.aspectj.weaver.ReferenceType
addAnnotation, addParent, checkDuplicates, demoteToSimpleType, doesNotExposeShadowMungers, ensureConsistent, findDerivativeType, fromTypeX, getCompilerVersion, getDeclaredGenericSignature, getDeclares, getDelegate, getEndPos, getGenericSignature, getGenericType, getNameAsIdentifier, getOuterClass, getPerClause, getPrivilegedAccesses, getRetentionPolicy, getSignatureForAttribute, getSourceLocation, getStartPos, getTypeMungers, getWeaverState, hasNewInterfaces, setDelegate, setEndPos, setGenericType, setStartPos
 
Methods inherited from class org.aspectj.weaver.ResolvedType
addInterTypeMunger, ajMembersNeedParameterization, checkInterTypeMungers, checkLegalOverride, clearInterTypeMungers, collectCrosscuttingMembers, collectDeclares, collectInterTypeMungers, conflictingSignature, conflictingSignature, discoverActualOccurrenceOfTypeInHierarchy, equals, fillInAnyTypeParameters, findPointcut, getAjMemberParameterizationMap, getBinaryPath, getDeclaredAdvice, getDeclaredJavaFields, getDeclaredJavaMethods, getDeclaredShadowMungers, getDeclaringType, getDirectSupertypes, getExposedPointcuts, getFields, getHierarchy, getHierarchy, getHierarchyWithoutIterator, getInterTypeMungers, getInterTypeMungersIncludingSupers, getInterTypeParentMungers, getInterTypeParentMungersIncludingSupers, getMemberParameterizationMap, getMethods, getMethodsIncludingIntertypeDeclarations, getMethodsWithoutIterator, getPointcuts, getRawType, getResolvedTypeParameters, getSize, getTopmostImplementor, getWorld, isAbstract, isCacheable, isCheckedException, isConvertableFrom, isException, isFinal, isGroovyObject, isInheritedAnnotation, isInterface, isMissing, isMissing, isMoreVisible, isParameterizedWithTypeVariable, isSynthetic, isTopmostImplementor, isTypeHierarchyComplete, isVisible, lookupDirectlyDeclaredMemberNoSupers, lookupField, lookupMemberIncludingITDsOnInterfaces, lookupMemberNoSupers, lookupMemberWithSupersAndITDs, lookupMethod, lookupMethodInITDs, lookupResolvedMember, lookupSyntheticMember, makeArray, matches, needsNoConversionFrom, parameterize, parameterizedWith, setBinaryPath, tagAsTypeHierarchyComplete
 
Methods inherited from class org.aspectj.weaver.UnresolvedType
add, forGenericType, forGenericTypeSignature, forGenericTypeVariables, forName, forNames, forPrimitiveType, forRawTypeName, forSignature, forSignatures, getBaseName, getClassName, getErasureSignature, getName, getNames, getOutermostType, getPackageName, getPackageNameAsIdentifier, getRawName, getSignature, getSimpleBaseName, getSimpleName, getTypekind, getTypeParameters, getTypeVariableNamed, hashCode, insert, isArray, isParameterizedOrGenericType, isParameterizedOrRawType, isVoid, makeArray, needsModifiableDelegate, read, readArray, resolve, setNeedsModifiableDelegate, toDebugString, toString, toTraceString, write, writeArray
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ArrayReferenceType

public ArrayReferenceType(java.lang.String sig,
                          java.lang.String erasureSig,
                          World world,
                          ResolvedType componentType)
Method Detail

getDeclaredFields

public final ResolvedMember[] getDeclaredFields()
Overrides:
getDeclaredFields in class ReferenceType

getDeclaredMethods

public final ResolvedMember[] getDeclaredMethods()
Overrides:
getDeclaredMethods in class ReferenceType

getDeclaredInterfaces

public final ResolvedType[] getDeclaredInterfaces()
Description copied from class: ReferenceType
Find out from the generic signature the true signature of any interfaces I implement. If I am parameterized, these may then need to be parameterized before returning.

Overrides:
getDeclaredInterfaces in class ReferenceType

getAnnotationOfType

public AnnotationAJ getAnnotationOfType(UnresolvedType ofType)
Specified by:
getAnnotationOfType in interface AnnotatedElement
Overrides:
getAnnotationOfType in class ReferenceType

getAnnotations

public AnnotationAJ[] getAnnotations()
Overrides:
getAnnotations in class ReferenceType

getAnnotationTypes

public ResolvedType[] getAnnotationTypes()
Specified by:
getAnnotationTypes in interface AnnotatedElement
Overrides:
getAnnotationTypes in class ReferenceType

getDeclaredPointcuts

public final ResolvedMember[] getDeclaredPointcuts()
Overrides:
getDeclaredPointcuts in class ReferenceType

hasAnnotation

public boolean hasAnnotation(UnresolvedType ofType)
Specified by:
hasAnnotation in interface AnnotatedElement
Overrides:
hasAnnotation in class ReferenceType

getSuperclass

public final ResolvedType getSuperclass()
Overrides:
getSuperclass in class ReferenceType
Returns:
the superclass of this type, or null (if this represents a jlObject, primitive, or void)

isAssignableFrom

public final boolean isAssignableFrom(ResolvedType o)
Description copied from class: ResolvedType
Determines if the variables of this type could be assigned values of another type without casting. This still allows for assignment conversion as per JLS 2ed 5.2. For object types, this means supertypeOrEqual(THIS, OTHER).

Overrides:
isAssignableFrom in class ReferenceType
Parameters:
o - the other type
Returns:
true iff variables of this type could be assigned values of other without casting

isAssignableFrom

public boolean isAssignableFrom(ResolvedType o,
                                boolean allowMissing)
Overrides:
isAssignableFrom in class ReferenceType

isCoerceableFrom

public final boolean isCoerceableFrom(ResolvedType o)
Description copied from class: ResolvedType
Determines if values of another type could possibly be cast to this type. The rules followed are from JLS 2ed 5.5, "Casting Conversion".

This method should be commutative, i.e., for all UnresolvedType a, b and all World w:

 a.isCoerceableFrom(b, w) == b.isCoerceableFrom(a, w)
 

Overrides:
isCoerceableFrom in class ReferenceType
Parameters:
o - the other type
Returns:
true iff values of other could possibly be cast to this type.

getModifiers

public final int getModifiers()
Overrides:
getModifiers in class ReferenceType

getComponentType

public UnresolvedType getComponentType()
Description copied from class: UnresolvedType
Returns a UnresolvedType object representing the component type of this array, or null if this type does not represent an array type.

Overrides:
getComponentType in class UnresolvedType
Returns:
the component UnresolvedType object, or null.

getResolvedComponentType

public ResolvedType getResolvedComponentType()
Overrides:
getResolvedComponentType in class ResolvedType

getSourceContext

public ISourceContext getSourceContext()
Overrides:
getSourceContext in class ReferenceType

getTypeVariables

public TypeVariable[] getTypeVariables()
Overrides:
getTypeVariables in class ReferenceType

isAnnotation

public boolean isAnnotation()
Description copied from class: ResolvedType
Note: Only overridden by Name subtype.

Overrides:
isAnnotation in class ReferenceType

isAnonymous

public boolean isAnonymous()
Overrides:
isAnonymous in class ReferenceType

isAnnotationStyleAspect

public boolean isAnnotationStyleAspect()
Overrides:
isAnnotationStyleAspect in class ReferenceType

isAspect

public boolean isAspect()
Overrides:
isAspect in class ReferenceType

isPrimitiveType

public boolean isPrimitiveType()
Overrides:
isPrimitiveType in class UnresolvedType

isSimpleType

public boolean isSimpleType()
Overrides:
isSimpleType in class UnresolvedType

isRawType

public boolean isRawType()
Overrides:
isRawType in class UnresolvedType

isGenericType

public boolean isGenericType()
Overrides:
isGenericType in class ReferenceType

isParameterizedType

public boolean isParameterizedType()
Overrides:
isParameterizedType in class UnresolvedType

isTypeVariableReference

public boolean isTypeVariableReference()
Overrides:
isTypeVariableReference in class UnresolvedType

isGenericWildcard

public boolean isGenericWildcard()
Overrides:
isGenericWildcard in class UnresolvedType

isEnum

public boolean isEnum()
Description copied from class: ResolvedType
Note: Only overridden by Name subtype.

Overrides:
isEnum in class ReferenceType

isNested

public boolean isNested()
Overrides:
isNested in class ReferenceType

isClass

public boolean isClass()
Overrides:
isClass in class ReferenceType

isExposedToWeaver

public boolean isExposedToWeaver()
Overrides:
isExposedToWeaver in class ReferenceType

canAnnotationTargetType

public boolean canAnnotationTargetType()
Description copied from class: ResolvedType
Note: Only overridden by ReferenceType subtype

Overrides:
canAnnotationTargetType in class ReferenceType

getAnnotationTargetKinds

public AnnotationTargetKind[] getAnnotationTargetKinds()
Description copied from class: ResolvedType
Note: Only overridden by ReferenceType subtype

Overrides:
getAnnotationTargetKinds in class ReferenceType

isAnnotationWithRuntimeRetention

public boolean isAnnotationWithRuntimeRetention()
Description copied from class: ResolvedType
Note: Only overridden by Name subtype.

Overrides:
isAnnotationWithRuntimeRetention in class ReferenceType

isPrimitiveArray

public boolean isPrimitiveArray()
Overrides:
isPrimitiveArray in class ResolvedType