[MAVENBACKPORT-2] メソッドをオーバーライドしない場合でもバイトコードにメソッド情報が埋め込まれてしまう Created: 2006-06-01  Updated: 2006-06-01

Status: Open
Project: Maven-backport175
Component/s: None
Affects Version/s: 0.3.3
Fix Version/s: None

Type: Task Priority: Major
Reporter: manhole Assignee: manhole
Resolution: Unresolved Votes: 0
Labels: None
Environment:

backport175-1.0



 Description   

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する。


Generated at Fri Mar 29 18:46:31 JST 2024 using Jira 9.13.0#9130001-sha1:94297e63fec900085df7b42441d17146fe025bb5.