Class NameMangler

java.lang.Object
org.aspectj.weaver.NameMangler

public class NameMangler extends Object
  • Field Details

  • Constructor Details

    • NameMangler

      public NameMangler()
  • Method Details

    • isSyntheticMethod

      public static boolean isSyntheticMethod(String methodName, boolean declaredInAspect)
    • perObjectInterfaceGet

      public static String perObjectInterfaceGet(UnresolvedType aspectType)
    • perObjectInterfaceSet

      public static String perObjectInterfaceSet(UnresolvedType aspectType)
    • perObjectInterfaceField

      public static String perObjectInterfaceField(UnresolvedType aspectType)
    • perTypeWithinFieldForTarget

      public static String perTypeWithinFieldForTarget(UnresolvedType aspectType)
    • perTypeWithinLocalAspectOf

      public static String perTypeWithinLocalAspectOf(UnresolvedType aspectType)
    • itdAtDeclareParentsField

      public static String itdAtDeclareParentsField(UnresolvedType aspectType, UnresolvedType itdType)
    • 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

      public static String preIntroducedConstructor(UnresolvedType aspectType, UnresolvedType targetType)
      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

      public static String superDispatchMethod(UnresolvedType classType, String name)
      This static method goes on the target class of the inter-type method.
    • protectedDispatchMethod

      public static String protectedDispatchMethod(UnresolvedType classType, String name)
      This static method goes on the target class of the inter-type method.
    • makeName

      public static String makeName(String s1, String s2, String s3)
    • makeName

      public static String makeName(String s1, String s2, String s3, String s4)
    • cflowStack

      public static String cflowStack(CrosscuttingMembers xcut)
    • cflowCounter

      public static String cflowCounter(CrosscuttingMembers xcut)
    • makeClosureClassName

      public static String makeClosureClassName(UnresolvedType enclosingType, String suffix)
    • aroundShadowMethodName

      public static String aroundShadowMethodName(Member shadowSig, String suffixTag)
    • aroundAdviceMethodName

      public static String aroundAdviceMethodName(Member shadowSig, String suffixTag)
    • getExtractableName

      public static String getExtractableName(Member shadowSignature)
    • proceedMethodName

      public static String proceedMethodName(String adviceMethodName)