diff options
Diffstat (limited to 'tests')
9 files changed, 339 insertions, 1 deletions
diff --git a/tests/multiIncremental/pr278496_8/base/src/generics/ActionExecutor.java b/tests/multiIncremental/pr278496_8/base/src/generics/ActionExecutor.java new file mode 100644 index 000000000..5305dd4cf --- /dev/null +++ b/tests/multiIncremental/pr278496_8/base/src/generics/ActionExecutor.java @@ -0,0 +1,18 @@ +package generics; + +public class ActionExecutor { + public static void main(String[] args) { + DeleteAction<String> d = new DeleteAction<String>() { + public String getSelected() { + throw new RuntimeException(); + } + + }; + d.delete2++; + d.delete3.add(null); + } + + void nothing2(DeleteAction<String> g) { + g.delete2++; + } +}
\ No newline at end of file diff --git a/tests/multiIncremental/pr278496_8/base/src/generics/DeleteAction.java b/tests/multiIncremental/pr278496_8/base/src/generics/DeleteAction.java new file mode 100644 index 000000000..05c136a3d --- /dev/null +++ b/tests/multiIncremental/pr278496_8/base/src/generics/DeleteAction.java @@ -0,0 +1,12 @@ +package generics; +import java.util.List; + + +public interface DeleteAction<T extends Object>{ + + public void delete(); + + public T getSelected(); + +} +
\ No newline at end of file diff --git a/tests/multiIncremental/pr278496_8/base/src/generics/DeleteActionAspect.aj b/tests/multiIncremental/pr278496_8/base/src/generics/DeleteActionAspect.aj new file mode 100644 index 000000000..499981e37 --- /dev/null +++ b/tests/multiIncremental/pr278496_8/base/src/generics/DeleteActionAspect.aj @@ -0,0 +1,30 @@ +package generics; + +import java.util.List; + + +public aspect DeleteActionAspect { + + public void DeleteAction<T extends Object>.delete() { + Object selected = getSelected(); + selected.toString(); + delete3.add(""); + } + + public int DeleteAction<T extends Object>.delete2; + + public List<String> DeleteAction.delete3; + + + public static void main(String[] args) { + DeleteAction<String> d = new DeleteAction<String>() { + public String getSelected() { + throw new RuntimeException(); + } + + }; + d.delete2++; + d.delete3.add(null); + } + +}
\ No newline at end of file diff --git a/tests/multiIncremental/pr278496_8/base/src/test/Demo.aj b/tests/multiIncremental/pr278496_8/base/src/test/Demo.aj new file mode 100644 index 000000000..174680bc8 --- /dev/null +++ b/tests/multiIncremental/pr278496_8/base/src/test/Demo.aj @@ -0,0 +1,14 @@ +package test; + +import java.util.List; + +public class Demo { + + void g() { + new Demo(7).foo(null); + x++; + this.x++; + MyAspect.aspectOf(); + MyAspect.hasAspect(); + } +}
\ No newline at end of file diff --git a/tests/multiIncremental/pr278496_8/base/src/test/MyAspect.aj b/tests/multiIncremental/pr278496_8/base/src/test/MyAspect.aj new file mode 100644 index 000000000..23704a0d9 --- /dev/null +++ b/tests/multiIncremental/pr278496_8/base/src/test/MyAspect.aj @@ -0,0 +1,63 @@ +package test; +import java.util.List; + +public aspect MyAspect { + + @MyAnnotation(val = 5) + private Integer Demo.version; + + + List<String> Demo.list = null; + int Demo.x = 5; + + void Demo.foo(List<String> x) { + MyAspect.hasAspect(); + } + + public Demo.new(int x) { + this(); + } + + declare warning : execution(* *.nothing(..)) : "blah"; + + declare error : execution(* *.nothing(..)) : "blah"; + + declare soft : Exception : execution(* *.nothing(..)); + + + protected pointcut s(): + call(String Demo.toString(..)); + + before (): s() { + } + after (): s() { + } + void around (): s() { + proceed(); + return; + } + after () returning(): s() { + } + after () throwing(): s() { + thisEnclosingJoinPointStaticPart.getClass(); + thisJoinPoint.getClass(); + thisJoinPointStaticPart.getClass(); + } + + @interface MyAnnotation { + int val() default 5; + } + + // try out declare annotation + declare @type : Demo : @MyAnnotation; + declare @field: int Demo.x: @MyAnnotation; + declare @method: void Demo.foo(..): @MyAnnotation; + declare @constructor: public Demo.new(int): @MyAnnotation; + + // try out abstract ITDs + public abstract long Abstract.nothing(); + + public static abstract class Abstract { } + + +} diff --git a/tests/multiIncremental/pr278496_8/base/src/test/OtherClass.aj b/tests/multiIncremental/pr278496_8/base/src/test/OtherClass.aj new file mode 100644 index 000000000..a24940d9c --- /dev/null +++ b/tests/multiIncremental/pr278496_8/base/src/test/OtherClass.aj @@ -0,0 +1,10 @@ +package test; + + +public class OtherClass { + void x() { + Demo d = new Demo(4); + d.foo(null); + d.x ++; + } +}
\ No newline at end of file diff --git a/tests/multiIncremental/pr278496_8/base/src/test2/MyAspect2.aj b/tests/multiIncremental/pr278496_8/base/src/test2/MyAspect2.aj new file mode 100644 index 000000000..5f79df23d --- /dev/null +++ b/tests/multiIncremental/pr278496_8/base/src/test2/MyAspect2.aj @@ -0,0 +1,29 @@ +package test2; + +import test.Demo; +import test2.MyAspect2; + +public aspect MyAspect2 { + + static interface Bar { + + } + declare parents : Demo implements Bar, Cloneable; + + public int Bar.bar() { + return 7; + } + + + static class Foo { + public Foo() { + + } + } + declare parents : Demo extends Foo; + + public int Foo.baz() { + return 7; + } + +} diff --git a/tests/multiIncremental/pr278496_8/base/src/test2/OtherClass2.aj b/tests/multiIncremental/pr278496_8/base/src/test2/OtherClass2.aj new file mode 100644 index 000000000..5922fa931 --- /dev/null +++ b/tests/multiIncremental/pr278496_8/base/src/test2/OtherClass2.aj @@ -0,0 +1,15 @@ +package test2; + +import test.Demo; + +public class OtherClass2 { + void x() { + Demo d = new Demo(4); + d.bar(); + d.baz(); + // causes error for now see note at end of AJCompilationUnitProblemFinder.isARealProblem +// ((MyAspect2.Bar) d).bar(); + ((MyAspect2.Foo) d).baz(); + ((Cloneable) d).toString(); + } +}
\ No newline at end of file diff --git a/tests/src/org/aspectj/systemtest/incremental/tools/IncrementalCompilationTests.java b/tests/src/org/aspectj/systemtest/incremental/tools/IncrementalCompilationTests.java index 9cf58112d..550445db2 100644 --- a/tests/src/org/aspectj/systemtest/incremental/tools/IncrementalCompilationTests.java +++ b/tests/src/org/aspectj/systemtest/incremental/tools/IncrementalCompilationTests.java @@ -543,7 +543,7 @@ public class IncrementalCompilationTests extends AbstractMultiProjectIncremental configureNonStandardCompileOptions(p, "-Xset:minimalModel=true"); build(p); checkWasFullBuild(); - printModel(p); + // printModel(p); // Here is the model without deletion. // PR278496_4 [build configuration file] hid:=PR278496_4 // foo [package] hid:=PR278496_4<foo @@ -569,4 +569,151 @@ public class IncrementalCompilationTests extends AbstractMultiProjectIncremental "=PR278496_4<foo{MyOtherClass.java[MyOtherClass[MyInnerClass'MyInnerInnerAspect", false); assertNotNull(ipe); } + + public void testDeletionAnonInnerType_278496_8() throws Exception { + String p = "PR278496_8"; + initialiseProject(p); + configureNonStandardCompileOptions(p, "-Xset:minimalModel=true"); + build(p); + checkWasFullBuild(); + // printModel(p); + // Here is the model without deletion. + // PR278496_8 [build configuration file] hid:=PR278496_8 + // generics [package] hid:=PR278496_8<generics + // DeleteActionAspect.aj [java source file] 1 hid:=PR278496_8<generics*DeleteActionAspect.aj + // generics [package declaration] 1 hid:=PR278496_8<generics*DeleteActionAspect.aj%generics + // [import reference] hid:=PR278496_8<generics*DeleteActionAspect.aj# + // java.util.List [import reference] 3 hid:=PR278496_8<generics*DeleteActionAspect.aj#java.util.List + // DeleteActionAspect [aspect] 6 hid:=PR278496_8<generics*DeleteActionAspect.aj'DeleteActionAspect + // DeleteAction.delete() [inter-type method] 8 hid:=PR278496_8<generics*DeleteActionAspect.aj'DeleteActionAspect)DeleteAction.delete + // DeleteAction.delete2 [inter-type field] 14 hid:=PR278496_8<generics*DeleteActionAspect.aj'DeleteActionAspect,DeleteAction.delete2 + // DeleteAction.delete3 [inter-type field] 16 hid:=PR278496_8<generics*DeleteActionAspect.aj'DeleteActionAspect,DeleteAction.delete3 + // main(java.lang.String[]) [method] 19 hid:=PR278496_8<generics*DeleteActionAspect.aj'DeleteActionAspect~main~\[QString; + // new DeleteAction<String>() {..} [class] 20 hid:=PR278496_8<generics*DeleteActionAspect.aj'DeleteActionAspect~main~\[QString;[ + // getSelected() [method] 21 hid:=PR278496_8<generics*DeleteActionAspect.aj'DeleteActionAspect~main~\[QString;[~getSelected + // ActionExecutor.java [java source file] 1 hid:=PR278496_8<generics{ActionExecutor.java + // generics [package declaration] 1 hid:=PR278496_8<generics{ActionExecutor.java%generics + // [import reference] hid:=PR278496_8<generics{ActionExecutor.java# + // ActionExecutor [class] 3 hid:=PR278496_8<generics{ActionExecutor.java[ActionExecutor + // main(java.lang.String[]) [method] 4 hid:=PR278496_8<generics{ActionExecutor.java[ActionExecutor~main~\[QString; + // new DeleteAction<String>() {..} [class] 5 hid:=PR278496_8<generics{ActionExecutor.java[ActionExecutor~main~\[QString;[ + // getSelected() [method] 6 hid:=PR278496_8<generics{ActionExecutor.java[ActionExecutor~main~\[QString;[~getSelected + // nothing2(generics.DeleteAction<java.lang.String>) [method] 15 hid:=PR278496_8<generics{ActionExecutor.java[ActionExecutor~nothing2~QDeleteAction\<QString;>; + // DeleteAction.java [java source file] 1 hid:=PR278496_8<generics{DeleteAction.java + // generics [package declaration] 1 hid:=PR278496_8<generics{DeleteAction.java%generics + // [import reference] hid:=PR278496_8<generics{DeleteAction.java# + // java.util.List [import reference] 2 hid:=PR278496_8<generics{DeleteAction.java#java.util.List + // DeleteAction [interface] 5 hid:=PR278496_8<generics{DeleteAction.java[DeleteAction + // delete() [method] 7 hid:=PR278496_8<generics{DeleteAction.java[DeleteAction~delete + // getSelected() [method] 9 hid:=PR278496_8<generics{DeleteAction.java[DeleteAction~getSelected + // test [package] hid:=PR278496_8<test + // MyAspect.aj [java source file] 1 hid:=PR278496_8<test*MyAspect.aj + // test [package declaration] 1 hid:=PR278496_8<test*MyAspect.aj%test + // [import reference] hid:=PR278496_8<test*MyAspect.aj# + // java.util.List [import reference] 2 hid:=PR278496_8<test*MyAspect.aj#java.util.List + // MyAspect [aspect] 4 hid:=PR278496_8<test*MyAspect.aj'MyAspect + // MyAnnotation [annotation] 47 hid:=PR278496_8<test*MyAspect.aj'MyAspect[MyAnnotation + // Abstract [class] 60 hid:=PR278496_8<test*MyAspect.aj'MyAspect[Abstract + // Demo.version [inter-type field] 7 hid:=PR278496_8<test*MyAspect.aj'MyAspect,Demo.version + // Demo.list [inter-type field] 10 hid:=PR278496_8<test*MyAspect.aj'MyAspect,Demo.list + // Demo.x [inter-type field] 11 hid:=PR278496_8<test*MyAspect.aj'MyAspect,Demo.x + // Demo.foo(java.util.List<java.lang.String>) [inter-type method] 13 hid:=PR278496_8<test*MyAspect.aj'MyAspect)Demo.foo)QList\<QString;>; + // Demo.Demo(int) [inter-type constructor] 17 hid:=PR278496_8<test*MyAspect.aj'MyAspect)Demo.Demo_new)I + // declare warning: "blah" [declare warning] 21 hid:=PR278496_8<test*MyAspect.aj'MyAspect`declare warning + // declare error: "blah" [declare error] 23 hid:=PR278496_8<test*MyAspect.aj'MyAspect`declare error!2 + // declare soft: java.lang.Exception [declare soft] 25 hid:=PR278496_8<test*MyAspect.aj'MyAspect`declare soft!3 + // s() [pointcut] 28 hid:=PR278496_8<test*MyAspect.aj'MyAspect"s + // before(): s.. [advice] 31 hid:=PR278496_8<test*MyAspect.aj'MyAspect&before + // after(): s.. [advice] 33 hid:=PR278496_8<test*MyAspect.aj'MyAspect&after + // around(): s.. [advice] 35 hid:=PR278496_8<test*MyAspect.aj'MyAspect&around + // afterReturning(): s.. [advice] 39 hid:=PR278496_8<test*MyAspect.aj'MyAspect&afterReturning + // afterThrowing(): s.. [advice] 41 hid:=PR278496_8<test*MyAspect.aj'MyAspect&afterThrowing + // declare @type: test.Demo : @MyAnnotation [declare @type] 52 hid:=PR278496_8<test*MyAspect.aj'MyAspect`declare \@type + // declare @field: int test.Demo.x : @MyAnnotation [declare @field] 53 hid:=PR278496_8<test*MyAspect.aj'MyAspect`declare \@field + // declare @method: void test.Demo.foo(..) : @MyAnnotation [declare @method] 54 hid:=PR278496_8<test*MyAspect.aj'MyAspect`declare \@method + // declare @constructor: public test.Demo.new(int) : @MyAnnotation [declare @constructor] 55 hid:=PR278496_8<test*MyAspect.aj'MyAspect`declare \@constructor + // Abstract.nothing() [inter-type method] 58 hid:=PR278496_8<test*MyAspect.aj'MyAspect)Abstract.nothing + // Demo.aj [java source file] 1 hid:=PR278496_8<test*Demo.aj + // test [package declaration] 1 hid:=PR278496_8<test*Demo.aj%test + // [import reference] hid:=PR278496_8<test*Demo.aj# + // test.MyAspect$MyAnnotation [import reference] 1 hid:=PR278496_8<test*Demo.aj#test.MyAspect$MyAnnotation + // java.util.List [import reference] 3 hid:=PR278496_8<test*Demo.aj#java.util.List + // Demo [class] 5 hid:=PR278496_8<test*Demo.aj[Demo + // g() [method] 7 hid:=PR278496_8<test*Demo.aj[Demo~g + // OtherClass.aj [java source file] 1 hid:=PR278496_8<test*OtherClass.aj + // test [package declaration] 1 hid:=PR278496_8<test*OtherClass.aj%test + // [import reference] hid:=PR278496_8<test*OtherClass.aj# + // OtherClass [class] 4 hid:=PR278496_8<test*OtherClass.aj[OtherClass + // x() [method] 5 hid:=PR278496_8<test*OtherClass.aj[OtherClass~x + // test2 [package] hid:=PR278496_8<test2 + // MyAspect2.aj [java source file] 1 hid:=PR278496_8<test2*MyAspect2.aj + // test2 [package declaration] 4 hid:=PR278496_8<test2*MyAspect2.aj%test2 + // [import reference] hid:=PR278496_8<test2*MyAspect2.aj# + // test.Demo [import reference] 3 hid:=PR278496_8<test2*MyAspect2.aj#test.Demo + // MyAspect2 [aspect] 6 hid:=PR278496_8<test2*MyAspect2.aj'MyAspect2 + // Bar [interface] 8 hid:=PR278496_8<test2*MyAspect2.aj'MyAspect2[Bar + // Foo [class] 18 hid:=PR278496_8<test2*MyAspect2.aj'MyAspect2[Foo + // Foo() [constructor] 19 hid:=PR278496_8<test2*MyAspect2.aj'MyAspect2[Foo~Foo + // declare parents: implements MyAspect2$Bar,Cloneable [declare parents] 11 hid:=PR278496_8<test2*MyAspect2.aj'MyAspect2`declare parents + // Bar.bar() [inter-type method] 13 hid:=PR278496_8<test2*MyAspect2.aj'MyAspect2)Bar.bar + // declare parents: extends MyAspect2$Foo [declare parents] 23 hid:=PR278496_8<test2*MyAspect2.aj'MyAspect2`declare parents!2 + // Foo.baz() [inter-type method] 25 hid:=PR278496_8<test2*MyAspect2.aj'MyAspect2)Foo.baz + // OtherClass2.aj [java source file] 1 hid:=PR278496_8<test2*OtherClass2.aj + // test2 [package declaration] 1 hid:=PR278496_8<test2*OtherClass2.aj%test2 + // [import reference] hid:=PR278496_8<test2*OtherClass2.aj# + // test.Demo [import reference] 3 hid:=PR278496_8<test2*OtherClass2.aj#test.Demo + // OtherClass2 [class] 5 hid:=PR278496_8<test2*OtherClass2.aj[OtherClass2 + // x() [method] 6 hid:=PR278496_8<test2*OtherClass2.aj[OtherClass2~x + // Hid:1:(targets=1) =PR278496_8<test*MyAspect.aj'MyAspect,Demo.version (declared on) =PR278496_8<test*Demo.aj[Demo + // Hid:2:(targets=1) =PR278496_8<test*MyAspect.aj'MyAspect)Abstract.nothing (declared on) =PR278496_8<test*MyAspect.aj'MyAspect[Abstract + // Hid:3:(targets=1) =PR278496_8<test*Demo.aj[Demo (annotated by) =PR278496_8<test*MyAspect.aj'MyAspect`declare \@type + // Hid:4:(targets=8) =PR278496_8<test*Demo.aj[Demo (aspect declarations) =PR278496_8<test2*MyAspect2.aj'MyAspect2`declare parents!2 + // Hid:5:(targets=8) =PR278496_8<test*Demo.aj[Demo (aspect declarations) =PR278496_8<test2*MyAspect2.aj'MyAspect2`declare parents + // Hid:6:(targets=8) =PR278496_8<test*Demo.aj[Demo (aspect declarations) =PR278496_8<test2*MyAspect2.aj'MyAspect2)Bar.bar + // Hid:7:(targets=8) =PR278496_8<test*Demo.aj[Demo (aspect declarations) =PR278496_8<test*MyAspect.aj'MyAspect,Demo.version + // Hid:8:(targets=8) =PR278496_8<test*Demo.aj[Demo (aspect declarations) =PR278496_8<test*MyAspect.aj'MyAspect,Demo.list + // Hid:9:(targets=8) =PR278496_8<test*Demo.aj[Demo (aspect declarations) =PR278496_8<test*MyAspect.aj'MyAspect,Demo.x + // Hid:10:(targets=8) =PR278496_8<test*Demo.aj[Demo (aspect declarations) =PR278496_8<test*MyAspect.aj'MyAspect)Demo.foo)QList\<QString;>; + // Hid:11:(targets=8) =PR278496_8<test*Demo.aj[Demo (aspect declarations) =PR278496_8<test*MyAspect.aj'MyAspect)Demo.Demo_new)I + // Hid:12:(targets=1) =PR278496_8<test*MyAspect.aj'MyAspect`declare \@type (annotates) =PR278496_8<test*Demo.aj[Demo + // Hid:13:(targets=1) =PR278496_8<test*MyAspect.aj'MyAspect,Demo.list (declared on) =PR278496_8<test*Demo.aj[Demo + // Hid:14:(targets=1) =PR278496_8<test*MyAspect.aj'MyAspect)Demo.foo)QList\<QString;>; (declared on) =PR278496_8<test*Demo.aj[Demo + // Hid:15:(targets=1) =PR278496_8<test2*MyAspect2.aj'MyAspect2`declare parents!2 (declared on) =PR278496_8<test*Demo.aj[Demo + // Hid:16:(targets=3) =PR278496_8<generics*DeleteActionAspect.aj'DeleteActionAspect,DeleteAction.delete2 (declared on) =PR278496_8<generics*DeleteActionAspect.aj'DeleteActionAspect~main~\[QString;[ + // Hid:17:(targets=3) =PR278496_8<generics*DeleteActionAspect.aj'DeleteActionAspect,DeleteAction.delete2 (declared on) =PR278496_8<generics{ActionExecutor.java[ActionExecutor~main~\[QString;[ + // Hid:18:(targets=3) =PR278496_8<generics*DeleteActionAspect.aj'DeleteActionAspect,DeleteAction.delete2 (declared on) =PR278496_8<generics{DeleteAction.java[DeleteAction + // Hid:19:(targets=1) =PR278496_8<test*MyAspect.aj'MyAspect`declare \@constructor (annotates) =PR278496_8<test*MyAspect.aj'MyAspect)Demo.Demo_new)I + // Hid:20:(targets=3) =PR278496_8<generics*DeleteActionAspect.aj'DeleteActionAspect,DeleteAction.delete3 (declared on) =PR278496_8<generics*DeleteActionAspect.aj'DeleteActionAspect~main~\[QString;[ + // Hid:21:(targets=3) =PR278496_8<generics*DeleteActionAspect.aj'DeleteActionAspect,DeleteAction.delete3 (declared on) =PR278496_8<generics{ActionExecutor.java[ActionExecutor~main~\[QString;[ + // Hid:22:(targets=3) =PR278496_8<generics*DeleteActionAspect.aj'DeleteActionAspect,DeleteAction.delete3 (declared on) =PR278496_8<generics{DeleteAction.java[DeleteAction + // Hid:23:(targets=1) =PR278496_8<test*MyAspect.aj'MyAspect[Abstract (aspect declarations) =PR278496_8<test*MyAspect.aj'MyAspect)Abstract.nothing + // Hid:24:(targets=1) =PR278496_8<test2*MyAspect2.aj'MyAspect2`declare parents (declared on) =PR278496_8<test*Demo.aj[Demo + // Hid:25:(targets=3) =PR278496_8<generics*DeleteActionAspect.aj'DeleteActionAspect)DeleteAction.delete (declared on) =PR278496_8<generics*DeleteActionAspect.aj'DeleteActionAspect~main~\[QString;[ + // Hid:26:(targets=3) =PR278496_8<generics*DeleteActionAspect.aj'DeleteActionAspect)DeleteAction.delete (declared on) =PR278496_8<generics{ActionExecutor.java[ActionExecutor~main~\[QString;[ + // Hid:27:(targets=3) =PR278496_8<generics*DeleteActionAspect.aj'DeleteActionAspect)DeleteAction.delete (declared on) =PR278496_8<generics{DeleteAction.java[DeleteAction + // Hid:28:(targets=1) =PR278496_8<test*MyAspect.aj'MyAspect`declare \@field (annotates) =PR278496_8<test*MyAspect.aj'MyAspect,Demo.x + // Hid:29:(targets=3) =PR278496_8<generics{ActionExecutor.java[ActionExecutor~main~\[QString;[ (aspect declarations) =PR278496_8<generics*DeleteActionAspect.aj'DeleteActionAspect)DeleteAction.delete + // Hid:30:(targets=3) =PR278496_8<generics{ActionExecutor.java[ActionExecutor~main~\[QString;[ (aspect declarations) =PR278496_8<generics*DeleteActionAspect.aj'DeleteActionAspect,DeleteAction.delete2 + // Hid:31:(targets=3) =PR278496_8<generics{ActionExecutor.java[ActionExecutor~main~\[QString;[ (aspect declarations) =PR278496_8<generics*DeleteActionAspect.aj'DeleteActionAspect,DeleteAction.delete3 + // Hid:32:(targets=3) =PR278496_8<generics*DeleteActionAspect.aj'DeleteActionAspect~main~\[QString;[ (aspect declarations) =PR278496_8<generics*DeleteActionAspect.aj'DeleteActionAspect)DeleteAction.delete + // Hid:33:(targets=3) =PR278496_8<generics*DeleteActionAspect.aj'DeleteActionAspect~main~\[QString;[ (aspect declarations) =PR278496_8<generics*DeleteActionAspect.aj'DeleteActionAspect,DeleteAction.delete2 + // Hid:34:(targets=3) =PR278496_8<generics*DeleteActionAspect.aj'DeleteActionAspect~main~\[QString;[ (aspect declarations) =PR278496_8<generics*DeleteActionAspect.aj'DeleteActionAspect,DeleteAction.delete3 + // Hid:35:(targets=3) =PR278496_8<generics{DeleteAction.java[DeleteAction (aspect declarations) =PR278496_8<generics*DeleteActionAspect.aj'DeleteActionAspect)DeleteAction.delete + // Hid:36:(targets=3) =PR278496_8<generics{DeleteAction.java[DeleteAction (aspect declarations) =PR278496_8<generics*DeleteActionAspect.aj'DeleteActionAspect,DeleteAction.delete2 + // Hid:37:(targets=3) =PR278496_8<generics{DeleteAction.java[DeleteAction (aspect declarations) =PR278496_8<generics*DeleteActionAspect.aj'DeleteActionAspect,DeleteAction.delete3 + // Hid:38:(targets=1) =PR278496_8<test2*MyAspect2.aj'MyAspect2[Foo (aspect declarations) =PR278496_8<test2*MyAspect2.aj'MyAspect2)Foo.baz + // Hid:39:(targets=1) =PR278496_8<test*MyAspect.aj'MyAspect)Demo.Demo_new)I (annotated by) =PR278496_8<test*MyAspect.aj'MyAspect`declare \@constructor + // Hid:40:(targets=1) =PR278496_8<test*MyAspect.aj'MyAspect)Demo.Demo_new)I (declared on) =PR278496_8<test*Demo.aj[Demo + // Hid:41:(targets=1) =PR278496_8<test*MyAspect.aj'MyAspect,Demo.x (annotated by) =PR278496_8<test*MyAspect.aj'MyAspect`declare \@field + // Hid:42:(targets=1) =PR278496_8<test*MyAspect.aj'MyAspect,Demo.x (declared on) =PR278496_8<test*Demo.aj[Demo + // Hid:43:(targets=2) =PR278496_8<test2*MyAspect2.aj'MyAspect2)Bar.bar (declared on) =PR278496_8<test2*MyAspect2.aj'MyAspect2[Bar + // Hid:44:(targets=2) =PR278496_8<test2*MyAspect2.aj'MyAspect2)Bar.bar (declared on) =PR278496_8<test*Demo.aj[Demo + // Hid:45:(targets=1) =PR278496_8<test2*MyAspect2.aj'MyAspect2[Bar (aspect declarations) =PR278496_8<test2*MyAspect2.aj'MyAspect2)Bar.bar + // Hid:46:(targets=1) =PR278496_8<test2*MyAspect2.aj'MyAspect2)Foo.baz (declared on) =PR278496_8<test2*MyAspect2.aj'MyAspect2[Foo + AspectJElementHierarchy model = (AspectJElementHierarchy) getModelFor(p).getHierarchy(); + // check handle to anonymous inner: + IProgramElement ipe = model.findElementForHandleOrCreate( + "=PR278496_8<generics*DeleteActionAspect.aj'DeleteActionAspect~main~\\[QString;[", false); + assertNotNull(ipe); + } } |