Top Description Fields Constructors Methods
org.aspectj.weaver

public Class MissingResolvedTypeWithKnownSignature

extends ResolvedType
Class Inheritance
Imports
java.util.Collections, .List, org.aspectj.bridge.ISourceLocation, org.aspectj.bridge.context.CompilationAndWeavingContext

When we try to resolve a type in the world that we require to be present, and then fail to find it, we return an instance of this class. This class defers the production of the "can't find type error" until the first time that someone asks a question that can't be answered solely from the signature. This enables the weaver to be more tolerant of missing types.

Field Summary

Modifier and TypeField and Description
private boolean
private boolean
private boolean
Inherited from org.aspectj.weaver.ResolvedType:
bitscrosscuttingMembersEMPTY_ARRAYEMPTY_RESOLVED_TYPE_ARRAYinterTypeMungersMISSINGNONEPARAMETERIZED_TYPE_IDENTIFIERtemporaryAnnotationTypesvalidBoxingworld

Constructor Summary

AccessConstructor and Description
public
public
MissingResolvedTypeWithKnownSignature(String signature, String signatureErasure, World world)

Method Summary

Modifier and TypeMethod and Description
protected void
public AnnotationAJ[]
public ResolvedMember[]
public ResolvedType[]
public ResolvedMember[]
public ResolvedMember[]
public List<E>
public List<E>
public List<E>
public List<E>
public int
public ISourceContext
public ResolvedType
public boolean
public boolean
isAssignableFrom(ResolvedType
the other type
other
)

Implements abstract org.aspectj.weaver.ResolvedType.isAssignableFrom.

Determines if the variables of this type could be assigned values of another type without casting.
public boolean
isAssignableFrom(ResolvedType other, boolean allowMissing)

Implements abstract org.aspectj.weaver.ResolvedType.isAssignableFrom.

public boolean
isCoerceableFrom(ResolvedType
the other type
other
)

Implements abstract org.aspectj.weaver.ResolvedType.isCoerceableFrom.

Determines if values of another type could possibly be cast to this type.
public boolean
private void
private void
public void
public void
Inherited from org.aspectj.weaver.ResolvedType:
addAnnotationaddInterTypeMungeraddParentajMembersNeedParameterizationcanAnnotationTargetTypecanBeSeenBycheckInterTypeMungerscheckLegalOverrideclearInterTypeMungerscollectCrosscuttingMemberscollectDeclaresconflictingSignatureconflictingSignaturediscoverActualOccurrenceOfTypeInHierarchydoesNotExposeShadowMungersensureConsistentequalsfillInAnyTypeParametersfindPointcutgetAjMemberParameterizationMapgetAnnotationOfTypegetAnnotationTargetKindsgetAnnotationTypesgetBinaryPathgetCompilerVersiongetDeclaredAdvicegetDeclaredJavaFieldsgetDeclaredJavaMethodsgetDeclaredShadowMungersgetDeclaresgetDeclaringTypegetDirectSupertypesgetExposedPointcutsgetFieldsgetGenericTypegetHierarchygetHierarchygetHierarchyWithoutIteratorgetMemberParameterizationMapgetMethodsgetMethodsIncludingIntertypeDeclarationsgetMethodsWithoutIteratorgetOuterClassgetPerClausegetPointcutsgetPrivilegedAccessesgetRawTypegetResolvedComponentTypegetResolvedTypeParametersgetSignatureForAttributegetSizegetSourceLocationgetTopmostImplementorgetTypeMungersgetWeaverStategetWorldhasAnnotationsisAbstractisAnnotationisAnnotationStyleAspectisAnnotationWithRuntimeRetentionisAnonymousisAspectisCacheableisCheckedExceptionisClassisConvertableFromisEnumisExceptionisExposedToWeaverisFinalisGroovyObjectisInheritedAnnotationisInterfaceisMissingisMoreVisibleisNestedisParameterizedWithTypeVariableisPrimitiveArrayisPrivilegedAspectisSyntheticisTopmostImplementorisTypeHierarchyCompleteisVisiblelookupDirectlyDeclaredMemberNoSuperslookupFieldlookupMemberIncludingITDsOnInterfaceslookupMemberNoSuperslookupMemberWithSupersAndITDslookupMethodlookupMethodInITDslookupResolvedMemberlookupSyntheticMembermakeArraymatchesneedsNoConversionFromparameterizeparameterizedWithsetBinaryPathtagAsTypeHierarchyComplete

Field Detail

issuedCantFindTypeErrorback to summary
private boolean issuedCantFindTypeError
issuedJoinPointWarningback to summary
private boolean issuedJoinPointWarning
issuedMissingInterfaceWarningback to summary
private boolean issuedMissingInterfaceWarning

Constructor Detail

MissingResolvedTypeWithKnownSignatureback to summary
public MissingResolvedTypeWithKnownSignature(String signature, World world)
MissingResolvedTypeWithKnownSignatureback to summary
public MissingResolvedTypeWithKnownSignature(String signature, String signatureErasure, World world)

Method Detail

collectInterTypeMungersback to summary
protected void collectInterTypeMungers(List<E> collector)

Overrides org.aspectj.weaver.ResolvedType.collectInterTypeMungers.

Annotations
@Override
getAnnotationsback to summary
public AnnotationAJ[] getAnnotations()

Overrides org.aspectj.weaver.ResolvedType.getAnnotations.

Annotations
@Override
getDeclaredFieldsback to summary
public ResolvedMember[] getDeclaredFields()

Implements abstract org.aspectj.weaver.ResolvedType.getDeclaredFields.

Annotations
@Override
getDeclaredInterfacesback to summary
public ResolvedType[] getDeclaredInterfaces()

Implements abstract org.aspectj.weaver.ResolvedType.getDeclaredInterfaces.

Annotations
@Override
getDeclaredMethodsback to summary
public ResolvedMember[] getDeclaredMethods()

Implements abstract org.aspectj.weaver.ResolvedType.getDeclaredMethods.

Annotations
@Override
getDeclaredPointcutsback to summary
public ResolvedMember[] getDeclaredPointcuts()

Implements abstract org.aspectj.weaver.ResolvedType.getDeclaredPointcuts.

Annotations
@Override
getInterTypeMungersback to summary
public List<E> getInterTypeMungers()

Overrides org.aspectj.weaver.ResolvedType.getInterTypeMungers.

Annotations
@Override
getInterTypeMungersIncludingSupersback to summary
public List<E> getInterTypeMungersIncludingSupers()

Overrides org.aspectj.weaver.ResolvedType.getInterTypeMungersIncludingSupers.

Doc from org.aspectj.weaver.ResolvedType.getInterTypeMungersIncludingSupers.

??? This method is O(N*M) where N = number of methods and M is number of inter-type declarations in my super

Annotations
@Override
getInterTypeParentMungersback to summary
public List<E> getInterTypeParentMungers()

Overrides org.aspectj.weaver.ResolvedType.getInterTypeParentMungers.

Annotations
@Override
getInterTypeParentMungersIncludingSupersback to summary
public List<E> getInterTypeParentMungersIncludingSupers()

Overrides org.aspectj.weaver.ResolvedType.getInterTypeParentMungersIncludingSupers.

Annotations
@Override
getModifiersback to summary
public int getModifiers()

Implements abstract org.aspectj.weaver.ResolvedType.getModifiers.

Annotations
@Override
getSourceContextback to summary
public ISourceContext getSourceContext()

Implements abstract org.aspectj.weaver.ResolvedType.getSourceContext.

Annotations
@Override
getSuperclassback to summary
public ResolvedType getSuperclass()

Implements abstract org.aspectj.weaver.ResolvedType.getSuperclass.

Returns:ResolvedType

Doc from org.aspectj.weaver.ResolvedType.getSuperclass.

the superclass of this type, or null (if this represents a jlObject, primitive, or void)

Annotations
@Override
hasAnnotationback to summary
public boolean hasAnnotation(UnresolvedType ofType)

Implements org.aspectj.weaver.AnnotatedElement.hasAnnotation.

Annotations
@Override
isAssignableFromback to summary
public boolean isAssignableFrom(ResolvedType other)

Implements abstract org.aspectj.weaver.ResolvedType.isAssignableFrom.

Doc from org.aspectj.weaver.ResolvedType.isAssignableFrom.

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).

Parameters
other:ResolvedType

the other type

Returns:boolean

true iff variables of this type could be assigned values of other without casting

Annotations
@Override
isAssignableFromback to summary
public boolean isAssignableFrom(ResolvedType other, boolean allowMissing)

Implements abstract org.aspectj.weaver.ResolvedType.isAssignableFrom.

Annotations
@Override
isCoerceableFromback to summary
public boolean isCoerceableFrom(ResolvedType other)

Implements abstract org.aspectj.weaver.ResolvedType.isCoerceableFrom.

Doc from org.aspectj.weaver.ResolvedType.isCoerceableFrom.

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)
Parameters
other:ResolvedType

the other type

Returns:boolean

true iff values of other could possibly be cast to this type.

Annotations
@Override
isMissingback to summary
public boolean isMissing()

Overrides org.aspectj.weaver.ResolvedType.isMissing.

Annotations
@Override
raiseCantFindTypeback to summary
private void raiseCantFindType(String key)
raiseCantFindTypeback to summary
private void raiseCantFindType(String key, String insert)
raiseWarningOnJoinPointSignatureback to summary
public void raiseWarningOnJoinPointSignature(String signature)
raiseWarningOnMissingInterfaceWhilstFindingMethodsback to summary
public void raiseWarningOnMissingInterfaceWhilstFindingMethods()