Uploaded image for project: 'Maven-backport175'
  1. Maven-backport175
  2. MAVENBACKPORT-2

メソッドをオーバーライドしない場合でもバイトコードにメソッド情報が埋め込まれてしまう

XMLWordPrintable

    • Type: Icon: Task Task
    • Resolution: Unresolved
    • Priority: Icon: Major Major
    • None
    • Affects Version/s: 0.3.3
    • None
    • Environment:
      backport175-1.0

      backport175-1.0のAnnotationCTaskでは、サブクラスでメソッドを
      実装しない場合でもサブクラスのバイトコードに継承親のメソッド
      情報を埋め込むようで、下記のassertはfailしてしまう。

      public void testGetMethod() throws Exception {
          final Method ifsMethod = Foo.class.getMethod("baaaar", null);
          final Method abstractClassMethod = FooImpl.class.getMethod("baaaar",
              null);
          assertEquals(ifsMethod, abstractClassMethod);
      }
      
      public static interface Foo {
          void baaaar();
      }
      
      public static abstract class FooImpl implements Foo {
      }
      

      通常(AnnotationCTaskを行わない場合)は
      親クラスのMethodオブジェクトを取得できるので、このassertはsuccessする。

            Assignee:
            manhole manhole
            Reporter:
            manhole manhole
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated: