View Javadoc

    1   /***************************************************************************************
    2    * Copyright (c) Jonas BonŽr, Alexandre Vasseur. All rights reserved.                 *
    3    * http://aspectwerkz.codehaus.org                                                    *
    4    * ---------------------------------------------------------------------------------- *
    5    * The software in this package is published under the terms of the LGPL license      *
    6    * a copy of which has been included with this distribution in the license.txt file.  *
    7    **************************************************************************************/
    8   package org.codehaus.aspectwerkz.transform;
    9
    10  import java.util.ArrayList;
    11  import java.util.List;
    12
    13  import org.codehaus.aspectwerkz.joinpoint.impl.StaticInitializerSignatureImpl;
    14  import org.objectweb.asm.Constants;
    15
    16  /***
    17   * Interface with common constants used in the transformation process.
    18   *
    19   * @author <a href="mailto:jboner@codehaus.org">Jonas BonŽr </a>
    20   */
    21  public interface TransformationConstants extends Constants {
    22      public static final List EMTPTY_ARRAY_LIST = new ArrayList();
    23
    24      // prefixes
    25      public static final String DELIMITER = "$_AW_$";
    26      public static final String ASPECTWERKZ_PREFIX = "___AW_";
    27      public static final String WRAPPER_METHOD_PREFIX = "aw$";
    28      public static final String SYNTHETIC_MEMBER_PREFIX = "aw$";
    29      public static final String ORIGINAL_METHOD_PREFIX = WRAPPER_METHOD_PREFIX + "original" + DELIMITER;
    30      public static final String STATICINITIALIZER_WRAPPER_METHOD_KEY = "aw_clinit";
    31      public static final String INVOKE_WRAPPER_METHOD_PREFIX = "INVOKE" + DELIMITER;
    32      public static final String PUTFIELD_WRAPPER_METHOD_PREFIX = "PUTFIELD" + DELIMITER;
    33      public static final String GETFIELD_WRAPPER_METHOD_PREFIX = "GETFIELD" + DELIMITER;
    34      public static final String JOIN_POINT_CLASS_SUFFIX = ASPECTWERKZ_PREFIX + "JoinPoint";
    35
    36      // internal fields
    37      public static final String SERIAL_VERSION_UID_FIELD_NAME = "serialVersionUID";
    38      public static final String TARGET_CLASS_FIELD_NAME = SYNTHETIC_MEMBER_PREFIX + "clazz";
    39      public static final String EMITTED_JOINPOINTS_FIELD_NAME = SYNTHETIC_MEMBER_PREFIX + "emittedJoinPoints";
    40
    41      // internal methods
    42      public static final String INIT_JOIN_POINTS_METHOD_NAME = WRAPPER_METHOD_PREFIX + "initJoinPoints";
    43      public static final String STATIC_INITIALIZATION_METHOD_NAME = WRAPPER_METHOD_PREFIX + "staticinitialization";
    44
    45      // method and class names
    46      public static final String INIT_METHOD_NAME = "<init>";
    47      public static final String CLINIT_METHOD_NAME = "<clinit>";
    48      public static final String CLINIT_METHOD_SIGNATURE = "()V";
    49      public static final String CLASS_LOADER_REFLECT_CLASS_NAME = "java.lang.ClassLoader";
    50      public static final String CLASS_LOADER_CLASS_NAME = "java/lang/ClassLoader";
    51      public static final String DEFINE_CLASS_METHOD_NAME = "defineClass";
    52      public static final String INVOKE_METHOD_NAME = "invoke";
    53      public static final String FOR_NAME_METHOD_NAME = "forName";
    54      public static final String LOAD_JOIN_POINT_METHOD_NAME = "loadJoinPoint";
    55      public static final String MIXINS_CLASS_NAME = "org/codehaus/aspectwerkz/aspect/management/Mixins";
    56      public static final String MIXIN_OF_METHOD_NAME = "mixinOf";
    57      public static final String MIXIN_OF_METHOD_PER_JVM_SIGNATURE = "(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Object;";
    58      public static final String MIXIN_OF_METHOD_PER_CLASS_SIGNATURE = "(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;";
    59      public static final String MIXIN_OF_METHOD_PER_INSTANCE_SIGNATURE = "(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;";
    60
    61      // java types and signatures
    62      public static final String SHORT_CLASS_NAME = "java/lang/Short";
    63      public static final String INTEGER_CLASS_NAME = "java/lang/Integer";
    64      public static final String LONG_CLASS_NAME = "java/lang/Long";
    65      public static final String FLOAT_CLASS_NAME = "java/lang/Float";
    66      public static final String DOUBLE_CLASS_NAME = "java/lang/Double";
    67      public static final String BYTE_CLASS_NAME = "java/lang/Byte";
    68      public static final String BOOLEAN_CLASS_NAME = "java/lang/Boolean";
    69      public static final String CHARACTER_CLASS_NAME = "java/lang/Character";
    70      public static final String OBJECT_CLASS_SIGNATURE = "Ljava/lang/Object;";
    71      public static final String OBJECT_CLASS_NAME = "java/lang/Object";
    72      public static final String CLASS_CLASS_SIGNATURE = "Ljava/lang/Class;";
    73      public static final String CLASS_CLASS = "java/lang/Class";
    74      public static final String THROWABLE_CLASS_NAME = "java/lang/Throwable";
    75      public static final String SHORT_VALUE_METHOD_NAME = "shortValue";
    76      public static final String INT_VALUE_METHOD_NAME = "intValue";
    77      public static final String LONG_VALUE_METHOD_NAME = "longValue";
    78      public static final String FLOAT_VALUE_METHOD_NAME = "floatValue";
    79      public static final String DOUBLE_VALUE_METHOD_NAME = "doubleValue";
    80      public static final String BYTE_VALUE_METHOD_NAME = "byteValue";
    81      public static final String BOOLEAN_VALUE_METHOD_NAME = "booleanValue";
    82      public static final String CHAR_VALUE_METHOD_NAME = "charValue";
    83      public static final String CHAR_VALUE_METHOD_SIGNATURE = "()C";
    84      public static final String BOOLEAN_VALUE_METHOD_SIGNATURE = "()Z";
    85      public static final String BYTE_VALUE_METHOD_SIGNATURE = "()B";
    86      public static final String DOUBLE_VALUE_METHOD_SIGNATURE = "()D";
    87      public static final String FLOAT_VALUE_METHOD_SIGNATURE = "()F";
    88      public static final String LONG_VALUE_METHOD_SIGNATURE = "()J";
    89      public static final String INT_VALUE_METHOD_SIGNATURE = "()I";
    90      public static final String SHORT_VALUE_METHOD_SIGNATURE = "()S";
    91      public static final String SHORT_CLASS_INIT_METHOD_SIGNATURE = "(S)V";
    92      public static final String INTEGER_CLASS_INIT_METHOD_SIGNATURE = "(I)V";
    93      public static final String LONG_CLASS_INIT_METHOD_SIGNATURE = "(J)V";
    94      public static final String FLOAT_CLASS_INIT_METHOD_SIGNATURE = "(F)V";
    95      public static final String DOUBLE_CLASS_INIT_METHOD_SIGNATURE = "(D)V";
    96      public static final String BYTE_CLASS_INIT_METHOD_SIGNATURE = "(B)V";
    97      public static final String BOOLEAN_CLASS_INIT_METHOD_SIGNATURE = "(Z)V";
    98      public static final String CHARACTER_CLASS_INIT_METHOD_SIGNATURE = "(C)V";
    99      public static final String NO_PARAMS_RETURN_VOID_METHOD_SIGNATURE = "()V";
    100     public static final String CLASS_CLASS_GETCLASSLOADER_METHOD_SIGNATURE = "()Ljava/lang/ClassLoader;";
    101     public static final String ENCLOSING_SJP_FIELD_CLASS_SIGNATURE = "Lorg/codehaus/aspectwerkz/joinpoint/EnclosingStaticJoinPoint;";
    102     public static final String L = "L";
    103     public static final String I = "I";
    104     public static final String SEMICOLON = ";";
    105
    106     public static final byte EMPTY_WRAPPER_ATTRIBUTE_VALUE_EMPTY = Byte.MIN_VALUE;
    107     public static final byte EMPTY_WRAPPER_ATTRIBUTE_VALUE_NOTEMPTY = Byte.MAX_VALUE;
    108
    109     // optim flags
    110     public static final boolean OPTIMIZED_JOIN_POINT = true;
    111     public static final boolean NON_OPTIMIZED_JOIN_POINT = false;
    112
    113     // static and member field names
    114     public static final String MIXIN_FIELD_NAME = SYNTHETIC_MEMBER_PREFIX + "MIXIN_";
    115     public static final String SIGNATURE_FIELD_NAME = "SIGNATURE";
    116     public static final String META_DATA_FIELD_NAME = "META_DATA";
    117     public static final String ASPECT_FIELD_PREFIX = "ASPECT_";
    118     public static final String STACK_FRAME_COUNTER_FIELD_NAME = "STACK_FRAME_COUNTER";
    119     public static final String INTERCEPTOR_INDEX_FIELD_NAME = "INTERCEPTOR_INDEX";
    120     public static final String CALLEE_INSTANCE_FIELD_NAME = "CALLEE";
    121     public static final String CALLER_INSTANCE_FIELD_NAME = "CALLER";
    122     public static final String ARGUMENT_FIELD = "ARGUMENT_";
    123     public static final String RETURN_VALUE_FIELD_NAME = "RETURN_VALUE";
    124     public static final String OPTIMIZED_JOIN_POINT_INSTANCE_FIELD_NAME = "OPTIMIZED_JOIN_POINT";
    125     public static final String ENCLOSING_SJP_FIELD_NAME = "ENCLOSINGSJP";
    126
    127     public static final String AROUND_INTERCEPTORS_FIELD_NAME = "AROUND_INTERCEPTORS";
    128     public static final String NR_OF_AROUND_INTERCEPTORS_FIELD_NAME = "NR_OF_AROUND_INTERCEPTORS";
    129     public static final String BEFORE_INTERCEPTORS_FIELD_NAME = "BEFORE_INTERCEPTORS";
    130     public static final String NR_OF_BEFORE_INTERCEPTORS_FIELD_NAME = "NR_OF_BEFORE_INTERCEPTORS";
    131     public static final String AFTER_INTERCEPTORS_FIELD_NAME = "AFTER_INTERCEPTORS";
    132     public static final String NR_OF_AFTER_INTERCEPTORS_FIELD_NAME = "NR_OF_AFTER_INTERCEPTORS";
    133     public static final String AFTER_RETURNING_INTERCEPTORS_FIELD_NAME = "AFTER_RETURNING_INTERCEPTORS";
    134     public static final String NR_OF_AFTER_RETURNING_INTERCEPTORS_FIELD_NAME = "NR_OF_AFTER_RETURNING_INTERCEPTORS";
    135     public static final String AFTER_THROWING_INTERCEPTORS_FIELD_NAME = "AFTER_THROWING_INTERCEPTORS";
    136     public static final String NR_OF_AFTER_THROWING_INTERCEPTORS_FIELD_NAME = "NR_OF_AFTER_THROWING_INTERCEPTORS";
    137
    138     // runtime system signatures and types
    139
    140     public static final String JOIN_POINT_MANAGER_CLASS_NAME = "org/codehaus/aspectwerkz/joinpoint/management/JoinPointManager";
    141     public static final String LOAD_JOIN_POINT_METHOD_SIGNATURE = "(ILjava/lang/Class;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;IILjava/lang/String;)V";
    142     public static final String FOR_NAME_METHOD_SIGNATURE = "(Ljava/lang/String;)Ljava/lang/Class;";
    143     public static final String METHOD_SIGNATURE_IMPL_CLASS_NAME = "org/codehaus/aspectwerkz/joinpoint/impl/MethodSignatureImpl";
    144     public static final String METHOD_SIGNATURE_IMPL_CLASS_SIGNATURE = "Lorg/codehaus/aspectwerkz/joinpoint/impl/MethodSignatureImpl;";
    145     public static final String CONSTRUCTOR_SIGNATURE_IMPL_CLASS_SIGNATURE = "Lorg/codehaus/aspectwerkz/joinpoint/impl/ConstructorSignatureImpl;";
    146     public static final String FIELD_SIGNATURE_IMPL_CLASS_SIGNATURE = "Lorg/codehaus/aspectwerkz/joinpoint/impl/FieldSignatureImpl;";
    147     public static final String HANDLER_SIGNATURE_IMPL_CLASS_SIGNATURE = "Lorg/codehaus/aspectwerkz/joinpoint/impl/CatchClauseSignatureImpl;";
    148     public static final String NEW_METHOD_SIGNATURE_METHOD_SIGNATURE = "(Ljava/lang/Class;I)Lorg/codehaus/aspectwerkz/joinpoint/impl/MethodSignatureImpl;";
    149     public static final String NEW_CONSTRUCTOR_SIGNATURE_METHOD_SIGNATURE = "(Ljava/lang/Class;I)Lorg/codehaus/aspectwerkz/joinpoint/impl/ConstructorSignatureImpl;";
    150     public static final String NEW_FIELD_SIGNATURE_METHOD_SIGNATURE = "(Ljava/lang/Class;I)Lorg/codehaus/aspectwerkz/joinpoint/impl/FieldSignatureImpl;";
    151     public static final String NEW_HANDLER_SIGNATURE_METHOD_SIGNATURE = "(Ljava/lang/Class;)Lorg/codehaus/aspectwerkz/joinpoint/impl/CatchClauseSignatureImpl;";
    152     public static final String SIGNATURE_FACTORY_CLASS = "org/codehaus/aspectwerkz/joinpoint/management/SignatureFactory";
    153     public static final String ASPECTS_CLASS_NAME = "org/codehaus/aspectwerkz/aspect/management/Aspects";
    154     public static final String ASPECT_OF_METHOD_NAME = "aspect$Of";
    155     public static final String ASPECT_OF_PER_JVM_METHOD_SIGNATURE = "(Ljava/lang/ClassLoader;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;";
    156     public static final String GETCLASSLOADER_METHOD_NAME = "getClassLoader";
    157     public static final String ASPECT_OF_PER_CLASS_METHOD_SIGNATURE = "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;";
    158     public static final String ASPECT_OF_PER_INSTANCE_METHOD_SIGNATURE = "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;";
    159     public static final String GET_CFLOW_STACK_METHOD_NAME = "getCflowStack";
    160     public static final String GET_CFLOW_STACK_METHOD_SIGNATURE = "(Ljava/lang/Class;)Lorg/codehaus/aspectwerkz/CflowStack;";
    161     public static final String GET_ENCLOSING_SJP_METHOD_NAME = "getEnclosingStaticJoinPoint";
    162     public static final String GET_ENCLOSING_SJP_METHOD_SIGNATURE = "()Lorg/codehaus/aspectwerkz/joinpoint/EnclosingStaticJoinPoint;";
    163     public static final String GET_SIGNATURE_METHOD_NAME = "getSignature";
    164     public static final String GET_SIGNATURE_METHOD_SIGNATURE = "()Lorg/codehaus/aspectwerkz/joinpoint/Signature;";
    165     public static final String GET_RTTI_METHOD_NAME = "getRtti";
    166     public static final String GET_RTTI_METHOD_SIGNATURE = "()Lorg/codehaus/aspectwerkz/joinpoint/Rtti;";
    167     public static final String PROCEED_METHOD_NAME = "proceed";
    168     public static final String PROCEED_METHOD_SIGNATURE = "()Ljava/lang/Object;";
    169     public static final String COPY_METHOD_NAME = "copy";
    170     public static final String COPY_METHOD_SIGNATURE = "()Lorg/codehaus/aspectwerkz/joinpoint/StaticJoinPoint;";
    171     public static final String ADD_META_DATA_METHOD_NAME = "addMetaData";
    172     public static final String ADD_META_DATA_METHOD_SIGNATURE = "(Ljava/lang/Object;Ljava/lang/Object;)V";
    173     public static final String MAP_CLASS_SIGNATURE = "Ljava/util/Map;";
    174     public static final String MAP_CLASS_NAME = "java/util/Map";
    175     public static final String PUT_METHOD_NAME = "put";
    176     public static final String PUT_METHOD_SIGNATURE = "(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;";
    177     public static final String GET_META_DATA_METHOD_NAME = "getMetaData";
    178     public static final String GET_TARGET_METHOD_NAME = "getTarget";
    179     public static final String GET_THIS_METHOD_NAME = "getThis";
    180     public static final String GET_CALLER_METHOD_NAME = "getCaller";
    181     public static final String GET_CALLEE_METHOD_NAME = "getCallee";
    182     public static final String GET_METHOD_NAME = "get";
    183     public static final String GET_METHOD_SIGNATURE = "(Ljava/lang/Object;)Ljava/lang/Object;";
    184     public static final String GET_META_DATA_METHOD_SIGNATURE = "(Ljava/lang/Object;)Ljava/lang/Object;";
    185     public static final String NEW_METHOD_SIGNATURE_METHOD_NAME = "newMethodSignature";
    186     public static final String NEW_CONSTRUCTOR_SIGNATURE_METHOD_NAME = "newConstructorSignature";
    187     public static final String NEW_FIELD_SIGNATURE_METHOD_NAME = "newFieldSignature";
    188     public static final String NEW_CATCH_CLAUSE_SIGNATURE_METHOD_NAME = "newCatchClauseSignature";
    189     public static final String NEW_ENCLOSING_SJP_METHOD_NAME = "newEnclosingStaticJoinPoint";
    190     public static final String NEW_ENCLOSING_SJP_METHOD_SIGNATURE = "(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;)Lorg/codehaus/aspectwerkz/joinpoint/EnclosingStaticJoinPoint;";
    191     public static final String HASH_MAP_CLASS_NAME = "java/util/HashMap";
    192     public static final String NO_PARAM_RETURN_VOID_SIGNATURE = "()V";
    193     public static final String CLASS_NOT_FOUND_EXCEPTION_CLASS_NAME = "java/lang/ClassNotFoundException";
    194     public static final String GET_CALLER_CLASS_METHOD_NAME = "getCallerClass";
    195     public static final String GET_CALLER_CLASS_METHOD_SIGNATURE = "()Ljava/lang/Class;";
    196     public static final String GET_CALLEE_CLASS_METHOD_NAME = "getCalleeClass";
    197     public static final String GET_CALLEE_CLASS_METHOD_SIGNATURE = "()Ljava/lang/Class;";
    198     public static final String GET_TARGET_CLASS_METHOD_NAME = "getTargetClass";
    199     public static final String GET_TARGET_CLASS_METHOD_SIGNATURE = "()Ljava/lang/Class;";
    200     public static final String GET_TYPE_METHOD_NAME = "getType";
    201     public static final String GET_TYPE_METHOD_SIGNATURE = "()Lorg/codehaus/aspectwerkz/joinpoint/management/JoinPointType;";
    202     public static final String RESET_METHOD_NAME = "reset";
    203     public static final String RUNTIME_EXCEPTION_CLASS_NAME = "java/lang/RuntimeException";
    204     public static final String RUNTIME_EXCEPTION_INIT_METHOD_SIGNATURE = "(Ljava/lang/String;)V";
    205     public static final String IS_IN_CFLOW_METOD_NAME = "isInCflow";
    206     public static final String IS_IN_CFLOW_METOD_SIGNATURE = "()Z";
    207     public static final String STATIC_JOIN_POINT_CLASS_NAME = "org/codehaus/aspectwerkz/joinpoint/StaticJoinPoint";
    208     public static final String STATIC_JOIN_POINT_JAVA_CLASS_NAME = "org.codehaus.aspectwerkz.joinpoint.StaticJoinPoint";
    209     public static final String JOIN_POINT_CLASS_NAME = "org/codehaus/aspectwerkz/joinpoint/JoinPoint";
    210     public static final String JOIN_POINT_CLASS_SIGNATURE = "Lorg/codehaus/aspectwerkz/joinpoint/JoinPoint;";
    211     public static final String JOIN_POINT_JAVA_CLASS_NAME = "org.codehaus.aspectwerkz.joinpoint.JoinPoint";
    212     public static final String NO_PARAMS_SIGNATURE = "()";
    213
    214     public static final String METHOD_RTTI_IMPL_CLASS_SIGNATURE = "Lorg/codehaus/aspectwerkz/joinpoint/impl/MethodRttiImpl;";
    215     public static final String METHOD_RTTI_IMPL_CLASS_NAME = "org/codehaus/aspectwerkz/joinpoint/impl/MethodRttiImpl";
    216     public static final String METHOD_RTTI_IMPL_INIT_SIGNATURE = "(Lorg/codehaus/aspectwerkz/joinpoint/impl/MethodSignatureImpl;Ljava/lang/Object;Ljava/lang/Object;)V";
    217     public static final String CONSTRUCTOR_RTTI_IMPL_CLASS_SIGNATURE = "Lorg/codehaus/aspectwerkz/joinpoint/impl/ConstructorRttiImpl;";
    218     public static final String CONSTRUCTOR_RTTI_IMPL_CLASS_NAME = "org/codehaus/aspectwerkz/joinpoint/impl/ConstructorRttiImpl";
    219     public static final String CONSTRUCTOR_RTTI_IMPL_INIT_SIGNATURE = "(Lorg/codehaus/aspectwerkz/joinpoint/impl/ConstructorSignatureImpl;Ljava/lang/Object;Ljava/lang/Object;)V";
    220     public static final String FIELD_RTTI_IMPL_CLASS_SIGNATURE = "Lorg/codehaus/aspectwerkz/joinpoint/impl/FieldRttiImpl;";
    221     public static final String FIELD_RTTI_IMPL_CLASS_NAME = "org/codehaus/aspectwerkz/joinpoint/impl/FieldRttiImpl";
    222     public static final String FIELD_RTTI_IMPL_INIT_SIGNATURE = "(Lorg/codehaus/aspectwerkz/joinpoint/impl/FieldSignatureImpl;Ljava/lang/Object;Ljava/lang/Object;)V";
    223     public static final String HANDLER_RTTI_IMPL_CLASS_SIGNATURE = "Lorg/codehaus/aspectwerkz/joinpoint/impl/CatchClauseRttiImpl;";
    224     public static final String HANDLER_RTTI_IMPL_CLASS_NAME = "org/codehaus/aspectwerkz/joinpoint/impl/CatchClauseRttiImpl";
    225     public static final String HANDLER_RTTI_IMPL_INIT_SIGNATURE = "(Lorg/codehaus/aspectwerkz/joinpoint/impl/CatchClauseSignatureImpl;Ljava/lang/Object;Ljava/lang/Object;)V";
    226     public static final String SET_PARAMETER_VALUES_METHOD_NAME = "setParameterValues";
    227     public static final String SET_PARAMETER_VALUES_METHOD_SIGNATURE = "([Ljava/lang/Object;)V";
    228     public static final String SET_PARAMETER_VALUE_METHOD_NAME = "setParameterValue";
    229     public static final String SET_PARAMETER_VALUE_METHOD_SIGNATURE = "(Ljava/lang/Object;)V";
    230     public static final String SET_FIELD_VALUE_METHOD_NAME = "setFieldValue";
    231     public static final String SET_FIELD_VALUE_METHOD_SIGNATURE = "(Ljava/lang/Object;)V";
    232     public static final String SET_RETURN_VALUE_METHOD_NAME = "setReturnValue";
    233     public static final String SET_RETURN_VALUE_METHOD_SIGNATURE = "(Ljava/lang/Object;)V";
    234     public static final String STATICINITIALIZATION_RTTI_IMPL_CLASS_NAME = "org/codehaus/aspectwerkz/joinpoint/impl/StaticInitializationRttiImpl";
    235     public static final String STATICINITIALIZATION_RTTI_IMPL_INIT_SIGNATURE = "(Lorg/codehaus/aspectwerkz/joinpoint/impl/StaticInitializerSignatureImpl;)V";
    236
    237     public static final String HAS_INSTANCE_LEVEL_ASPECT_INTERFACE_NAME = "org/codehaus/aspectwerkz/aspect/management/HasInstanceLevelAspect";
    238     public static final String INSTANCE_LEVEL_ASPECT_MAP_FIELD_NAME = SYNTHETIC_MEMBER_PREFIX + "instanceLevelAspects";
    239     public static final String INSTANCE_LEVEL_ASPECT_MAP_FIELD_SIGNATURE = "Ljava/util/Map;";
    240     public static final String GET_INSTANCE_LEVEL_ASPECT_METHOD_NAME = WRAPPER_METHOD_PREFIX + "getAspect";
    241     public static final String GET_INSTANCE_LEVEL_ASPECT_METHOD_SIGNATURE = "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;";
    242
    243     public static final String ADVISABLE_CLASS_JAVA_NAME = "org.codehaus.aspectwerkz.intercept.Advisable";
    244     public static final String ADVISABLE_CLASS_NAME = "org/codehaus/aspectwerkz/intercept/Advisable";
    245     public static final String INTERCEPT_INVOKE_METHOD_NAME = "invoke";
    246     public static final String AROUND_ADVICE_INVOKE_METHOD_SIGNATURE = "(Lorg/codehaus/aspectwerkz/joinpoint/JoinPoint;)Ljava/lang/Object;";
    247     public static final String BEFORE_ADVICE_INVOKE_METHOD_SIGNATURE = "(Lorg/codehaus/aspectwerkz/joinpoint/JoinPoint;)V";
    248     public static final String AFTER_ADVICE_INVOKE_METHOD_SIGNATURE = "(Lorg/codehaus/aspectwerkz/joinpoint/JoinPoint;)V";
    249     public static final String AFTER_RETURNING_ADVICE_INVOKE_METHOD_SIGNATURE = "(Lorg/codehaus/aspectwerkz/joinpoint/JoinPoint;Ljava/lang/Object;)V";
    250     public static final String AFTER_THROWING_ADVICE_INVOKE_METHOD_SIGNATURE = "(Lorg/codehaus/aspectwerkz/joinpoint/JoinPoint;Ljava/lang/Throwable;)V";
    251     public static final String AROUND_ADVICE_CLASS_NAME = "org/codehaus/aspectwerkz/intercept/AroundAdvice";
    252     public static final String BEFORE_ADVICE_CLASS_NAME = "org/codehaus/aspectwerkz/intercept/BeforeAdvice";
    253     public static final String AFTER_ADVICE_CLASS_NAME = "org/codehaus/aspectwerkz/intercept/AfterAdvice";
    254     public static final String AFTER_RETURNING_ADVICE_CLASS_NAME = "org/codehaus/aspectwerkz/intercept/AfterReturningAdvice";
    255     public static final String AFTER_THROWING_ADVICE_CLASS_NAME = "org/codehaus/aspectwerkz/intercept/AfterThrowingAdvice";
    256     public static final String AROUND_ADVICE_ARRAY_CLASS_SIGNATURE = "[Lorg/codehaus/aspectwerkz/intercept/AroundAdvice;";
    257     public static final String BEFORE_ADVICE_ARRAY_CLASS_SIGNATURE = "[Lorg/codehaus/aspectwerkz/intercept/BeforeAdvice;";
    258     public static final String AFTER_ADVICE_ARRAY_CLASS_SIGNATURE = "[Lorg/codehaus/aspectwerkz/intercept/AfterAdvice;";
    259     public static final String AFTER_RETURNING_ADVICE_ARRAY_CLASS_SIGNATURE = "[Lorg/codehaus/aspectwerkz/intercept/AfterReturningAdvice;";
    260     public static final String AFTER_THROWING_ADVICE_ARRAY_CLASS_SIGNATURE = "[Lorg/codehaus/aspectwerkz/intercept/AfterThrowingAdvice;";
    261     public static final String GET_AROUND_ADVICE_METHOD_NAME = "aw$getAroundAdvice";
    262     public static final String GET_AROUND_ADVICE_METHOD_SIGNATURE = "(I)[Lorg/codehaus/aspectwerkz/intercept/AroundAdvice;";
    263     public static final String GET_BEFORE_ADVICE_METHOD_NAME = "aw$getBeforeAdvice";
    264     public static final String GET_BEFORE_ADVICE_METHOD_SIGNATURE = "(I)[Lorg/codehaus/aspectwerkz/intercept/BeforeAdvice;";
    265     public static final String GET_AFTER_ADVICE_METHOD_NAME = "aw$getAfterAdvice";
    266     public static final String GET_AFTER_ADVICE_METHOD_SIGNATURE = "(I)[Lorg/codehaus/aspectwerkz/intercept/AfterAdvice;";
    267     public static final String GET_AFTER_RETURNING_ADVICE_METHOD_NAME = "aw$getAfterReturningAdvice";
    268     public static final String GET_AFTER_RETURNING_ADVICE_METHOD_SIGNATURE = "(I)[Lorg/codehaus/aspectwerkz/intercept/AfterReturningAdvice;";
    269     public static final String GET_AFTER_THROWING_ADVICE_METHOD_NAME = "aw$getAfterThrowingAdvice";
    270     public static final String GET_AFTER_THROWING_ADVICE_METHOD_SIGNATURE = "(I)[Lorg/codehaus/aspectwerkz/intercept/AfterThrowingAdvice;";
    271
    272     public static final int MODIFIER_INVOKEINTERFACE = 0x10000000;
    273     public static final int INDEX_NOTAVAILABLE = -1;
    274
    275
    276     public static final String STATICINITIALIZATION_SIGNATURE_IMPL_CLASS_NAME = "org/codehaus/aspectwerkz/joinpoint/impl/StaticInitializerSignatureImpl";
    277     public static final String STATICINITIALIZATION_SIGNATURE_IMPL_CLASS_SIGNATURE = "Lorg/codehaus/aspectwerkz/joinpoint/impl/StaticInitializerSignatureImpl;";
    278     public static final String NEW_STATICINITIALIZATION_SIGNATURE_METHOD_SIGNATURE = "(Ljava/lang/Class;)Lorg/codehaus/aspectwerkz/joinpoint/impl/StaticInitializerSignatureImpl;";
    279     public static final String NEW_STATICINITIALIZATION_SIGNATURE_METHOD_NAME = "newStaticInitializationSignature";
    280 }