diff options
author | aclement <aclement> | 2008-10-30 15:45:15 +0000 |
---|---|---|
committer | aclement <aclement> | 2008-10-30 15:45:15 +0000 |
commit | 394ad33a0cba7c7254602d2ccd25e15decd03c2e (patch) | |
tree | 5df0b0ae7d5438d501d8d8cf049aff87aa7d5c45 /tests | |
parent | 33193b5616710b1ebd6b88dd7f78b4b8916f7dec (diff) | |
download | aspectj-394ad33a0cba7c7254602d2ccd25e15decd03c2e.tar.gz aspectj-394ad33a0cba7c7254602d2ccd25e15decd03c2e.zip |
252702: declare parents in model
Diffstat (limited to 'tests')
3 files changed, 44 insertions, 0 deletions
diff --git a/tests/multiIncremental/decps/base/src/a/A.java b/tests/multiIncremental/decps/base/src/a/A.java new file mode 100644 index 000000000..f1ba48d1a --- /dev/null +++ b/tests/multiIncremental/decps/base/src/a/A.java @@ -0,0 +1,8 @@ +package a; +import java.io.*; + +public aspect A { + declare parents: p.C implements Serializable,Goo; +} + +interface Goo {} diff --git a/tests/multiIncremental/decps/base/src/p/C.java b/tests/multiIncremental/decps/base/src/p/C.java new file mode 100644 index 000000000..623eeda24 --- /dev/null +++ b/tests/multiIncremental/decps/base/src/p/C.java @@ -0,0 +1,4 @@ +package p; + +class C { +} diff --git a/tests/src/org/aspectj/systemtest/incremental/tools/MultiProjectIncrementalTests.java b/tests/src/org/aspectj/systemtest/incremental/tools/MultiProjectIncrementalTests.java index 01e34e86b..3e81e98e0 100644 --- a/tests/src/org/aspectj/systemtest/incremental/tools/MultiProjectIncrementalTests.java +++ b/tests/src/org/aspectj/systemtest/incremental/tools/MultiProjectIncrementalTests.java @@ -48,6 +48,27 @@ import org.aspectj.util.FileUtil; */ public class MultiProjectIncrementalTests extends AbstractMultiProjectIncrementalAjdeInteractionTestbed { + public void testDeclareParentsInModel() { + String p = "decps"; + initialiseProject(p); + build(p); + IProgramElement decp = getModelFor(p).getHierarchy().findElementForHandle("=decps<a{A.java}A`declare parents"); + List ps = decp.getParentTypes(); + assertNotNull(ps); + assertEquals(2, ps.size()); + int count = 0; + for (Iterator iterator = ps.iterator(); iterator.hasNext();) { + String type = (String) iterator.next(); + if (type.equals("java.io.Serializable")) { + count++; + } + if (type.equals("a.Goo")) { + count++; + } + } + assertEquals("Should have found the two types in: " + ps, 2, count); + } + /* * A.aj package pack; public aspect A { pointcut p() : call( C.method before() : p() { // line 7 } } * @@ -378,6 +399,17 @@ public class MultiProjectIncrementalTests extends AbstractMultiProjectIncrementa for (int i = 0; i < indent; i++) System.out.print(" "); System.out.println(" hid is " + node.getHandleIdentifier()); + // Map m = ((ProgramElement) node).kvpairs; + // if (m != null) { + // Set keys = m.keySet(); + // for (Iterator iterator = keys.iterator(); iterator.hasNext();) { + // Object object = (Object) iterator.next(); + // + // for (int i = 0; i < indent; i++) + // System.out.print(" "); + // System.out.println("kvp: " + object + " = " + m.get(object)); + // } + // } for (Iterator i = node.getChildren().iterator(); i.hasNext();) { dumptree((IProgramElement) i.next(), indent + 2); } |