Uploaded image for project: 'JBoss AOP'
  1. JBoss AOP
  2. JBAOP-339

FieldAccess for inherited fields does not get replaced

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: 1.5.2.GA
    • Fix Version/s: 1.5.3.GA
    • Component/s: None
    • Labels:
      None
    • Environment:

      JBoss 4.0.5.GA
      JBoss AOP 1.5.2.GA load time weaving
      Java HotSpot(TM) 64-Bit Server VM (build 1.6.0-b105, mixed mode)

      Description

      I'm seeing the following unexpected behavior

      Code:

      public abstract class A
      {
      @MyFieldAnnotation
      protected Object myField;
      ...
      }

      public abstract class B<Z> extends A
      {
      ...
      }

      public class C extends B<Y>
      {
      ...
      }

      @InterceptorDef(scope = Scope.PER_VM)
      @Bind(pointcut = "get(* *->@MyFieldAnnotation)")
      public class MyFieldInterceptor implements Interceptor
      {
      ...
      }

      When i try to call myField on an instance of C from within a method in C my interceptor is not run. However if I duplicate the annotated field in class B like this...

      Code:

      public abstract class A
      {
      @MyFieldAnnotation
      protected Object myField;
      ...
      }

      public abstract class B<Z> extends A
      {
      @MyFieldAnnotation
      protected Object myField;
      ...
      }

      ...then the interceptor works when calling myField from an instance of C. I'm guess that since B is generic some sort of erasure of the annotation is happening. As a work around in the meantime I've just duplicated the annotated field. I just wanted to know whether this issue was known to the developers (if not I'll post it to jira) and whether or not there was some way to get this working without the need to duplicate that field.

      Thanks

        Gliffy Diagrams

          Attachments

          1. testcase.tar
            10 kB
          2. testcase2.tar
            20 kB

            Issue Links

              Activity

                People

                • Assignee:
                  kabirkhan Kabir Khan
                  Reporter:
                  dunks80 dunks80
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  0 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: