*******************************************************************/
package org.aspectj.systemtest.incremental.tools;
+import java.io.File;
import java.util.Set;
+import org.aspectj.ajde.core.AjCompiler;
import org.aspectj.ajde.core.internal.AjdeCoreBuildManager;
import org.aspectj.ajdt.internal.core.builder.AjBuildManager;
import org.aspectj.asm.IProgramElement;
*/
public class IncrementalCompilationTests extends AbstractMultiProjectIncrementalAjdeInteractionTestbed {
+ public void testAdditionalDependencies328649_1() throws Exception {
+ String p = "pr328649_1";
+ initialiseProject(p);
+ build(p);
+ checkWasFullBuild();
+ checkCompileWeaveCount(p, 2, 2);
+ assertEquals(0, getErrorMessages(p).size());
+ alter(p, "inc1");
+ build(p);
+ checkWasntFullBuild();
+ checkCompileWeaveCount(p, 1, 1);
+ assertEquals(0, getErrorMessages(p).size());
+ alter(p, "inc2");
+ AjCompiler compiler = getCompilerForProjectWithName(p);
+ String s = getFile(p, "src/B.java");
+ assertNotNull(s);
+ // add in a dependency where there really isn't one...
+ boolean b = compiler.addDependencies(new File(s), new String[] { "A" });
+ assertTrue(b);
+ build(p);
+ checkWasntFullBuild();
+ // now A rebuilds, then A and B rebuild due to that extra dependency
+ checkCompileWeaveCount(p, 3, 3);
+ assertEquals(0, getErrorMessages(p).size());
+ alter(p, "inc2");
+ compiler = getCompilerForProjectWithName(p);
+ s = getFile(p, "src/B.java");
+ assertNotNull(s);
+ }
+
/**
* Build a pair of files, then change the throws clause in the first one (add a throws clause where there wasnt one). The second
* file should now have a 'unhandled exception' error on it.
configureNonStandardCompileOptions(p, "-Xset:minimalModel=true");
build(p);
checkWasFullBuild();
- // Here is the model without deletion. The node for 'Code.java' can safely be deleted as it contains
+ // Here is the model without deletion. The node for 'Code.java' can safely be deleted as it contains
// no types that are the target of relationships.
- // PR278496_1 [build configuration file] hid:=PR278496_1
- // a.b.c [package] hid:=PR278496_1<a.b.c
- // Azpect.java [java source file] 1 hid:=PR278496_1<a.b.c{Azpect.java
- // a.b.c [package declaration] 1 hid:=PR278496_1<a.b.c{Azpect.java%a.b.c
- // [import reference] hid:=PR278496_1<a.b.c{Azpect.java#
- // Azpect [aspect] 3 hid:=PR278496_1<a.b.c{Azpect.java}Azpect
- // before(): <anonymous pointcut> [advice] 4 hid:=PR278496_1<a.b.c{Azpect.java}Azpect&before
- // Code.java [java source file] 1 hid:=PR278496_1<a.b.c{Code.java
- // a.b.c [package declaration] 1 hid:=PR278496_1<a.b.c{Code.java%a.b.c
- // [import reference] hid:=PR278496_1<a.b.c{Code.java#
- // java.util.ArrayList [import reference] 3 hid:=PR278496_1<a.b.c{Code.java#java.util.ArrayList
- // java.util.List [import reference] 2 hid:=PR278496_1<a.b.c{Code.java#java.util.List
- // Code [class] 5 hid:=PR278496_1<a.b.c{Code.java[Code
- // m() [method] 6 hid:=PR278496_1<a.b.c{Code.java[Code~m
- // Code2.java [java source file] 1 hid:=PR278496_1<a.b.c{Code2.java
- // a.b.c [package declaration] 1 hid:=PR278496_1<a.b.c{Code2.java%a.b.c
- // [import reference] hid:=PR278496_1<a.b.c{Code2.java#
- // java.util.ArrayList [import reference] 3 hid:=PR278496_1<a.b.c{Code2.java#java.util.ArrayList
- // java.util.List [import reference] 2 hid:=PR278496_1<a.b.c{Code2.java#java.util.List
- // Code2 [class] 5 hid:=PR278496_1<a.b.c{Code2.java[Code2
- // m() [method] 6 hid:=PR278496_1<a.b.c{Code2.java[Code2~m
- // Hid:1:(targets=1) =PR278496_1<a.b.c{Azpect.java}Azpect&before (advises) =PR278496_1<a.b.c{Code2.java[Code2
- // Hid:2:(targets=1) =PR278496_1<a.b.c{Code2.java[Code2 (advised by) =PR278496_1<a.b.c{Azpect.java}Azpect&before
+ // PR278496_1 [build configuration file] hid:=PR278496_1
+ // a.b.c [package] hid:=PR278496_1<a.b.c
+ // Azpect.java [java source file] 1 hid:=PR278496_1<a.b.c{Azpect.java
+ // a.b.c [package declaration] 1 hid:=PR278496_1<a.b.c{Azpect.java%a.b.c
+ // [import reference] hid:=PR278496_1<a.b.c{Azpect.java#
+ // Azpect [aspect] 3 hid:=PR278496_1<a.b.c{Azpect.java}Azpect
+ // before(): <anonymous pointcut> [advice] 4 hid:=PR278496_1<a.b.c{Azpect.java}Azpect&before
+ // Code.java [java source file] 1 hid:=PR278496_1<a.b.c{Code.java
+ // a.b.c [package declaration] 1 hid:=PR278496_1<a.b.c{Code.java%a.b.c
+ // [import reference] hid:=PR278496_1<a.b.c{Code.java#
+ // java.util.ArrayList [import reference] 3 hid:=PR278496_1<a.b.c{Code.java#java.util.ArrayList
+ // java.util.List [import reference] 2 hid:=PR278496_1<a.b.c{Code.java#java.util.List
+ // Code [class] 5 hid:=PR278496_1<a.b.c{Code.java[Code
+ // m() [method] 6 hid:=PR278496_1<a.b.c{Code.java[Code~m
+ // Code2.java [java source file] 1 hid:=PR278496_1<a.b.c{Code2.java
+ // a.b.c [package declaration] 1 hid:=PR278496_1<a.b.c{Code2.java%a.b.c
+ // [import reference] hid:=PR278496_1<a.b.c{Code2.java#
+ // java.util.ArrayList [import reference] 3 hid:=PR278496_1<a.b.c{Code2.java#java.util.ArrayList
+ // java.util.List [import reference] 2 hid:=PR278496_1<a.b.c{Code2.java#java.util.List
+ // Code2 [class] 5 hid:=PR278496_1<a.b.c{Code2.java[Code2
+ // m() [method] 6 hid:=PR278496_1<a.b.c{Code2.java[Code2~m
+ // Hid:1:(targets=1) =PR278496_1<a.b.c{Azpect.java}Azpect&before (advises) =PR278496_1<a.b.c{Code2.java[Code2
+ // Hid:2:(targets=1) =PR278496_1<a.b.c{Code2.java[Code2 (advised by) =PR278496_1<a.b.c{Azpect.java}Azpect&before
// deletion turned on:
- // PR278496_1 [build configuration file] hid:=PR278496_1
- // a.b.c [package] hid:<a.b.c
- // Azpect.java [java source file] 1 hid:<a.b.c{Azpect.java
- // a.b.c [package declaration] 1 hid:<a.b.c{Azpect.java%a.b.c
- // [import reference] hid:<a.b.c{Azpect.java#
- // Azpect [aspect] 3 hid:<a.b.c{Azpect.java}Azpect
- // before(): <anonymous pointcut> [advice] 4 hid:<a.b.c{Azpect.java}Azpect&before
- // Code2.java [java source file] 1 hid:<a.b.c{Code2.java
- // a.b.c [package declaration] 1 hid:<a.b.c{Code2.java%a.b.c
- // [import reference] hid:<a.b.c{Code2.java#
- // java.util.ArrayList [import reference] 3 hid:<a.b.c{Code2.java#java.util.ArrayList
- // java.util.List [import reference] 2 hid:<a.b.c{Code2.java#java.util.List
- // Code2 [class] 5 hid:<a.b.c{Code2.java[Code2
- // m() [method] 6 hid:<a.b.c{Code2.java[Code2~m
- // Hid:1:(targets=1) <a.b.c{Azpect.java}Azpect&before (advises) <a.b.c{Code2.java[Code2
- // Hid:2:(targets=1) <a.b.c{Code2.java[Code2 (advised by) <a.b.c{Azpect.java}Azpect&before
+ // PR278496_1 [build configuration file] hid:=PR278496_1
+ // a.b.c [package] hid:<a.b.c
+ // Azpect.java [java source file] 1 hid:<a.b.c{Azpect.java
+ // a.b.c [package declaration] 1 hid:<a.b.c{Azpect.java%a.b.c
+ // [import reference] hid:<a.b.c{Azpect.java#
+ // Azpect [aspect] 3 hid:<a.b.c{Azpect.java}Azpect
+ // before(): <anonymous pointcut> [advice] 4 hid:<a.b.c{Azpect.java}Azpect&before
+ // Code2.java [java source file] 1 hid:<a.b.c{Code2.java
+ // a.b.c [package declaration] 1 hid:<a.b.c{Code2.java%a.b.c
+ // [import reference] hid:<a.b.c{Code2.java#
+ // java.util.ArrayList [import reference] 3 hid:<a.b.c{Code2.java#java.util.ArrayList
+ // java.util.List [import reference] 2 hid:<a.b.c{Code2.java#java.util.List
+ // Code2 [class] 5 hid:<a.b.c{Code2.java[Code2
+ // m() [method] 6 hid:<a.b.c{Code2.java[Code2~m
+ // Hid:1:(targets=1) <a.b.c{Azpect.java}Azpect&before (advises) <a.b.c{Code2.java[Code2
+ // Hid:2:(targets=1) <a.b.c{Code2.java[Code2 (advised by) <a.b.c{Azpect.java}Azpect&before
AspectJElementHierarchy model = (AspectJElementHierarchy) getModelFor(p).getHierarchy();
// Node for "Code.java" should not be there:
- IProgramElement ipe = model.findElementForHandleOrCreate("=PR278496_1<a.b.c{Code.java",false);
+ IProgramElement ipe = model.findElementForHandleOrCreate("=PR278496_1<a.b.c{Code.java", false);
assertNull(ipe);
}
configureNonStandardCompileOptions(p, "-Xset:minimalModel=true");
build(p);
checkWasFullBuild();
- // printModel(p);
+ // printModel(p);
// Here is the model without deletion.
- // PR278496_2 [build configuration file] hid:=PR278496_2
- // [package] hid:=PR278496_2<
- // Azpect.java [java source file] 1 hid:=PR278496_2<{Azpect.java
- // [import reference] hid:=PR278496_2<{Azpect.java#
- // Azpect [aspect] 1 hid:=PR278496_2<{Azpect.java}Azpect
- // Code.m() [inter-type method] 2 hid:=PR278496_2<{Azpect.java}Azpect)Code.m
- // Code.java [java source file] 1 hid:=PR278496_2<{Code.java
- // [import reference] hid:=PR278496_2<{Code.java#
- // Code [class] 1 hid:=PR278496_2<{Code.java[Code
- // Hid:1:(targets=1) =PR278496_2<{Azpect.java}Azpect)Code.m (declared on) =PR278496_2<{Code.java[Code
- // Hid:2:(targets=1) =PR278496_2<{Code.java[Code (aspect declarations) =PR278496_2<{Azpect.java}Azpect)Code.m
-
+ // PR278496_2 [build configuration file] hid:=PR278496_2
+ // [package] hid:=PR278496_2<
+ // Azpect.java [java source file] 1 hid:=PR278496_2<{Azpect.java
+ // [import reference] hid:=PR278496_2<{Azpect.java#
+ // Azpect [aspect] 1 hid:=PR278496_2<{Azpect.java}Azpect
+ // Code.m() [inter-type method] 2 hid:=PR278496_2<{Azpect.java}Azpect)Code.m
+ // Code.java [java source file] 1 hid:=PR278496_2<{Code.java
+ // [import reference] hid:=PR278496_2<{Code.java#
+ // Code [class] 1 hid:=PR278496_2<{Code.java[Code
+ // Hid:1:(targets=1) =PR278496_2<{Azpect.java}Azpect)Code.m (declared on) =PR278496_2<{Code.java[Code
+ // Hid:2:(targets=1) =PR278496_2<{Code.java[Code (aspect declarations) =PR278496_2<{Azpect.java}Azpect)Code.m
AspectJElementHierarchy model = (AspectJElementHierarchy) getModelFor(p).getHierarchy();
// Node for "Code.java" should be there since it is the target of a relationship
- IProgramElement ipe = model.findElementForHandleOrCreate("=PR278496_2<{Code.java",false);
+ IProgramElement ipe = model.findElementForHandleOrCreate("=PR278496_2<{Code.java", false);
assertNotNull(ipe);
}
configureNonStandardCompileOptions(p, "-Xset:typeDemotion=true");
build(p);
checkWasFullBuild();
- alter(p,"inc1");
+ alter(p, "inc1");
build(p);
checkWasntFullBuild();
AjdeCoreBuildManager buildManager = getCompilerForProjectWithName(p).getBuildManager();
ReferenceTypeDelegate delegate = null;
delegate = w.resolveToReferenceType("com.Foo").getDelegate();
ResolvedMember[] fields = delegate.getDeclaredFields();
- assertEquals("int com.Foo.i",fields[0].toString());
- assertEquals("java.lang.String com.Foo.s",fields[1].toString());
- assertEquals("java.util.List com.Foo.ls",fields[2].toString());
+ assertEquals("int com.Foo.i", fields[0].toString());
+ assertEquals("java.lang.String com.Foo.s", fields[1].toString());
+ assertEquals("java.util.List com.Foo.ls", fields[2].toString());
assertEquals("[Anno[Lcom/Anno; rVis]]", stringify(fields[2].getAnnotations()));
assertNotNull(fields[2].getAnnotationOfType(UnresolvedType.forSignature("Lcom/Anno;")));
assertNull(fields[2].getAnnotationOfType(UnresolvedType.forSignature("Lcom/Anno2;")));
assertTrue(fields[2].hasAnnotation(UnresolvedType.forSignature("Lcom/Anno;")));
assertFalse(fields[2].hasAnnotation(UnresolvedType.forSignature("Ljava/lang/String;")));
- assertEquals(0,fields[1].getAnnotations().length);
- assertEquals("[com.Anno2 com.Anno]",stringify(fields[3].getAnnotationTypes()));
- assertEquals("[]",stringify(fields[1].getAnnotationTypes()));
- assertEquals("[Anno[Lcom/Anno2; rVis a=(int)42] Anno[Lcom/Anno; rVis]]",stringify(fields[3].getAnnotations()));
- assertEquals("[]",stringify(fields[1].getAnnotations()));
-
- assertEquals("I",fields[0].getSignature());
- assertEquals("Ljava/lang/String;",fields[1].getSignature());
- assertEquals("Ljava/util/List;",fields[2].getSignature());
- assertEquals("Pjava/util/List<Ljava/lang/String;>;",fields[2].getGenericReturnType().getSignature());
- assertEquals("Ljava/util/List;",fields[3].getSignature());
- assertEquals("Pjava/util/List<Ljava/lang/Integer;>;",fields[3].getGenericReturnType().getSignature());
+ assertEquals(0, fields[1].getAnnotations().length);
+ assertEquals("[com.Anno2 com.Anno]", stringify(fields[3].getAnnotationTypes()));
+ assertEquals("[]", stringify(fields[1].getAnnotationTypes()));
+ assertEquals("[Anno[Lcom/Anno2; rVis a=(int)42] Anno[Lcom/Anno; rVis]]", stringify(fields[3].getAnnotations()));
+ assertEquals("[]", stringify(fields[1].getAnnotations()));
+
+ assertEquals("I", fields[0].getSignature());
+ assertEquals("Ljava/lang/String;", fields[1].getSignature());
+ assertEquals("Ljava/util/List;", fields[2].getSignature());
+ assertEquals("Pjava/util/List<Ljava/lang/String;>;", fields[2].getGenericReturnType().getSignature());
+ assertEquals("Ljava/util/List;", fields[3].getSignature());
+ assertEquals("Pjava/util/List<Ljava/lang/Integer;>;", fields[3].getGenericReturnType().getSignature());
}
public void testWorldDemotion_278496_6() throws Exception {
configureNonStandardCompileOptions(p, "-Xset:typeDemotion=true");
build(p);
checkWasFullBuild();
- alter(p,"inc1");
+ alter(p, "inc1");
build(p);
checkWasntFullBuild();
AjdeCoreBuildManager buildManager = getCompilerForProjectWithName(p).getBuildManager();
World w = ajBuildManager.getWorld();
ReferenceTypeDelegate delegate = null;
delegate = w.resolveToReferenceType("com.Meths").getDelegate();
- // assertTrue(delegate instanceof CompactTypeStructureDelegate);
+ // assertTrue(delegate instanceof CompactTypeStructureDelegate);
ResolvedMember[] methods = delegate.getDeclaredMethods();
- assertEquals("void com.Meths.<init>()",methods[0].toString());
- assertEquals("void com.Meths.m()",methods[1].toString());
- assertEquals("java.util.List com.Meths.n(int, long, java.util.List)",methods[2].toString());
-
+ assertEquals("void com.Meths.<init>()", methods[0].toString());
+ assertEquals("void com.Meths.m()", methods[1].toString());
+ assertEquals("java.util.List com.Meths.n(int, long, java.util.List)", methods[2].toString());
System.out.println(stringify(methods[0].getAnnotations()));
System.out.println(stringify(methods[1].getAnnotations()));
System.out.println(stringify(methods[2].getAnnotations()));
assertEquals("[Anno[Lcom/Anno; rVis]]", stringify(methods[1].getAnnotations()));
- // assertNotNull(fields[2].getAnnotationOfType(UnresolvedType.forSignature("Lcom/Anno;")));
- // assertNull(fields[2].getAnnotationOfType(UnresolvedType.forSignature("Lcom/Anno2;")));
- // assertTrue(fields[2].hasAnnotation(UnresolvedType.forSignature("Lcom/Anno;")));
- // assertFalse(fields[2].hasAnnotation(UnresolvedType.forSignature("Ljava/lang/String;")));
- // assertEquals(0,fields[1].getAnnotations().length);
- // assertEquals("[com.Anno2 com.Anno]",stringify(fields[3].getAnnotationTypes()));
- // assertEquals("[]",stringify(fields[1].getAnnotationTypes()));
- // assertEquals("[Anno[Lcom/Anno2; rVis a=(int)42] Anno[Lcom/Anno; rVis]]",stringify(fields[3].getAnnotations()));
- // assertEquals("[]",stringify(fields[1].getAnnotations()));
+ // assertNotNull(fields[2].getAnnotationOfType(UnresolvedType.forSignature("Lcom/Anno;")));
+ // assertNull(fields[2].getAnnotationOfType(UnresolvedType.forSignature("Lcom/Anno2;")));
+ // assertTrue(fields[2].hasAnnotation(UnresolvedType.forSignature("Lcom/Anno;")));
+ // assertFalse(fields[2].hasAnnotation(UnresolvedType.forSignature("Ljava/lang/String;")));
+ // assertEquals(0,fields[1].getAnnotations().length);
+ // assertEquals("[com.Anno2 com.Anno]",stringify(fields[3].getAnnotationTypes()));
+ // assertEquals("[]",stringify(fields[1].getAnnotationTypes()));
+ // assertEquals("[Anno[Lcom/Anno2; rVis a=(int)42] Anno[Lcom/Anno; rVis]]",stringify(fields[3].getAnnotations()));
+ // assertEquals("[]",stringify(fields[1].getAnnotations()));
//
- // assertEquals("I",fields[0].getSignature());
- // assertEquals("Ljava/lang/String;",fields[1].getSignature());
- // assertEquals("Ljava/util/List;",fields[2].getSignature());
- // assertEquals("Pjava/util/List<Ljava/lang/String;>;",fields[2].getGenericReturnType().getSignature());
- // assertEquals("Ljava/util/List;",fields[3].getSignature());
- // assertEquals("Pjava/util/List<Ljava/lang/Integer;>;",fields[3].getGenericReturnType().getSignature());
+ // assertEquals("I",fields[0].getSignature());
+ // assertEquals("Ljava/lang/String;",fields[1].getSignature());
+ // assertEquals("Ljava/util/List;",fields[2].getSignature());
+ // assertEquals("Pjava/util/List<Ljava/lang/String;>;",fields[2].getGenericReturnType().getSignature());
+ // assertEquals("Ljava/util/List;",fields[3].getSignature());
+ // assertEquals("Pjava/util/List<Ljava/lang/Integer;>;",fields[3].getGenericReturnType().getSignature());
}
- // public void testWorldDemotion_278496_7() throws Exception {
- // boolean demotion = true;
- // AjdeInteractionTestbed.VERBOSE=true;
- // String p = "PR278496_7";
- // TypeMap.useExpendableMap=false;
- // initialiseProject(p);
- // if (demotion) {
- // configureNonStandardCompileOptions(p, "-Xset:typeDemotion=true,typeDemotionDebug=true");
- // }
- // build(p);
- // checkWasFullBuild();
- // assertNoErrors(p);
- // alter(p,"inc1");
- // build(p);
- // checkWasntFullBuild();
- // assertNoErrors(p);
+ // public void testWorldDemotion_278496_7() throws Exception {
+ // boolean demotion = true;
+ // AjdeInteractionTestbed.VERBOSE=true;
+ // String p = "PR278496_7";
+ // TypeMap.useExpendableMap=false;
+ // initialiseProject(p);
+ // if (demotion) {
+ // configureNonStandardCompileOptions(p, "-Xset:typeDemotion=true,typeDemotionDebug=true");
+ // }
+ // build(p);
+ // checkWasFullBuild();
+ // assertNoErrors(p);
+ // alter(p,"inc1");
+ // build(p);
+ // checkWasntFullBuild();
+ // assertNoErrors(p);
//
- // AjdeCoreBuildManager buildManager = getCompilerForProjectWithName(p).getBuildManager();
- // AjBuildManager ajBuildManager = buildManager.getAjBuildManager();
- // World w = ajBuildManager.getWorld();
- // }
+ // AjdeCoreBuildManager buildManager = getCompilerForProjectWithName(p).getBuildManager();
+ // AjBuildManager ajBuildManager = buildManager.getAjBuildManager();
+ // World w = ajBuildManager.getWorld();
+ // }
@Override
protected void tearDown() throws Exception {
super.tearDown();
- TypeMap.useExpendableMap=true;
+ TypeMap.useExpendableMap = true;
}
public void testWorldDemotion_278496_4() throws Exception {
String p = "PR278496_4";
// Setting this ensures types are forced out when demoted - we are not at the mercy of weak reference GC
- TypeMap.useExpendableMap=false;
+ TypeMap.useExpendableMap = false;
initialiseProject(p);
configureNonStandardCompileOptions(p, "-Xset:typeDemotion=true,typeDemotionDebug=true");
build(p);
checkWasFullBuild();
- alter(p,"inc1");
+ alter(p, "inc1");
build(p);
checkWasntFullBuild();
World w = ajBuildManager.getWorld();
// Confirm demoted:
- assertNotInTypeMap(w,"Lcom/foo/Bar;");
+ assertNotInTypeMap(w, "Lcom/foo/Bar;");
- ReferenceType rt =null;
+ ReferenceType rt = null;
ReferenceTypeDelegate delegate = null;
rt = w.resolveToReferenceType("com.foo.Bar");
delegate = rt.getDelegate();
// Should have been demoted to a CTSD
- assertEquals(0,delegate.getAnnotations().length);
- assertEquals(0,delegate.getAnnotationTypes().length);
- assertEquals(0,delegate.getDeclaredInterfaces().length);
- assertEquals("java.lang.Object",delegate.getSuperclass().toString());
+ assertEquals(0, delegate.getAnnotations().length);
+ assertEquals(0, delegate.getAnnotationTypes().length);
+ assertEquals(0, delegate.getDeclaredInterfaces().length);
+ assertEquals("java.lang.Object", delegate.getSuperclass().toString());
assertNull(delegate.getRetentionPolicy());
assertFalse(delegate.isInterface());
assertTrue(delegate.isClass());
assertFalse(delegate.isEnum());
- // assertFalse(rtd.isWeavable());
- // try {
- // assertTrue(delegate.hasBeenWoven());
- // fail("expected exception");
- // } catch (IllegalStateException ise) {
- // // success
- // }
+ // assertFalse(rtd.isWeavable());
+ // try {
+ // assertTrue(delegate.hasBeenWoven());
+ // fail("expected exception");
+ // } catch (IllegalStateException ise) {
+ // // success
+ // }
// Confirm demoted:
assertNull(w.getTypeMap().get("Lcom/foo/Color;"));
// Aspects are never demoted and so never have a per clause, declares or type mungers
assertNull(delegate.getPerClause());
- assertEquals(0,delegate.getDeclares().size());
- assertEquals(0,delegate.getTypeMungers().size());
+ assertEquals(0, delegate.getDeclares().size());
+ assertEquals(0, delegate.getTypeMungers().size());
assertFalse(delegate.isAspect());
- assertEquals(0,delegate.getPrivilegedAccesses().size());
- assertEquals(0,delegate.getDeclaredPointcuts().length);
+ assertEquals(0, delegate.getPrivilegedAccesses().size());
+ assertEquals(0, delegate.getDeclaredPointcuts().length);
assertFalse(delegate.isAnnotationStyleAspect());
assertFalse(delegate.isAnnotationWithRuntimeRetention());
assertNull(w.getTypeMap().get("Lcom/foo/Extender;"));
rt = w.resolveToReferenceType("com.foo.Extender");
delegate = rt.getDelegate();
- assertEquals("[com.foo.Marker]",stringify(delegate.getDeclaredInterfaces()));
- assertEquals("com.foo.Super",delegate.getSuperclass().toString());
+ assertEquals("[com.foo.Marker]", stringify(delegate.getDeclaredInterfaces()));
+ assertEquals("com.foo.Super", delegate.getSuperclass().toString());
// this has one fixed annotation that is a well known one
// Confirm demoted:
assertNull(annoType);
rt = w.resolveToReferenceType("com.foo.Anno");
delegate = rt.getDelegate();
- assertEquals("[Anno[Ljava/lang/annotation/Retention; rVis value=E(Ljava/lang/annotation/RetentionPolicy; RUNTIME)]]",stringify(delegate.getAnnotations()));
- assertEquals("[java.lang.annotation.Retention]",stringify(delegate.getAnnotationTypes()));
+ assertEquals("[Anno[Ljava/lang/annotation/Retention; rVis value=E(Ljava/lang/annotation/RetentionPolicy; RUNTIME)]]",
+ stringify(delegate.getAnnotations()));
+ assertEquals("[java.lang.annotation.Retention]", stringify(delegate.getAnnotationTypes()));
assertTrue(delegate.isAnnotationWithRuntimeRetention());
- assertEquals("RUNTIME",delegate.getRetentionPolicy());
+ assertEquals("RUNTIME", delegate.getRetentionPolicy());
// this has a bunch of well known ones
rt = w.resolveToReferenceType("com.foo.Anno2");
delegate = rt.getDelegate();
- assertEquals("[Anno[Ljava/lang/Deprecated; rVis] Anno[Ljava/lang/annotation/Inherited; rVis] Anno[Ljava/lang/annotation/Retention; rVis value=E(Ljava/lang/annotation/RetentionPolicy; CLASS)]]",
+ assertEquals(
+ "[Anno[Ljava/lang/Deprecated; rVis] Anno[Ljava/lang/annotation/Inherited; rVis] Anno[Ljava/lang/annotation/Retention; rVis value=E(Ljava/lang/annotation/RetentionPolicy; CLASS)]]",
stringify(delegate.getAnnotations()));
- assertEquals("[java.lang.Deprecated java.lang.annotation.Inherited java.lang.annotation.Retention]",stringify(delegate.getAnnotationTypes()));
+ assertEquals("[java.lang.Deprecated java.lang.annotation.Inherited java.lang.annotation.Retention]",
+ stringify(delegate.getAnnotationTypes()));
assertFalse(delegate.isAnnotationWithRuntimeRetention());
- assertEquals("CLASS",delegate.getRetentionPolicy());
+ assertEquals("CLASS", delegate.getRetentionPolicy());
assertTrue(delegate.hasAnnotation(UnresolvedType.forSignature("Ljava/lang/annotation/Inherited;")));
assertTrue(delegate.hasAnnotation(UnresolvedType.forSignature("Ljava/lang/annotation/Retention;")));
assertFalse(delegate.hasAnnotation(UnresolvedType.forSignature("Lcom/foo/Anno;")));
rt = w.resolveToReferenceType("com.foo.Anno3");
delegate = rt.getDelegate();
System.out.println(stringify(delegate.getAnnotations()));
- assertEquals("[Anno[Lcom/foo/Anno; rVis] Anno[Ljava/lang/annotation/Retention; rVis value=E(Ljava/lang/annotation/RetentionPolicy; SOURCE)]]",stringify(delegate.getAnnotations()));
- assertEquals("[com.foo.Anno java.lang.annotation.Retention]",stringify(delegate.getAnnotationTypes()));
+ assertEquals(
+ "[Anno[Lcom/foo/Anno; rVis] Anno[Ljava/lang/annotation/Retention; rVis value=E(Ljava/lang/annotation/RetentionPolicy; SOURCE)]]",
+ stringify(delegate.getAnnotations()));
+ assertEquals("[com.foo.Anno java.lang.annotation.Retention]", stringify(delegate.getAnnotationTypes()));
assertFalse(delegate.isAnnotationWithRuntimeRetention());
- assertEquals("SOURCE",delegate.getRetentionPolicy());
+ assertEquals("SOURCE", delegate.getRetentionPolicy());
// this has two non-well known ones
rt = w.resolveToReferenceType("com.foo.Anno4");
delegate = rt.getDelegate();
- assertEquals("[Anno[Lcom/foo/Anno2; rInvis] Anno[Lcom/foo/Anno; rVis]]",stringify(delegate.getAnnotations()));
- assertEquals("[com.foo.Anno2 com.foo.Anno]",stringify(delegate.getAnnotationTypes()));
+ assertEquals("[Anno[Lcom/foo/Anno2; rInvis] Anno[Lcom/foo/Anno; rVis]]", stringify(delegate.getAnnotations()));
+ assertEquals("[com.foo.Anno2 com.foo.Anno]", stringify(delegate.getAnnotationTypes()));
assertFalse(delegate.isAnnotationWithRuntimeRetention());
assertNull(delegate.getRetentionPolicy());
assertTrue(delegate.hasAnnotation(UnresolvedType.forSignature("Lcom/foo/Anno;")));
-
rt = w.resolveToReferenceType("com.foo.Colored");
delegate = rt.getDelegate();
AnnotationAJ annotation = delegate.getAnnotations()[0]; // should be ColorAnno(c=Color.G)
assertTrue(annotation.hasNamedValue("c"));
assertFalse(annotation.hasNamedValue("value"));
- assertTrue(annotation.hasNameValuePair("c","Lcom/foo/Color;G"));
- assertFalse(annotation.hasNameValuePair("c","Lcom/foo/Color;B"));
- assertFalse(annotation.hasNameValuePair("d","xxx"));
+ assertTrue(annotation.hasNameValuePair("c", "Lcom/foo/Color;G"));
+ assertFalse(annotation.hasNameValuePair("c", "Lcom/foo/Color;B"));
+ assertFalse(annotation.hasNameValuePair("d", "xxx"));
assertNull(annotation.getStringFormOfValue("d"));
- assertEquals("Lcom/foo/Color;G",annotation.getStringFormOfValue("c"));
- assertEquals(0,annotation.getTargets().size());
+ assertEquals("Lcom/foo/Color;G", annotation.getStringFormOfValue("c"));
+ assertEquals(0, annotation.getTargets().size());
assertTrue(delegate.isCacheable());
assertFalse(delegate.isExposedToWeaver());
- // assertEquals(w.resolve(UnresolvedType.forSignature("Lcom/foo/Colored;")),delegate.getResolvedTypeX());
+ // assertEquals(w.resolve(UnresolvedType.forSignature("Lcom/foo/Colored;")),delegate.getResolvedTypeX());
- assertEquals("com/foo/Colored.java",delegate.getSourcefilename());
+ assertEquals("com/foo/Colored.java", delegate.getSourcefilename());
// Anno5 has an @Target annotation
rt = w.resolveToReferenceType("com.foo.Anno5");
delegate = rt.getDelegate();
annotation = delegate.getAnnotations()[0]; // should be @Target(TYPE,FIELD)
Set<String> ss = annotation.getTargets();
- assertEquals(2,ss.size());
+ assertEquals(2, ss.size());
assertTrue(ss.contains("FIELD"));
assertTrue(ss.contains("TYPE"));
- // AnnotationTargetKind[] kinds = delegate.getAnnotationTargetKinds();
- // assertEquals("FIELD",kinds[0].getName());
- // assertEquals("TYPE",kinds[1].getName());
+ // AnnotationTargetKind[] kinds = delegate.getAnnotationTargetKinds();
+ // assertEquals("FIELD",kinds[0].getName());
+ // assertEquals("TYPE",kinds[1].getName());
rt = w.resolveToReferenceType("com.foo.Inners$Inner");
delegate = rt.getDelegate();
assertTrue(delegate.isNested());
- assertEquals("com.foo.Inners",delegate.getOuterClass().getName());
+ assertEquals("com.foo.Inners", delegate.getOuterClass().getName());
rt = w.resolveToReferenceType("com.foo.Inners$1");
delegate = rt.getDelegate();
assertTrue(delegate.isAnonymous());
assertTrue(delegate.isNested());
- // delegate = w.resolveToReferenceType("com.foo.Anno6").getDelegate();
- // kinds = delegate.getAnnotationTargetKinds();
- // assertEquals(6,kinds.length);
- // String s = stringify(kinds);
- // assertTrue(s.contains("ANNOTATION_TYPE"));
- // assertTrue(s.contains("LOCAL_VARIABLE"));
- // assertTrue(s.contains("METHOD"));
- // assertTrue(s.contains("PARAMETER"));
- // assertTrue(s.contains("PACKAGE"));
- // assertTrue(s.contains("CONSTRUCTOR"));
+ // delegate = w.resolveToReferenceType("com.foo.Anno6").getDelegate();
+ // kinds = delegate.getAnnotationTargetKinds();
+ // assertEquals(6,kinds.length);
+ // String s = stringify(kinds);
+ // assertTrue(s.contains("ANNOTATION_TYPE"));
+ // assertTrue(s.contains("LOCAL_VARIABLE"));
+ // assertTrue(s.contains("METHOD"));
+ // assertTrue(s.contains("PARAMETER"));
+ // assertTrue(s.contains("PACKAGE"));
+ // assertTrue(s.contains("CONSTRUCTOR"));
delegate = w.resolveToReferenceType("com.foo.Marker").getDelegate();
assertTrue(delegate.isInterface());
private String stringify(Object[] arr) {
StringBuilder s = new StringBuilder();
- for (int i=0;i<arr.length;i++) {
+ for (int i = 0; i < arr.length; i++) {
s.append(arr[i]);
s.append(" ");
}
- return "["+s.toString().trim()+"]";
+ return "[" + s.toString().trim() + "]";
}
public void testDeletionInnerAspects_278496_4() throws Exception {
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
- // MyOtherClass.java [java source file] 1 hid:=PR278496_4<foo{MyOtherClass.java
- // foo [package declaration] 1 hid:=PR278496_4<foo{MyOtherClass.java%foo
- // [import reference] hid:=PR278496_4<foo{MyOtherClass.java#
- // MyOtherClass [class] 2 hid:=PR278496_4<foo{MyOtherClass.java[MyOtherClass
- // MyInnerClass [class] 4 hid:=PR278496_4<foo{MyOtherClass.java[MyOtherClass[MyInnerClass
- // MyInnerInnerAspect [aspect] 6 hid:=PR278496_4<foo{MyOtherClass.java[MyOtherClass[MyInnerClass}MyInnerInnerAspect
- // before(): <anonymous pointcut> [advice] 8 hid:=PR278496_4<foo{MyOtherClass.java[MyOtherClass[MyInnerClass}MyInnerInnerAspect&before
- // MyClass.java [java source file] 1 hid:=PR278496_4<foo{MyClass.java
- // foo [package declaration] 1 hid:=PR278496_4<foo{MyClass.java%foo
- // [import reference] hid:=PR278496_4<foo{MyClass.java#
- // MyClass [class] 9 hid:=PR278496_4<foo{MyClass.java[MyClass
- // main(java.lang.String[]) [method] 12 hid:=PR278496_4<foo{MyClass.java[MyClass~main~\[QString;
- // method1() [method] 16 hid:=PR278496_4<foo{MyClass.java[MyClass~method1
- // method2() [method] 18 hid:=PR278496_4<foo{MyClass.java[MyClass~method2
- // Hid:1:(targets=1) =PR278496_4<foo{MyClass.java[MyClass~method1 (advised by) =PR278496_4<foo{MyOtherClass.java[MyOtherClass[MyInnerClass}MyInnerInnerAspect&before
- // Hid:2:(targets=1) =PR278496_4<foo{MyOtherClass.java[MyOtherClass[MyInnerClass}MyInnerInnerAspect&before (advises) =PR278496_4<foo{MyClass.java[MyClass~method1
+ // PR278496_4 [build configuration file] hid:=PR278496_4
+ // foo [package] hid:=PR278496_4<foo
+ // MyOtherClass.java [java source file] 1 hid:=PR278496_4<foo{MyOtherClass.java
+ // foo [package declaration] 1 hid:=PR278496_4<foo{MyOtherClass.java%foo
+ // [import reference] hid:=PR278496_4<foo{MyOtherClass.java#
+ // MyOtherClass [class] 2 hid:=PR278496_4<foo{MyOtherClass.java[MyOtherClass
+ // MyInnerClass [class] 4 hid:=PR278496_4<foo{MyOtherClass.java[MyOtherClass[MyInnerClass
+ // MyInnerInnerAspect [aspect] 6 hid:=PR278496_4<foo{MyOtherClass.java[MyOtherClass[MyInnerClass}MyInnerInnerAspect
+ // before(): <anonymous pointcut> [advice] 8
+ // hid:=PR278496_4<foo{MyOtherClass.java[MyOtherClass[MyInnerClass}MyInnerInnerAspect&before
+ // MyClass.java [java source file] 1 hid:=PR278496_4<foo{MyClass.java
+ // foo [package declaration] 1 hid:=PR278496_4<foo{MyClass.java%foo
+ // [import reference] hid:=PR278496_4<foo{MyClass.java#
+ // MyClass [class] 9 hid:=PR278496_4<foo{MyClass.java[MyClass
+ // main(java.lang.String[]) [method] 12 hid:=PR278496_4<foo{MyClass.java[MyClass~main~\[QString;
+ // method1() [method] 16 hid:=PR278496_4<foo{MyClass.java[MyClass~method1
+ // method2() [method] 18 hid:=PR278496_4<foo{MyClass.java[MyClass~method2
+ // Hid:1:(targets=1) =PR278496_4<foo{MyClass.java[MyClass~method1 (advised by)
+ // =PR278496_4<foo{MyOtherClass.java[MyOtherClass[MyInnerClass}MyInnerInnerAspect&before
+ // Hid:2:(targets=1) =PR278496_4<foo{MyOtherClass.java[MyOtherClass[MyInnerClass}MyInnerInnerAspect&before (advises)
+ // =PR278496_4<foo{MyClass.java[MyClass~method1
AspectJElementHierarchy model = (AspectJElementHierarchy) getModelFor(p).getHierarchy();
IProgramElement ipe = model.findElementForHandleOrCreate(
}
public void testDeletionAnonInnerType_278496_8() throws Exception {
- AjdeInteractionTestbed.VERBOSE=true;
+ AjdeInteractionTestbed.VERBOSE = true;
String p = "pr278496_8";
initialiseProject(p);
configureNonStandardCompileOptions(p, "-Xset:minimalModel=true");
build(p);
checkWasFullBuild();
- // printModel(p);
+ // 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
+ // 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(