Package org.aspectj.weaver
Klasse ResolvedTypeMunger
java.lang.Object
org.aspectj.weaver.ResolvedTypeMunger
- Bekannte direkte Unterklassen:
AnnotationOnTypeMunger
,MethodDelegateTypeMunger
,MethodDelegateTypeMunger.FieldHostTypeMunger
,NewConstructorTypeMunger
,NewFieldTypeMunger
,NewMemberClassTypeMunger
,NewMethodTypeMunger
,NewParentTypeMunger
,PerObjectInterfaceTypeMunger
,PerTypeWithinTargetTypeMunger
,PrivilegedAccessMunger
This is an abstraction over method/field introduction. It might not have the chops to handle other inter-type declarations. This
is the thing that is used on the eclipse side and serialized into a ConcreteTypeMunger.
-
Verschachtelte Klassen - Übersicht
-
Feldübersicht
Modifizierer und TypFeldBeschreibungstatic final ResolvedTypeMunger.Kind
static final ResolvedTypeMunger.Kind
protected ResolvedMember
The declared signature is filled in when a type munger is parameterized for application to a particular type.static final ResolvedTypeMunger.Kind
static final ResolvedTypeMunger.Kind
static final ResolvedTypeMunger.Kind
protected ResolvedTypeMunger.Kind
static final ResolvedTypeMunger.Kind
static final ResolvedTypeMunger.Kind
static final ResolvedTypeMunger.Kind
static final ResolvedTypeMunger.Kind
static final ResolvedTypeMunger.Kind
static final ResolvedTypeMunger.Kind
static final ResolvedTypeMunger.Kind
protected ResolvedMember
static final String
-
Konstruktorübersicht
-
Methodenübersicht
Modifizierer und TypMethodeBeschreibungboolean
boolean
Some type mungers are created purely to help with the implementation of shadow mungers.getKind()
getMatchingSyntheticMember
(Member member, ResolvedType aspectType) boolean
boolean
A late munger has to be done after shadow munging since which shadows are matched can affect the operation of the late munger. e.g. perobjectinterfacemungerboolean
matches
(ResolvedType matchType, ResolvedType aspectType) boolean
parameterizedFor
(ResolvedType target) Parameterizes a resolved type munger for a particular usage of its target type (this is used when the target type is generic and the ITD shares type variables with the target) see ConcreteTypeMunger.parameterizedForparameterizeWith
(Map<String, UnresolvedType> m, World w) static ResolvedTypeMunger
read
(VersionedDataInputStream s, ISourceContext context) protected static ISourceLocation
protected static Set<ResolvedMember>
void
void
void
protected void
setTypeVariableAliases
(List<String> typeVariableAliases) boolean
return true if type variables are specified with the target type for this ITD. e.g. this would return true: "int I<A,B>.m() { return 42; }"toString()
abstract void
protected final void
protected final void
protected final void
-
Felddetails
-
kind
-
signature
-
declaredSignature
The declared signature is filled in when a type munger is parameterized for application to a particular type. It represents the signature originally declared in the source file. -
typeVariableAliases
-
Field
-
Method
-
Constructor
-
PerObjectInterface
-
PrivilegedAccess
-
Parent
-
PerTypeWithinInterface
-
AnnotationOnType
-
MethodDelegate
-
FieldHost
-
MethodDelegate2
-
InnerClass
-
SUPER_DISPATCH_NAME
- Siehe auch:
-
-
Konstruktordetails
-
ResolvedTypeMunger
-
-
Methodendetails
-
setSourceLocation
-
getSourceLocation
-
matches
-
toString
-
read
public static ResolvedTypeMunger read(VersionedDataInputStream s, ISourceContext context) throws IOException - Löst aus:
IOException
-
readSuperMethodsCalled
protected static Set<ResolvedMember> readSuperMethodsCalled(VersionedDataInputStream s) throws IOException - Löst aus:
IOException
-
writeSuperMethodsCalled
- Löst aus:
IOException
-
readSourceLocation
- Löst aus:
IOException
-
writeSourceLocation
- Löst aus:
IOException
-
write
- Löst aus:
IOException
-
getKind
-
setSuperMethodsCalled
-
getSuperMethodsCalled
-
getSignature
-
getMatchingSyntheticMember
-
changesPublicSignature
public boolean changesPublicSignature() -
needsAccessToTopmostImplementor
public boolean needsAccessToTopmostImplementor() -
readInTypeAliases
- Löst aus:
IOException
-
writeOutTypeAliases
- Löst aus:
IOException
-
getTypeVariableAliases
-
setTypeVariableAliases
-
hasTypeVariableAliases
public boolean hasTypeVariableAliases() -
parameterizedFor
Parameterizes a resolved type munger for a particular usage of its target type (this is used when the target type is generic and the ITD shares type variables with the target) see ConcreteTypeMunger.parameterizedFor -
setDeclaredSignature
-
getDeclaredSignature
-
isLateMunger
public boolean isLateMunger()A late munger has to be done after shadow munging since which shadows are matched can affect the operation of the late munger. e.g. perobjectinterfacemunger -
existsToSupportShadowMunging
public boolean existsToSupportShadowMunging()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. -
parameterizeWith
-
getDeclaringType
-