Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

AspectJLint

Revision as of 21:41, 12 October 2009 by Unnamed Poltroon (Talk) (New page: This page lists AspectJ Lint messages, and explanations on how to solve them or what could be affected by them. Lint messages are produced by the AspectJ compiler/weaver to warn the user ...)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

This page lists AspectJ Lint messages, and explanations on how to solve them or what could be affected by them.

Lint messages are produced by the AspectJ compiler/weaver to warn the user about a possible problem.

invalidAbsoluteTypeName (warning)

The weaver is not able to resolve an absolute type name. For example, if you write :

 pointcut mymethod() : execution(String com.nonexisting.missingClass.get*());

The weaver will warn that com.nonexisting.missingClass is an invalid absolute type name.

By default, the weaver will issue only a warning and not a compile error. This is because it is legal to write a pointcut on a class not present at present compile time. It will be applied to that class if it is present at a later weaving stage, like during LTW or when the aspect is on the aspectpath of another build containing that type.

invalidWildcardTypeName (ignore)

unresolvableMember (warning)

typeNotExposedToWeaver (warning)

The weaver has correctly identified a type that should be weaved, but in current configuration that type is not in the same project as the aspect nor added to a library on the inpath, so it was not possible to weave it.

This is a warning because it is perfectly legal to write a pointcut against a type not currently exposed to the weaver. The weaver will be able to match that pointcut at a later weaving stage, like during LTW or when the aspect is on the aspectpath of another build containing that type.

shadowNotInStructure (ignore)

unmatchedSuperTypeInCall (warning)

canNotImplementLazyTjp (ignore)

Normally the weaver will try to not instantiate the "thisJoinPoint" variable until it is necessary. However sometimes it fails to implement such a check.

This happens often for around advices.

Runtime performances could be affected.

multipleAdviceStoppingLazyTjp (ignore)

noGuardForLazyTjp (ignore)

uncheckedAdviceConversion (warning)

needsSerialVersionUIDField (ignore)

brokeSerialVersionCompatibility (ignore)

noInterfaceCtorJoinpoint (warning)

noJoinpointsForBridgeMethods (warning)

cantMatchArrayTypeOnVarargs (ignore)

enumAsTargetForDecpIgnored (warning)

annotationAsTargetForDecpIgnored (warning)

adviceDidNotMatch (warning)

The pointcut for that advice did not match any join point between those exposed to the weaver. This could mean that the pointcut is not correct, and it's not matching anything it should match.

It could also mean that in the current project and inpath there is no occurrence of the join point designated, which could not be a problem if you are writing an aspect library designed to be later weaved on a different project. This is why it's reposted as a warning.

invalidTargetForAnnotation (warning)

elementAlreadyAnnotated (warning)

runtimeExceptionNotSoftened (warning)

uncheckedArgument (warning)

noExplicitConstructorCall (warning)

aspectExcludedByConfiguration (ignore)

unmatchedTargetKind (warning)

cantFindType (error)

cantFindTypeAffectingJPMatch (warning)

unorderedAdviceAtShadow (ignore)

swallowedExceptionInCatchBlock (ignore)

calculatingSerialVersionUID (ignore)

advisingSynchronizedMethods (warning)

mustWeaveXmlDefinedAspects (warning)

missingAspectForReweaving (error)

cannotAdviseJoinpointInInterfaceWithAroundAdvice (warning)

Back to the top