Package org.aspectj.weaver
Klasse MethodDelegateTypeMunger
java.lang.Object
org.aspectj.weaver.ResolvedTypeMunger
org.aspectj.weaver.MethodDelegateTypeMunger
Type munger for annotation style ITD declare parents. with an interface AND an implementation. Given the aspect that has a field
public static Interface fieldI = ... // impl. we will weave in the Interface' methods and delegate to the aspect public static
field fieldI
Note: this munger DOES NOT handles the interface addition to the target classes - a regular Parent kinded munger must be added in
coordination.
-
Verschachtelte Klassen - Übersicht
Von Klasse geerbte verschachtelte Klassen/Schnittstellen org.aspectj.weaver.ResolvedTypeMunger
ResolvedTypeMunger.Kind
-
Feldübersicht
Von Klasse geerbte Felder org.aspectj.weaver.ResolvedTypeMunger
AnnotationOnType, Constructor, declaredSignature, Field, FieldHost, InnerClass, kind, Method, MethodDelegate, MethodDelegate2, Parent, PerObjectInterface, PerTypeWithinInterface, PrivilegedAccess, signature, SUPER_DISPATCH_NAME, typeVariableAliases
-
Konstruktorübersicht
KonstruktorBeschreibungMethodDelegateTypeMunger
(ResolvedMember signature, UnresolvedType aspect, String implClassName, TypePattern typePattern) Construct a new type munger for @AspectJ ITDMethodDelegateTypeMunger
(ResolvedMember signature, UnresolvedType aspect, String implClassName, TypePattern typePattern, String factoryMethodName, String factoryMethodSignature) -
Methodenübersicht
Modifizierer und TypMethodeBeschreibungboolean
Needed for reweavableboolean
boolean
Some type mungers are created purely to help with the implementation of shadow mungers.getDelegate
(ResolvedType targetType) int
hashCode()
boolean
boolean
matches
(ResolvedType matchType, ResolvedType aspectType) Match based on given type pattern, only classes can be matchedstatic ResolvedTypeMunger
readMethod
(VersionedDataInputStream s, ISourceContext context, boolean isEnhanced) void
setFieldType
(UnresolvedType fieldType) boolean
void
void
Von Klasse geerbte Methoden org.aspectj.weaver.ResolvedTypeMunger
getDeclaredSignature, getDeclaringType, getKind, getMatchingSyntheticMember, getSignature, getSourceLocation, getSuperMethodsCalled, getTypeVariableAliases, hasTypeVariableAliases, isLateMunger, needsAccessToTopmostImplementor, parameterizedFor, parameterizeWith, read, readInTypeAliases, readSourceLocation, readSuperMethodsCalled, setDeclaredSignature, setSourceLocation, setSuperMethodsCalled, setTypeVariableAliases, sharesTypeVariablesWithGenericType, toString, writeOutTypeAliases, writeSourceLocation, writeSuperMethodsCalled
-
Konstruktordetails
-
MethodDelegateTypeMunger
public MethodDelegateTypeMunger(ResolvedMember signature, UnresolvedType aspect, String implClassName, TypePattern typePattern) Construct a new type munger for @AspectJ ITD- Parameter:
signature
-aspect
-implClassName
-typePattern
-
-
MethodDelegateTypeMunger
public MethodDelegateTypeMunger(ResolvedMember signature, UnresolvedType aspect, String implClassName, TypePattern typePattern, String factoryMethodName, String factoryMethodSignature)
-
-
Methodendetails
-
equals
-
hashCode
public int hashCode() -
getDelegate
-
getDelegateFactoryMethod
-
getImplClassName
-
write
- Angegeben von:
write
in KlasseResolvedTypeMunger
- Löst aus:
IOException
-
readMethod
public static ResolvedTypeMunger readMethod(VersionedDataInputStream s, ISourceContext context, boolean isEnhanced) throws IOException - Löst aus:
IOException
-
matches
Match based on given type pattern, only classes can be matched- Setzt außer Kraft:
matches
in KlasseResolvedTypeMunger
- Parameter:
matchType
-aspectType
-- Gibt zurück:
- true if match
-
changesPublicSignature
public boolean changesPublicSignature()Needed for reweavable- Setzt außer Kraft:
changesPublicSignature
in KlasseResolvedTypeMunger
- Gibt zurück:
- true
-
setFieldType
-
specifiesDelegateFactoryMethod
public boolean specifiesDelegateFactoryMethod() -
getFactoryMethodName
-
getFactoryMethodSignature
-
getAspect
-
existsToSupportShadowMunging
public boolean existsToSupportShadowMunging()Beschreibung aus Klasse kopiert:ResolvedTypeMunger
Some type mungers are created purely to help with the implementation of shadow mungers. For example to support the cflow() pointcut we create a new cflow field in the aspect, and that is added via a BcelCflowCounterFieldAdder. During compilation we need to compare sets of type mungers, and if some only come into existence after the 'shadowy' type things have been processed, we need to ignore them during the comparison. Returning true from this method indicates the type munger exists to support 'shadowy' stuff - and so can be ignored in some comparison.- Setzt außer Kraft:
existsToSupportShadowMunging
in KlasseResolvedTypeMunger
-
tagAsReplacingExistingMethod
public void tagAsReplacingExistingMethod() -
isReplacingExistingMethod
public boolean isReplacingExistingMethod()
-