--- /dev/null
+public class Concrete extends GenericSuper<Integer>{
+
+ @Override
+ public void doSomethingElseWith(Integer t) {
+ System.out.println("In normal method");
+ super.doSomethingElseWith(t);
+ }
+
+}
--- /dev/null
+public class GenericSuper<T> {
+
+ public void doSomethingWith(T t) {
+ System.out.println("with");
+ System.out.println(t.toString());
+ }
+
+ public void doSomethingElseWith(T t) {
+ System.out.println("else");
+ System.out.println(t);
+ }
+
+}
--- /dev/null
+public aspect ITDOfMethod {
+
+ public void Concrete.doSomethingWith(Integer i) {
+ System.out.println("In ITD method");
+ super.doSomethingWith(i);
+ }
+
+}
--- /dev/null
+public class Main {
+
+ public static void main(String args[]) {
+ Concrete c = new Concrete();
+ c.doSomethingElseWith(1);
+ c.doSomethingWith(2);
+ }
+
+}
runTest("around call npe");
}
+ public void testGenericITD_pr272825() {
+ runTest("generic ITD");
+ }
+
// ---
public static Test suite() {
<run class="p.TestPointcutAnnotationAspect"/>
</ajc-test>
+ <ajc-test dir="bugs165/pr272825" title="generic ITD">
+ <compile files="Concrete.java GenericSuper.java ITDOfMethod.aj Main.java" options="-1.5"/>
+ <run class="Main">
+ <stdout>
+ <line text="In normal method"/>
+ <line text="else"/>
+ <line text="1"/>
+ <line text="In ITD method"/>
+ <line text="with"/>
+ <line text="2"/>
+ </stdout>
+ </run>
+ </ajc-test>
+
</suite>
\ No newline at end of file