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
Modifizierer und TypFeldBeschreibungprotected int
static final ShadowMunger[]
protected Pointcut
protected static final int
protected static final int
protected ISourceContext
protected int
-
Konstruktorübersicht
ModifiziererKonstruktorBeschreibungprotected
ShadowMunger
(Pointcut pointcut, int start, int end, ISourceContext sourceContext, int shadowMungerKind) -
Methodenübersicht
Modifizierer und TypMethodeBeschreibungboolean
abstract ShadowMunger
concretize
(ResolvedType fromType, World world, PerClause clause) int
fallbackCompareTo
(Object other) This method can provide a deterministic ordering for elements that are strictly not comparable.Returns the binarySourceLocation for the given sourcelocation.abstract ResolvedType
int
getEnd()
The ending index of this location in the character stream This points to the last character in this token.int
getStart()
The starting index of this location in the character stream.abstract Collection
<ResolvedType> abstract boolean
implementOn
(Shadow shadow) Implement this munger at the specified shadow, returning a boolean to indicate success.boolean
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 timesboolean
All overriding methods should call superabstract boolean
Does the munger have to check that its exception are accepted by the shadow ?abstract ShadowMunger
parameterizeWith
(ResolvedType declaringType, Map<String, UnresolvedType> typeVariableMap) void
setDeclaringType
(ResolvedType aType) Invoked when the shadow munger of a resolved type are processed.void
setPointcut
(Pointcut pointcut) abstract void
specializeOn
(Shadow shadow) void
write
(CompressingDataOutputStream stream) Von Klasse geerbte Methoden java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Von 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.PartialComparable
This 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:
fallbackCompareTo
in SchnittstellePartialOrder.PartialComparable
-
getEnd
public int getEnd()Beschreibung aus Schnittstelle kopiert:IHasPosition
The 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:
getEnd
in SchnittstelleIHasPosition
-
getStart
public int getStart()Beschreibung aus Schnittstelle kopiert:IHasPosition
The starting index of this location in the character stream.- Angegeben von:
getStart
in 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()
-