Uploaded image for project: 'Arquillian'
  1. Arquillian
  2. ARQ-2042

Bridge methods treated as observer methods in JDK8

    Details

      Description

      The Java Compiler was changed with regards to synthetic methods and Annotations.

      Before, annotations on parameters of the original generic methods were NOT copied on to the synthetic bridge method.

      Now, the original annotation is present in 2 places: the generic method (with the actual type replaced in place of the type parameter) and the synthetic method.

      When it comes to the @Observes annotation, Arquillian will try to call the synthetic method (which receives Object) with any kind of event, leading to a ClassCastException (because the bridge method does an implicit cast to the actual type and calls the real generic method)

      The commit makes Arquillian ignore synthetic methods when searching for potential event listeners.

      Discussion:
      http://discuss.arquillian.org/t/moving-from-persistence-impl-to-persistence-dbunit-with-openejb-embedded-4/294/7

      See following bugs for details:

        Gliffy Diagrams

          Attachments

            Activity

              People

              • Assignee:
                bmajsak Bartosz Majsak
                Reporter:
                bmajsak Bartosz Majsak
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: