Package org.aspectj.weaver
Class NameMangler
java.lang.Object
org.aspectj.weaver.NameMangler
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
static final String
static final String
static final String
static final UnresolvedType
static final String
static final UnresolvedType
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final char[]
static final String
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic String
adviceName
(String nameAsIdentifier, AdviceKind kind, int adviceSeqNumber, int pcdHash) The name of methods corresponding to advice declarations Of the form: "ajc$[AdviceKind]$[AspectName]$[NumberOfAdviceInAspect]$[PointcutHash]"static String
aroundAdviceMethodName
(Member shadowSig, String suffixTag) static String
aroundShadowMethodName
(Member shadowSig, String suffixTag) static String
static String
static String
getExtractableName
(Member shadowSignature) static String
inlineAccessMethodForFieldGet
(String name, UnresolvedType objectType, UnresolvedType aspectType) static String
inlineAccessMethodForFieldSet
(String name, UnresolvedType objectType, UnresolvedType aspectType) static String
inlineAccessMethodForMethod
(String name, UnresolvedType objectType, UnresolvedType aspectType) static String
interFieldClassField
(int modifiers, UnresolvedType aspectType, UnresolvedType classType, String name) This field goes on the class the field is declared ontostatic String
interFieldGetDispatcher
(UnresolvedType aspectType, UnresolvedType onType, String name) This static method goes on the aspect that declares the inter-type fieldstatic String
interFieldInitializer
(UnresolvedType aspectType, UnresolvedType classType, String name) This static void method goes on the aspect that declares the inter-type field and is called from the appropriate place (target's initializer, or clinit, or topmost implementer's inits), to initialize the field;static String
interFieldInterfaceField
(UnresolvedType aspectType, UnresolvedType interfaceType, String name) This field goes on top-most implementers of the interface the field is declared ontostatic String
interFieldInterfaceGetter
(UnresolvedType aspectType, UnresolvedType interfaceType, String name) This instance method goes on the interface the field is declared onto as well as its top-most implementorsstatic String
interFieldInterfaceSetter
(UnresolvedType aspectType, UnresolvedType interfaceType, String name) This instance method goes on the interface the field is declared onto as well as its top-most implementorsstatic String
interFieldSetDispatcher
(UnresolvedType aspectType, UnresolvedType onType, String name) This static method goes on the aspect that declares the inter-type fieldstatic String
interMethod
(int modifiers, UnresolvedType aspectType, UnresolvedType classType, String name) This method goes on the target type of the inter-type method.static String
interMethodBody
(UnresolvedType aspectType, UnresolvedType classType, String name) This static method goes on the declaring aspect of the inter-type method.static String
interMethodDispatcher
(UnresolvedType aspectType, UnresolvedType classType, String name) This static method goes on the declaring aspect of the inter-type method.static boolean
isSyntheticMethod
(String methodName, boolean declaredInAspect) static String
itdAtDeclareParentsField
(UnresolvedType aspectType, UnresolvedType itdType) static String
makeClosureClassName
(UnresolvedType enclosingType, String suffix) static String
static String
static String
perObjectInterfaceField
(UnresolvedType aspectType) static String
perObjectInterfaceGet
(UnresolvedType aspectType) static String
perObjectInterfaceSet
(UnresolvedType aspectType) static String
perTypeWithinFieldForTarget
(UnresolvedType aspectType) static String
perTypeWithinLocalAspectOf
(UnresolvedType aspectType) static String
postIntroducedConstructor
(UnresolvedType aspectType, UnresolvedType targetType) This static method goes on the declaring aspect of the inter-type constructor.static String
preIntroducedConstructor
(UnresolvedType aspectType, UnresolvedType targetType) This static method goes on the declaring aspect of the inter-type constructor.static String
privilegedAccessMethodForFieldGet
(String name, UnresolvedType objectType, UnresolvedType aspectType) Create the old style (<1.6.9) format getter name which includes the aspect requesting access and the type containing the field in the name of the type.static String
privilegedAccessMethodForFieldSet
(String name, UnresolvedType objectType, UnresolvedType aspectType) Create the old style (<1.6.9) format setter name which includes the aspect requesting access and the type containing the field in the name of the type.static String
privilegedAccessMethodForMethod
(String name, UnresolvedType objectType, UnresolvedType aspectType) static String
proceedMethodName
(String adviceMethodName) static String
protectedDispatchMethod
(UnresolvedType classType, String name) This static method goes on the target class of the inter-type method.static String
superDispatchMethod
(UnresolvedType classType, String name) This static method goes on the target class of the inter-type method.
-
Field Details
-
PREFIX
- See Also:
-
PREFIX_CHARS
public static final char[] PREFIX_CHARS -
ITD_PREFIX
- See Also:
-
CFLOW_STACK_TYPE
- See Also:
-
CFLOW_COUNTER_TYPE
- See Also:
-
CFLOW_STACK_UNRESOLVEDTYPE
-
CFLOW_COUNTER_UNRESOLVEDTYPE
-
SOFT_EXCEPTION_TYPE
- See Also:
-
PERSINGLETON_FIELD_NAME
- See Also:
-
PERCFLOW_FIELD_NAME
- See Also:
-
PERCFLOW_PUSH_METHOD
- See Also:
-
PEROBJECT_BIND_METHOD
- See Also:
-
PERTYPEWITHIN_GETINSTANCE_METHOD
- See Also:
-
PERTYPEWITHIN_CREATEASPECTINSTANCE_METHOD
- See Also:
-
PERTYPEWITHIN_WITHINTYPEFIELD
- See Also:
-
PERTYPEWITHIN_GETWITHINTYPENAME_METHOD
- See Also:
-
AJC_PRE_CLINIT_NAME
- See Also:
-
AJC_POST_CLINIT_NAME
- See Also:
-
INITFAILURECAUSE_FIELD_NAME
- See Also:
-
ANNOTATION_CACHE_FIELD_NAME
- See Also:
-
-
Constructor Details
-
NameMangler
public NameMangler()
-
-
Method Details
-
isSyntheticMethod
-
perObjectInterfaceGet
-
perObjectInterfaceSet
-
perObjectInterfaceField
-
perTypeWithinFieldForTarget
-
perTypeWithinLocalAspectOf
-
itdAtDeclareParentsField
-
privilegedAccessMethodForMethod
public static String privilegedAccessMethodForMethod(String name, UnresolvedType objectType, UnresolvedType aspectType) -
privilegedAccessMethodForFieldGet
public static String privilegedAccessMethodForFieldGet(String name, UnresolvedType objectType, UnresolvedType aspectType) Create the old style (<1.6.9) format getter name which includes the aspect requesting access and the type containing the field in the name of the type. At 1.6.9 and above the name is simply ajc$get$<fieldname> -
privilegedAccessMethodForFieldSet
public static String privilegedAccessMethodForFieldSet(String name, UnresolvedType objectType, UnresolvedType aspectType) Create the old style (<1.6.9) format setter name which includes the aspect requesting access and the type containing the field in the name of the type. At 1.6.9 and above the name is simply ajc$set$<fieldname> -
inlineAccessMethodForMethod
public static String inlineAccessMethodForMethod(String name, UnresolvedType objectType, UnresolvedType aspectType) -
inlineAccessMethodForFieldGet
public static String inlineAccessMethodForFieldGet(String name, UnresolvedType objectType, UnresolvedType aspectType) -
inlineAccessMethodForFieldSet
public static String inlineAccessMethodForFieldSet(String name, UnresolvedType objectType, UnresolvedType aspectType) -
adviceName
public static String adviceName(String nameAsIdentifier, AdviceKind kind, int adviceSeqNumber, int pcdHash) The name of methods corresponding to advice declarations Of the form: "ajc$[AdviceKind]$[AspectName]$[NumberOfAdviceInAspect]$[PointcutHash]" -
interFieldInterfaceField
public static String interFieldInterfaceField(UnresolvedType aspectType, UnresolvedType interfaceType, String name) This field goes on top-most implementers of the interface the field is declared onto -
interFieldInterfaceSetter
public static String interFieldInterfaceSetter(UnresolvedType aspectType, UnresolvedType interfaceType, String name) This instance method goes on the interface the field is declared onto as well as its top-most implementors -
interFieldInterfaceGetter
public static String interFieldInterfaceGetter(UnresolvedType aspectType, UnresolvedType interfaceType, String name) This instance method goes on the interface the field is declared onto as well as its top-most implementors -
interFieldSetDispatcher
public static String interFieldSetDispatcher(UnresolvedType aspectType, UnresolvedType onType, String name) This static method goes on the aspect that declares the inter-type field -
interFieldGetDispatcher
public static String interFieldGetDispatcher(UnresolvedType aspectType, UnresolvedType onType, String name) This static method goes on the aspect that declares the inter-type field -
interFieldClassField
public static String interFieldClassField(int modifiers, UnresolvedType aspectType, UnresolvedType classType, String name) This field goes on the class the field is declared onto -
interFieldInitializer
public static String interFieldInitializer(UnresolvedType aspectType, UnresolvedType classType, String name) This static void method goes on the aspect that declares the inter-type field and is called from the appropriate place (target's initializer, or clinit, or topmost implementer's inits), to initialize the field; -
interMethod
public static String interMethod(int modifiers, UnresolvedType aspectType, UnresolvedType classType, String name) This method goes on the target type of the inter-type method. (and possibly the topmost-implemeters, if the target type is an interface) -
interMethodDispatcher
public static String interMethodDispatcher(UnresolvedType aspectType, UnresolvedType classType, String name) This static method goes on the declaring aspect of the inter-type method. -
interMethodBody
public static String interMethodBody(UnresolvedType aspectType, UnresolvedType classType, String name) This static method goes on the declaring aspect of the inter-type method. -
preIntroducedConstructor
This static method goes on the declaring aspect of the inter-type constructor. -
postIntroducedConstructor
public static String postIntroducedConstructor(UnresolvedType aspectType, UnresolvedType targetType) This static method goes on the declaring aspect of the inter-type constructor. -
superDispatchMethod
This static method goes on the target class of the inter-type method. -
protectedDispatchMethod
This static method goes on the target class of the inter-type method. -
makeName
-
makeName
-
cflowStack
-
cflowCounter
-
makeClosureClassName
-
aroundShadowMethodName
-
aroundAdviceMethodName
-
getExtractableName
-
proceedMethodName
-