Package org.aspectj.weaver
Klasse ShadowMunger
java.lang.Object
org.aspectj.weaver.ShadowMunger
- Alle implementierten Schnittstellen:
PartialOrder.PartialComparable,IHasPosition
public abstract class ShadowMunger
extends Object
implements PartialOrder.PartialComparable, IHasPosition
For every shadow munger, nothing can be done with it until it is concretized. Then...
(Then we call fast match.)
For every shadow munger, for every shadow, first match is called, then (if match returned true) the shadow munger is specialized
for the shadow, which may modify state. Then implement is called.
-
Feldübersicht
FelderModifizierer und TypFeldBeschreibungprotected intstatic final ShadowMunger[]protected Pointcutprotected static final intprotected static final intprotected ISourceContextprotected int -
Konstruktorübersicht
KonstruktorenModifiziererKonstruktorBeschreibungprotectedShadowMunger(Pointcut pointcut, int start, int end, ISourceContext sourceContext, int shadowMungerKind) -
Methodenübersicht
Modifizierer und TypMethodeBeschreibungbooleanabstract ShadowMungerconcretize(ResolvedType fromType, World world, PerClause clause) intfallbackCompareTo(Object other) This method can provide a deterministic ordering for elements that are strictly not comparable.Returns the binarySourceLocation for the given sourcelocation.abstract ResolvedTypeintgetEnd()The ending index of this location in the character stream This points to the last character in this token.intgetStart()The starting index of this location in the character stream.abstract Collection<ResolvedType> abstract booleanimplementOn(Shadow shadow) Implement this munger at the specified shadow, returning a boolean to indicate success.booleanbooleanisBinary()Returns whether or not this shadow munger came from a binary aspect - keep a record of whether or not we've checked if we're binary otherwise we keep calculating the same thing many timesbooleanAll overriding methods should call superabstract booleanDoes the munger have to check that its exception are accepted by the shadow ?abstract ShadowMungerparameterizeWith(ResolvedType declaringType, Map<String, UnresolvedType> typeVariableMap) voidsetDeclaringType(ResolvedType aType) Invoked when the shadow munger of a resolved type are processed.voidsetPointcut(Pointcut pointcut) abstract voidspecializeOn(Shadow shadow) voidwrite(CompressingDataOutputStream stream) Von Klasse geerbte Methoden java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitVon Schnittstelle geerbte Methoden org.aspectj.util.PartialOrder.PartialComparable
compareTo
-
Felddetails
-
NONE
-
ShadowMungerAdvice
protected static final int ShadowMungerAdvice- Siehe auch:
-
ShadowMungerDeow
protected static final int ShadowMungerDeow- Siehe auch:
-
handle
-
start
protected int start -
end
protected int end -
sourceContext
-
pointcut
-
-
Konstruktordetails
-
ShadowMunger
protected ShadowMunger() -
ShadowMunger
public ShadowMunger(Pointcut pointcut, int start, int end, ISourceContext sourceContext, int shadowMungerKind)
-
-
Methodendetails
-
match
All overriding methods should call super -
fallbackCompareTo
Beschreibung aus Schnittstelle kopiert:PartialOrder.PartialComparableThis method can provide a deterministic ordering for elements that are strictly not comparable. If you have no need for this, this method can just return 0 whenever called.- Angegeben von:
fallbackCompareToin SchnittstellePartialOrder.PartialComparable
-
getEnd
public int getEnd()Beschreibung aus Schnittstelle kopiert:IHasPositionThe ending index of this location in the character stream This points to the last character in this token. If a location truly had no contents, then start == end + 1. We don't recommend this.- Angegeben von:
getEndin SchnittstelleIHasPosition
-
getStart
public int getStart()Beschreibung aus Schnittstelle kopiert:IHasPositionThe starting index of this location in the character stream.- Angegeben von:
getStartin SchnittstelleIHasPosition
-
getSourceLocation
-
getPointcut
-
setPointcut
-
setDeclaringType
Invoked when the shadow munger of a resolved type are processed.- Parameter:
aType-
-
getDeclaringType
-
getConcreteAspect
-
getBinarySourceLocation
Returns the binarySourceLocation for the given sourcelocation. This isn't cached because it's used when faulting in the binary nodes and is called with ISourceLocations for all advice, pointcuts and deows contained within the resolvedDeclaringAspect. -
isBinary
public boolean isBinary()Returns whether or not this shadow munger came from a binary aspect - keep a record of whether or not we've checked if we're binary otherwise we keep calculating the same thing many times -
concretize
-
specializeOn
-
implementOn
Implement this munger at the specified shadow, returning a boolean to indicate success.- Parameter:
shadow- the shadow where this munger should be applied- Gibt zurück:
- true if the implement was successful
-
parameterizeWith
public abstract ShadowMunger parameterizeWith(ResolvedType declaringType, Map<String, UnresolvedType> typeVariableMap) -
getThrownExceptions
- Gibt zurück:
- a Collection of ResolvedTypes for all checked exceptions that might be thrown by this munger
-
mustCheckExceptions
public abstract boolean mustCheckExceptions()Does the munger have to check that its exception are accepted by the shadow ? It is not the case for annotation style around advice, for example: that can throw Throwable, even if the advised method does not throw any exceptions.- Gibt zurück:
- true if munger has to check that its exceptions can be thrown based on the shadow
-
write
- Löst aus:
IOException
-
bindsProceedingJoinPoint
public boolean bindsProceedingJoinPoint() -
isAroundAdvice
public boolean isAroundAdvice()
-