Package org.aspectj.weaver.bcel
Class BcelAccessForInlineMunger
java.lang.Object
org.aspectj.weaver.ConcreteTypeMunger
org.aspectj.weaver.bcel.BcelTypeMunger
org.aspectj.weaver.bcel.BcelAccessForInlineMunger
- All Implemented Interfaces:
PartialOrder.PartialComparable
Looks for all access to method or field that are not public within the body of the around advices and replace the invocations to
a wrapper call so that the around advice can further be inlined.
This munger is used for @AJ aspects for which inlining wrapper is not done at compile time.
Specific state and logic is kept in the munger ala ITD so that call/get/set pointcuts can still be matched on the wrapped member thanks to the EffectiveSignature attribute.
- Author:
- Alexandre Vasseur, Andy Clement
-
Field Summary
Fields inherited from class org.aspectj.weaver.ConcreteTypeMunger
aspectType, munger -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetMatchingSyntheticMember(Member member) Looks in the wrapper we have added so that we can find their effective signature if neededbooleanmatches(ResolvedType onType) Match only the aspect for which we actbooleanmunge(org.aspectj.weaver.bcel.BcelClassWeaver weaver) Methods inherited from class org.aspectj.weaver.bcel.BcelTypeMunger
attemptToModifySuperCalls, equals, error, getTypeVariableAliases, hashCode, makeFieldGen, makeMethodGen, parameterizedFor, parameterizeWith, shouldOverwrite, toStringMethods inherited from class org.aspectj.weaver.ConcreteTypeMunger
compareTo, equivalentTo, existsToSupportShadowMunging, fallbackCompareTo, getAspectType, getMunger, getSourceLocation, getWorld, isLateMunger, isTargetTypeParameterized
-
Constructor Details
-
BcelAccessForInlineMunger
-
-
Method Details
-
munge
public boolean munge(org.aspectj.weaver.bcel.BcelClassWeaver weaver) - Overrides:
mungein classBcelTypeMunger
-
getMatchingSyntheticMember
Looks in the wrapper we have added so that we can find their effective signature if needed- Overrides:
getMatchingSyntheticMemberin classConcreteTypeMunger
-
getSignature
- Overrides:
getSignaturein classConcreteTypeMunger
-
matches
Match only the aspect for which we act- Overrides:
matchesin classConcreteTypeMunger
-