aboutsummaryrefslogtreecommitdiffstats
path: root/tests/model
diff options
context:
space:
mode:
authoraclement <aclement>2006-08-22 08:20:36 +0000
committeraclement <aclement>2006-08-22 08:20:36 +0000
commit50f8ecc4339442c7abaf4d3a9995c1434b768ef2 (patch)
tree75ca9caf60a4a9bd592b162dbc79146188fe1fc6 /tests/model
parent8b393cc90d5d63171154713e5a73044a1a2fddaf (diff)
downloadaspectj-50f8ecc4339442c7abaf4d3a9995c1434b768ef2.tar.gz
aspectj-50f8ecc4339442c7abaf4d3a9995c1434b768ef2.zip
refactored tests for 154552 - use new model testing structure
Diffstat (limited to 'tests/model')
-rw-r--r--tests/model/PR141730_1/pr141730.aj33
-rw-r--r--tests/model/expected/pr115607.txt24
-rw-r--r--tests/model/expected/pr120356.txt31
-rw-r--r--tests/model/expected/pr131932.txt32
-rw-r--r--tests/model/expected/pr132130.txt30
-rw-r--r--tests/model/expected/pr141730_1.txt54
-rw-r--r--tests/model/expected/pr141730_2.txt38
-rw-r--r--tests/model/expected/pr141730_3.txt23
-rw-r--r--tests/model/expected/pr141730_4.txt43
-rw-r--r--tests/model/expected/pr143924.txt24
-rw-r--r--tests/model/expected/pr148027.txt37
-rw-r--r--tests/model/expected/pr77269_1.txt30
-rw-r--r--tests/model/expected/pr77269_2.txt28
-rw-r--r--tests/model/expected/pr77269_3.txt29
-rw-r--r--tests/model/pr115607/pr115607.java7
-rw-r--r--tests/model/pr120356/A.java15
-rw-r--r--tests/model/pr120356/C.java11
-rw-r--r--tests/model/pr131932/pr131932.aj21
-rw-r--r--tests/model/pr132130/pr132130.aj17
-rw-r--r--tests/model/pr141730_2/pr141730.aj22
-rw-r--r--tests/model/pr141730_3/MyBar.aj9
-rw-r--r--tests/model/pr141730_3/MyFoo.java11
-rw-r--r--tests/model/pr141730_3/README.txt3
-rw-r--r--tests/model/pr141730_3/aspectpath.jarbin0 -> 1377 bytes
-rw-r--r--tests/model/pr141730_4/MyAnnotation.java5
-rw-r--r--tests/model/pr141730_4/MyBar.aj18
-rw-r--r--tests/model/pr141730_4/MyFoo.java25
-rw-r--r--tests/model/pr141730_4/NewClass.java5
-rw-r--r--tests/model/pr141730_4/README.txt3
-rw-r--r--tests/model/pr141730_4/inpath.jarbin0 -> 739 bytes
-rw-r--r--tests/model/pr143924/pr143924.aj13
-rw-r--r--tests/model/pr148027/A.aj15
-rw-r--r--tests/model/pr148027/C.aj10
-rw-r--r--tests/model/pr77269_1/pack/pr77269.aj24
-rw-r--r--tests/model/pr77269_2/pr77269b.aj23
-rw-r--r--tests/model/pr77269_3/pack/pr77269c.aj19
36 files changed, 732 insertions, 0 deletions
diff --git a/tests/model/PR141730_1/pr141730.aj b/tests/model/PR141730_1/pr141730.aj
new file mode 100644
index 000000000..1698abd3a
--- /dev/null
+++ b/tests/model/PR141730_1/pr141730.aj
@@ -0,0 +1,33 @@
+aspect A {
+
+ pointcut p() : execution(* *.*(..)) || execution(*.new(..));
+
+ before() : p() {
+
+ }
+
+}
+
+class C {
+
+ public C() {}
+
+ public void method() {}
+
+ public void intMethod(int i) {}
+
+ public void stringMethod(String s) {}
+
+ public void myClassMethod(MyClass s) {}
+
+ public void twoArgsMethod(int i, String s) {}
+
+ public static void main(String[] args) {}
+
+ public void multiMethod(String[][] s) {}
+
+ public void intArray(int[] i) {}
+
+}
+
+class MyClass {}
diff --git a/tests/model/expected/pr115607.txt b/tests/model/expected/pr115607.txt
new file mode 100644
index 000000000..dfee43ad1
--- /dev/null
+++ b/tests/model/expected/pr115607.txt
@@ -0,0 +1,24 @@
+=== MODEL STATUS REPORT ========= After a batch build
+<root> [java source file]
+ pr115607.java [java source file] TEST_SANDBOX\pr115607.java:1:
+ import declarations [import reference]
+ I [annotation] TEST_SANDBOX\pr115607.java:1:
+ Simple [class] TEST_SANDBOX\pr115607.java:3:
+ pr115607 [aspect] TEST_SANDBOX\pr115607.java:5:
+ declare @type: Simple : @I [declare @type] TEST_SANDBOX\pr115607.java:6:
+=== END OF MODEL REPORT =========
+=== RELATIONSHIPS REPORT ========= After a batch build
+(targets=1) {pr115607.java}pr115607`declare @type (annotates) {pr115607.java[Simple
+(targets=1) {pr115607.java[Simple (annotated by) {pr115607.java}pr115607`declare @type
+(targets=1) {pr115607.java (annotates) {pr115607.java
+(targets=1) {pr115607.java (annotated by) {pr115607.java
+=== END OF RELATIONSHIPS REPORT ==
+=== Properties of the model and relationships map =====
+annotation=1
+FileMapSize=1
+aspect=1
+RelationshipMapSize=3
+java source file=2
+declare @type=1
+import reference=1
+class=1
diff --git a/tests/model/expected/pr120356.txt b/tests/model/expected/pr120356.txt
new file mode 100644
index 000000000..97d46d160
--- /dev/null
+++ b/tests/model/expected/pr120356.txt
@@ -0,0 +1,31 @@
+=== MODEL STATUS REPORT ========= After a failed batch build
+<root> [java source file]
+ A.java [java source file] TEST_SANDBOX\A.java:1:
+ import declarations [import reference]
+ org.aspectj.lang.annotation.DeclareError [import reference] TEST_SANDBOX\A.java:4:
+ org.aspectj.lang.annotation.DeclareWarning [import reference] TEST_SANDBOX\A.java:3:
+ org.aspectj.lang.annotation.Aspect [import reference] TEST_SANDBOX\A.java:2:
+ A [aspect] TEST_SANDBOX\A.java:7:
+ warning [field] TEST_SANDBOX\A.java:10:
+ error [field] TEST_SANDBOX\A.java:13:
+ C.java [java source file] TEST_SANDBOX\C.java:1:
+ import declarations [import reference]
+ C [class] TEST_SANDBOX\C.java:3:
+ warningMethod() [method] TEST_SANDBOX\C.java:5:
+ badMethod() [method] TEST_SANDBOX\C.java:8:
+=== END OF MODEL REPORT =========
+=== RELATIONSHIPS REPORT ========= After a failed batch build
+(targets=1) {A.java}A^warning (matched by) {C.java[C~warningMethod
+(targets=1) {C.java[C~badMethod (matches declare) {A.java}A^error
+(targets=1) {C.java[C~warningMethod (matches declare) {A.java}A^warning
+(targets=1) {A.java}A^error (matched by) {C.java[C~badMethod
+=== END OF RELATIONSHIPS REPORT ==
+=== Properties of the model and relationships map =====
+FileMapSize=2
+aspect=1
+RelationshipMapSize=4
+java source file=3
+import reference=5
+class=1
+field=2
+method=2
diff --git a/tests/model/expected/pr131932.txt b/tests/model/expected/pr131932.txt
new file mode 100644
index 000000000..ff0ad9e9b
--- /dev/null
+++ b/tests/model/expected/pr131932.txt
@@ -0,0 +1,32 @@
+=== MODEL STATUS REPORT ========= After a batch build
+<root> [java source file]
+ pr131932.aj [java source file] TEST_SANDBOX\pr131932.aj:1:
+ import declarations [import reference]
+ java.util.List [import reference] TEST_SANDBOX\pr131932.aj:1:
+ Slide74 [aspect] TEST_SANDBOX\pr131932.aj:3:
+ Bar [class] TEST_SANDBOX\pr131932.aj:13:
+ lts [field] TEST_SANDBOX\pr131932.aj:14:
+ Bar.getFirst() [inter-type method] TEST_SANDBOX\pr131932.aj:5:
+ Foo.Foo(java.util.List<T>) [inter-type constructor] TEST_SANDBOX\pr131932.aj:9:
+ Bar.children [inter-type field] TEST_SANDBOX\pr131932.aj:11:
+ Foo [class] TEST_SANDBOX\pr131932.aj:19:
+=== END OF MODEL REPORT =========
+=== RELATIONSHIPS REPORT ========= After a batch build
+(targets=1) *pr131932.aj}Slide74)Foo.Foo)QList\<TT;>; (declared on) *pr131932.aj[Foo
+(targets=2) *pr131932.aj}Slide74[Bar (aspect declarations) *pr131932.aj}Slide74)Bar.getFirst
+(targets=2) *pr131932.aj}Slide74[Bar (aspect declarations) *pr131932.aj}Slide74)Bar.children
+(targets=1) *pr131932.aj}Slide74)Bar.children (declared on) *pr131932.aj}Slide74[Bar
+(targets=1) *pr131932.aj[Foo (aspect declarations) *pr131932.aj}Slide74)Foo.Foo)QList\<TT;>;
+(targets=1) *pr131932.aj}Slide74)Bar.getFirst (declared on) *pr131932.aj}Slide74[Bar
+=== END OF RELATIONSHIPS REPORT ==
+=== Properties of the model and relationships map =====
+import reference=2
+aspect=1
+inter-type field=1
+class=2
+inter-type constructor=1
+RelationshipMapSize=5
+FileMapSize=1
+field=1
+inter-type method=1
+java source file=2
diff --git a/tests/model/expected/pr132130.txt b/tests/model/expected/pr132130.txt
new file mode 100644
index 000000000..812748022
--- /dev/null
+++ b/tests/model/expected/pr132130.txt
@@ -0,0 +1,30 @@
+=== MODEL STATUS REPORT ========= After a batch build
+<root> [java source file]
+ pr132130.aj [java source file] TEST_SANDBOX\pr132130.aj:1:
+ import declarations [import reference]
+ basic [aspect] TEST_SANDBOX\pr132130.aj:1:
+ declare @method: * debit(..) : @Secured(role = "supervisor") [declare @method] TEST_SANDBOX\pr132130.aj:3:
+ declare @constructor: BankAccount+.new(..) : @Secured(role = "supervisor") [declare @constructor] TEST_SANDBOX\pr132130.aj:4:
+ BankAccount [class] TEST_SANDBOX\pr132130.aj:7:
+ BankAccount(java.lang.String,int) [constructor] TEST_SANDBOX\pr132130.aj:9:
+ debit(long,long) [method] TEST_SANDBOX\pr132130.aj:11:
+ Secured [annotation] TEST_SANDBOX\pr132130.aj:15:
+=== END OF MODEL REPORT =========
+=== RELATIONSHIPS REPORT ========= After a batch build
+(targets=1) *pr132130.aj[BankAccount~BankAccount~QString;~I (annotated by) *pr132130.aj}basic`declare @constructor!2
+(targets=1) *pr132130.aj}basic`declare @constructor!2 (annotates) *pr132130.aj[BankAccount~BankAccount~QString;~I
+(targets=1) *pr132130.aj[BankAccount~debit~J~J (annotated by) *pr132130.aj}basic`declare @method
+(targets=1) *pr132130.aj}basic`declare @method (annotates) *pr132130.aj[BankAccount~debit~J~J
+=== END OF RELATIONSHIPS REPORT ==
+=== Properties of the model and relationships map =====
+method=1
+import reference=1
+aspect=1
+declare @method=1
+constructor=1
+declare @constructor=1
+class=1
+annotation=1
+RelationshipMapSize=4
+FileMapSize=1
+java source file=2
diff --git a/tests/model/expected/pr141730_1.txt b/tests/model/expected/pr141730_1.txt
new file mode 100644
index 000000000..3ca7a5502
--- /dev/null
+++ b/tests/model/expected/pr141730_1.txt
@@ -0,0 +1,54 @@
+=== MODEL STATUS REPORT ========= After a batch build
+<root> [java source file]
+ pr141730.aj [java source file] TEST_SANDBOX\pr141730.aj:1:
+ import declarations [import reference]
+ A [aspect] TEST_SANDBOX\pr141730.aj:1:
+ p() [pointcut] TEST_SANDBOX\pr141730.aj:3:
+ before(): p.. [advice] TEST_SANDBOX\pr141730.aj:5:
+ C [class] TEST_SANDBOX\pr141730.aj:11:
+ C() [constructor] TEST_SANDBOX\pr141730.aj:13:
+ method() [method] TEST_SANDBOX\pr141730.aj:15:
+ intMethod(int) [method] TEST_SANDBOX\pr141730.aj:17:
+ stringMethod(java.lang.String) [method] TEST_SANDBOX\pr141730.aj:19:
+ myClassMethod(MyClass) [method] TEST_SANDBOX\pr141730.aj:21:
+ twoArgsMethod(int,java.lang.String) [method] TEST_SANDBOX\pr141730.aj:23:
+ main(java.lang.String[]) [method] TEST_SANDBOX\pr141730.aj:25:
+ multiMethod(java.lang.String[][]) [method] TEST_SANDBOX\pr141730.aj:27:
+ intArray(int[]) [method] TEST_SANDBOX\pr141730.aj:29:
+ MyClass [class] TEST_SANDBOX\pr141730.aj:33:
+=== END OF MODEL REPORT =========
+=== RELATIONSHIPS REPORT ========= After a batch build
+(targets=1) *pr141730.aj[C~intMethod~I (advised by) *pr141730.aj}A&before
+(targets=1) *pr141730.aj[C~main~\[QString; (advised by) *pr141730.aj}A&before
+(targets=1) *pr141730.aj[C~intArray~\[I (advised by) *pr141730.aj}A&before
+(targets=1) *pr141730.aj[C~twoArgsMethod~I~QString; (advised by) *pr141730.aj}A&before
+(targets=1) *pr141730.aj[C~stringMethod~QString; (advised by) *pr141730.aj}A&before
+(targets=1) *pr141730.aj[C~myClassMethod~LMyClass; (advised by) *pr141730.aj}A&before
+(targets=1) *pr141730.aj}A (advised by) *pr141730.aj}A&before
+(targets=1) *pr141730.aj[C~C (advised by) *pr141730.aj}A&before
+(targets=1) *pr141730.aj[C~multiMethod~\[[String; (advised by) *pr141730.aj}A&before
+(targets=1) *pr141730.aj[MyClass (advised by) *pr141730.aj}A&before
+(targets=11) *pr141730.aj}A&before (advises) *pr141730.aj}A
+(targets=11) *pr141730.aj}A&before (advises) *pr141730.aj[MyClass
+(targets=11) *pr141730.aj}A&before (advises) *pr141730.aj[C~C
+(targets=11) *pr141730.aj}A&before (advises) *pr141730.aj[C~method
+(targets=11) *pr141730.aj}A&before (advises) *pr141730.aj[C~intMethod~I
+(targets=11) *pr141730.aj}A&before (advises) *pr141730.aj[C~stringMethod~QString;
+(targets=11) *pr141730.aj}A&before (advises) *pr141730.aj[C~myClassMethod~LMyClass;
+(targets=11) *pr141730.aj}A&before (advises) *pr141730.aj[C~twoArgsMethod~I~QString;
+(targets=11) *pr141730.aj}A&before (advises) *pr141730.aj[C~main~\[QString;
+(targets=11) *pr141730.aj}A&before (advises) *pr141730.aj[C~multiMethod~\[[String;
+(targets=11) *pr141730.aj}A&before (advises) *pr141730.aj[C~intArray~\[I
+(targets=1) *pr141730.aj[C~method (advised by) *pr141730.aj}A&before
+=== END OF RELATIONSHIPS REPORT ==
+=== Properties of the model and relationships map =====
+method=8
+import reference=1
+aspect=1
+constructor=1
+class=2
+advice=1
+pointcut=1
+RelationshipMapSize=12
+FileMapSize=1
+java source file=2
diff --git a/tests/model/expected/pr141730_2.txt b/tests/model/expected/pr141730_2.txt
new file mode 100644
index 000000000..010773f01
--- /dev/null
+++ b/tests/model/expected/pr141730_2.txt
@@ -0,0 +1,38 @@
+=== MODEL STATUS REPORT ========= After a batch build
+<root> [java source file]
+ pr141730.aj [java source file] TEST_SANDBOX\pr141730.aj:1:
+ import declarations [import reference]
+ java.util.List [import reference] TEST_SANDBOX\pr141730.aj:1:
+ A [aspect] TEST_SANDBOX\pr141730.aj:3:
+ p() [pointcut] TEST_SANDBOX\pr141730.aj:5:
+ before(): p.. [advice] TEST_SANDBOX\pr141730.aj:7:
+ C [class] TEST_SANDBOX\pr141730.aj:13:
+ genericMethod(java.util.List<java.lang.String>) [method] TEST_SANDBOX\pr141730.aj:15:
+ genericMethod2(MyGenericClass<java.lang.String,MyClass>) [method] TEST_SANDBOX\pr141730.aj:16:
+ MyClass [class] TEST_SANDBOX\pr141730.aj:20:
+ MyGenericClass [class] TEST_SANDBOX\pr141730.aj:22:
+=== END OF MODEL REPORT =========
+=== RELATIONSHIPS REPORT ========= After a batch build
+(targets=1) *pr141730.aj[MyGenericClass (advised by) *pr141730.aj}A&before
+(targets=1) *pr141730.aj[MyClass (advised by) *pr141730.aj}A&before
+(targets=1) *pr141730.aj[C~genericMethod2~PMyGenericClass\<QString;LMyClass;>; (advised by) *pr141730.aj}A&before
+(targets=1) *pr141730.aj[C~genericMethod~QList\<QString;>; (advised by) *pr141730.aj}A&before
+(targets=1) *pr141730.aj}A (advised by) *pr141730.aj}A&before
+(targets=6) *pr141730.aj}A&before (advises) *pr141730.aj}A
+(targets=6) *pr141730.aj}A&before (advises) *pr141730.aj[MyClass
+(targets=6) *pr141730.aj}A&before (advises) *pr141730.aj[MyGenericClass
+(targets=6) *pr141730.aj}A&before (advises) *pr141730.aj[C
+(targets=6) *pr141730.aj}A&before (advises) *pr141730.aj[C~genericMethod~QList\<QString;>;
+(targets=6) *pr141730.aj}A&before (advises) *pr141730.aj[C~genericMethod2~PMyGenericClass\<QString;LMyClass;>;
+(targets=1) *pr141730.aj[C (advised by) *pr141730.aj}A&before
+=== END OF RELATIONSHIPS REPORT ==
+=== Properties of the model and relationships map =====
+method=2
+import reference=2
+aspect=1
+class=3
+advice=1
+pointcut=1
+RelationshipMapSize=7
+FileMapSize=1
+java source file=2
diff --git a/tests/model/expected/pr141730_3.txt b/tests/model/expected/pr141730_3.txt
new file mode 100644
index 000000000..2b3c3fb34
--- /dev/null
+++ b/tests/model/expected/pr141730_3.txt
@@ -0,0 +1,23 @@
+=== MODEL STATUS REPORT ========= After a batch build
+<root> [java source file]
+ foo [package]
+ MyFoo.java [java source file] TEST_SANDBOX\MyFoo.java:1:
+ import declarations [import reference]
+ MyFoo [class] TEST_SANDBOX\MyFoo.java:3:
+ callMain() [method] TEST_SANDBOX\MyFoo.java:5:
+ method-call(void foo.MyFoo.main()) [code] TEST_SANDBOX\MyFoo.java:6:
+ main() [method] TEST_SANDBOX\MyFoo.java:9:
+=== END OF MODEL REPORT =========
+=== RELATIONSHIPS REPORT ========= After a batch build
+(targets=1) <foo{MyFoo.java[MyFoo~callMain?method-call(void foo.MyFoo.main()) (advised by) {MyBar.class
+(targets=1) {MyBar.class (advises) <foo{MyFoo.java[MyFoo~callMain?method-call(void foo.MyFoo.main())
+=== END OF RELATIONSHIPS REPORT ==
+=== Properties of the model and relationships map =====
+package=1
+FileMapSize=1
+RelationshipMapSize=2
+java source file=2
+import reference=1
+code=1
+class=1
+method=2
diff --git a/tests/model/expected/pr141730_4.txt b/tests/model/expected/pr141730_4.txt
new file mode 100644
index 000000000..231bcb903
--- /dev/null
+++ b/tests/model/expected/pr141730_4.txt
@@ -0,0 +1,43 @@
+=== MODEL STATUS REPORT ========= After a batch build
+<root> [java source file]
+ bar [package]
+ MyBar.aj [java source file] TEST_SANDBOX\MyBar.aj:1:
+ import declarations [import reference]
+ foo.* [import reference] TEST_SANDBOX\MyBar.aj:3:
+ MyBar [aspect] TEST_SANDBOX\MyBar.aj:5:
+ before(): <anonymous pointcut> [advice] TEST_SANDBOX\MyBar.aj:7:
+ declare warning: "System.out should.." [declare warning] TEST_SANDBOX\MyBar.aj:9:
+ declare parents: extends NewClass [declare parents] TEST_SANDBOX\MyBar.aj:11:
+ declare @type: *Foo* : @MyAnnotation [declare @type] TEST_SANDBOX\MyBar.aj:13:
+ declare @method: public * *Foo.anotMethod(..) : @MyAnnotation [declare @method] TEST_SANDBOX\MyBar.aj:14:
+ declare @constructor: *Foo.new(java.lang.String) : @MyAnnotation [declare @constructor] TEST_SANDBOX\MyBar.aj:15:
+ declare @field: int *Foo.* : @MyAnnotation [declare @field] TEST_SANDBOX\MyBar.aj:16:
+ MyAnnotation.java [java source file] TEST_SANDBOX\MyAnnotation.java:1:
+ import declarations [import reference]
+ MyAnnotation [annotation] TEST_SANDBOX\MyAnnotation.java:3:
+ NewClass.java [java source file] TEST_SANDBOX\NewClass.java:1:
+ import declarations [import reference]
+ NewClass [class] TEST_SANDBOX\NewClass.java:3:
+=== END OF MODEL REPORT =========
+=== RELATIONSHIPS REPORT ========= After a batch build
+(targets=1) <bar*MyBar.aj}MyBar`declare parents!2 (declared on) {MyFoo.java
+(targets=1) {MyFoo.java (annotated by) <bar*MyBar.aj}MyBar`declare @type!3
+(targets=1) {MyFoo.java (aspect declarations) <bar*MyBar.aj}MyBar`declare parents!2
+(targets=1) <bar*MyBar.aj}MyBar`declare @type!3 (annotates) {MyFoo.java
+=== END OF RELATIONSHIPS REPORT ==
+=== Properties of the model and relationships map =====
+import reference=4
+aspect=1
+declare @method=1
+declare warning=1
+declare parents=1
+declare @type=1
+declare @constructor=1
+advice=1
+annotation=1
+class=1
+RelationshipMapSize=3
+FileMapSize=3
+package=1
+declare @field=1
+java source file=4
diff --git a/tests/model/expected/pr143924.txt b/tests/model/expected/pr143924.txt
new file mode 100644
index 000000000..26f8768eb
--- /dev/null
+++ b/tests/model/expected/pr143924.txt
@@ -0,0 +1,24 @@
+=== MODEL STATUS REPORT ========= After a batch build
+<root> [java source file]
+ pr143924.aj [java source file] TEST_SANDBOX\pr143924.aj:1:
+ import declarations [import reference]
+ DeclareAnnotation [aspect] TEST_SANDBOX\pr143924.aj:1:
+ declare @method: * debit(..) : @Secured(role = "supervisor") [declare @method] TEST_SANDBOX\pr143924.aj:2:
+ BankAccount [class] TEST_SANDBOX\pr143924.aj:5:
+ debit(java.lang.String,long) [method] TEST_SANDBOX\pr143924.aj:7:
+ Secured [annotation] TEST_SANDBOX\pr143924.aj:11:
+=== END OF MODEL REPORT =========
+=== RELATIONSHIPS REPORT ========= After a batch build
+(targets=1) *pr143924.aj}DeclareAnnotation`declare @method (annotates) *pr143924.aj[BankAccount~debit~QString;~J
+(targets=1) *pr143924.aj[BankAccount~debit~QString;~J (annotated by) *pr143924.aj}DeclareAnnotation`declare @method
+=== END OF RELATIONSHIPS REPORT ==
+=== Properties of the model and relationships map =====
+method=1
+import reference=1
+aspect=1
+declare @method=1
+class=1
+annotation=1
+RelationshipMapSize=2
+FileMapSize=1
+java source file=2
diff --git a/tests/model/expected/pr148027.txt b/tests/model/expected/pr148027.txt
new file mode 100644
index 000000000..644b0a690
--- /dev/null
+++ b/tests/model/expected/pr148027.txt
@@ -0,0 +1,37 @@
+=== MODEL STATUS REPORT ========= After a batch build
+<root> [java source file]
+ pkg [package]
+ A.aj [java source file] TEST_SANDBOX\A.aj:1:
+ import declarations [import reference]
+ A [aspect] TEST_SANDBOX\A.aj:3:
+ before(): pointcutInClass.. [advice] TEST_SANDBOX\A.aj:5:
+ pointcutInAspect() [pointcut] TEST_SANDBOX\A.aj:8:
+ before(): pointcutInAspect.. [advice] TEST_SANDBOX\A.aj:10:
+ aMethod() [method] TEST_SANDBOX\A.aj:13:
+ C.aj [java source file] TEST_SANDBOX\C.aj:1:
+ import declarations [import reference]
+ C [class] TEST_SANDBOX\C.aj:3:
+ pointcutInClass() [pointcut] TEST_SANDBOX\C.aj:5:
+ cMethod() [method] TEST_SANDBOX\C.aj:7:
+=== END OF MODEL REPORT =========
+=== RELATIONSHIPS REPORT ========= After a batch build
+(targets=1) <pkg*A.aj}A+pointcutInAspect (pointcut used by) <pkg*A.aj}A&before!2
+(targets=1) <pkg*A.aj}A&before!2 (uses pointcut) <pkg*A.aj}A+pointcutInAspect
+(targets=1) <pkg*A.aj}A&before!2 (advises) <pkg*A.aj}A~aMethod
+(targets=1) <pkg*C.aj[C~cMethod (advised by) <pkg*A.aj}A&before
+(targets=1) *C.aj (pointcut used by) <pkg*A.aj}A&before
+(targets=1) <pkg*A.aj}A~aMethod (advised by) <pkg*A.aj}A&before!2
+(targets=1) <pkg*A.aj}A&before (uses pointcut) *C.aj
+(targets=1) <pkg*A.aj}A&before (advises) <pkg*C.aj[C~cMethod
+=== END OF RELATIONSHIPS REPORT ==
+=== Properties of the model and relationships map =====
+method=2
+import reference=2
+aspect=1
+class=1
+advice=2
+pointcut=2
+RelationshipMapSize=6
+FileMapSize=2
+package=1
+java source file=3
diff --git a/tests/model/expected/pr77269_1.txt b/tests/model/expected/pr77269_1.txt
new file mode 100644
index 000000000..204502765
--- /dev/null
+++ b/tests/model/expected/pr77269_1.txt
@@ -0,0 +1,30 @@
+=== MODEL STATUS REPORT ========= After a batch build
+<root> [java source file]
+ pack [package]
+ pr77269.aj [java source file] TEST_SANDBOX\pack\pr77269.aj:1:
+ import declarations [import reference]
+ Test [class] TEST_SANDBOX\pack\pr77269.aj:2:
+ testMethod() [method] TEST_SANDBOX\pack\pr77269.aj:4:
+ new Runnable() {..} [class] TEST_SANDBOX\pack\pr77269.aj:5:
+ run() [method] TEST_SANDBOX\pack\pr77269.aj:6:
+ 1$C [class] TEST_SANDBOX\pack\pr77269.aj:9:
+ m() [method] TEST_SANDBOX\pack\pr77269.aj:10:
+ A [aspect] TEST_SANDBOX\pack\pr77269.aj:17:
+ p() [pointcut] TEST_SANDBOX\pack\pr77269.aj:19:
+ before(): p.. [advice] TEST_SANDBOX\pack\pr77269.aj:21:
+=== END OF MODEL REPORT =========
+=== RELATIONSHIPS REPORT ========= After a batch build
+(targets=1) <pack*pr77269.aj}A&before (advises) <pack*pr77269.aj[Test~testMethod[new Runnable() {..}~run
+(targets=1) <pack*pr77269.aj[Test~testMethod[new Runnable() {..}~run (advised by) <pack*pr77269.aj}A&before
+=== END OF RELATIONSHIPS REPORT ==
+=== Properties of the model and relationships map =====
+method=3
+import reference=1
+aspect=1
+class=3
+advice=1
+pointcut=1
+RelationshipMapSize=2
+FileMapSize=1
+package=1
+java source file=2
diff --git a/tests/model/expected/pr77269_2.txt b/tests/model/expected/pr77269_2.txt
new file mode 100644
index 000000000..99bf61cd7
--- /dev/null
+++ b/tests/model/expected/pr77269_2.txt
@@ -0,0 +1,28 @@
+=== MODEL STATUS REPORT ========= After a batch build
+<root> [java source file]
+ pr77269b.aj [java source file] TEST_SANDBOX\pr77269b.aj:1:
+ import declarations [import reference]
+ Test [class] TEST_SANDBOX\pr77269b.aj:1:
+ testMethod() [method] TEST_SANDBOX\pr77269b.aj:3:
+ new Runnable() {..} [class] TEST_SANDBOX\pr77269b.aj:4:
+ run() [method] TEST_SANDBOX\pr77269b.aj:5:
+ 1$C [class] TEST_SANDBOX\pr77269b.aj:8:
+ m() [method] TEST_SANDBOX\pr77269b.aj:9:
+ A [aspect] TEST_SANDBOX\pr77269b.aj:16:
+ p() [pointcut] TEST_SANDBOX\pr77269b.aj:18:
+ before(): p.. [advice] TEST_SANDBOX\pr77269b.aj:20:
+=== END OF MODEL REPORT =========
+=== RELATIONSHIPS REPORT ========= After a batch build
+(targets=1) *pr77269b.aj[Test~testMethod[1$C~m (advised by) *pr77269b.aj}A&before
+(targets=1) *pr77269b.aj}A&before (advises) *pr77269b.aj[Test~testMethod[1$C~m
+=== END OF RELATIONSHIPS REPORT ==
+=== Properties of the model and relationships map =====
+method=3
+import reference=1
+aspect=1
+class=3
+advice=1
+pointcut=1
+RelationshipMapSize=2
+FileMapSize=1
+java source file=2
diff --git a/tests/model/expected/pr77269_3.txt b/tests/model/expected/pr77269_3.txt
new file mode 100644
index 000000000..02f10cfa1
--- /dev/null
+++ b/tests/model/expected/pr77269_3.txt
@@ -0,0 +1,29 @@
+=== MODEL STATUS REPORT ========= After a batch build
+<root> [java source file]
+ pack [package]
+ pr77269c.aj [java source file] TEST_SANDBOX\pack\pr77269c.aj:1:
+ import declarations [import reference]
+ Test [class] TEST_SANDBOX\pack\pr77269c.aj:3:
+ testMethod() [method] TEST_SANDBOX\pack\pr77269c.aj:5:
+ new Runnable() {..} [class] TEST_SANDBOX\pack\pr77269c.aj:6:
+ run() [method] TEST_SANDBOX\pack\pr77269c.aj:7:
+ method-call(void pack.Test.someMethod()) [code] TEST_SANDBOX\pack\pr77269c.aj:8:
+ someMethod() [method] TEST_SANDBOX\pack\pr77269c.aj:13:
+ A [aspect] TEST_SANDBOX\pack\pr77269c.aj:17:
+ declare warning: "blah blah blah" [declare warning] TEST_SANDBOX\pack\pr77269c.aj:18:
+=== END OF MODEL REPORT =========
+=== RELATIONSHIPS REPORT ========= After a batch build
+(targets=1) <pack*pr77269c.aj}A`declare warning (matched by) <pack*pr77269c.aj[Test~testMethod[new Runnable() {..}~run?method-call(void pack.Test.someMethod())
+(targets=1) <pack*pr77269c.aj[Test~testMethod[new Runnable() {..}~run?method-call(void pack.Test.someMethod()) (matches declare) <pack*pr77269c.aj}A`declare warning
+=== END OF RELATIONSHIPS REPORT ==
+=== Properties of the model and relationships map =====
+method=3
+import reference=1
+aspect=1
+code=1
+declare warning=1
+class=2
+RelationshipMapSize=2
+FileMapSize=1
+package=1
+java source file=2
diff --git a/tests/model/pr115607/pr115607.java b/tests/model/pr115607/pr115607.java
new file mode 100644
index 000000000..3b40e4ca4
--- /dev/null
+++ b/tests/model/pr115607/pr115607.java
@@ -0,0 +1,7 @@
+@interface I {}
+
+class Simple {}
+
+public aspect pr115607 {
+ declare @type: Simple : @I;
+}
diff --git a/tests/model/pr120356/A.java b/tests/model/pr120356/A.java
new file mode 100644
index 000000000..628205610
--- /dev/null
+++ b/tests/model/pr120356/A.java
@@ -0,0 +1,15 @@
+
+import org.aspectj.lang.annotation.Aspect;
+import org.aspectj.lang.annotation.DeclareWarning;
+import org.aspectj.lang.annotation.DeclareError;
+
+@Aspect
+public class A {
+
+ @DeclareWarning("execution(* C.warningMethod())")
+ static final String warning = "warning";
+
+ @DeclareError("execution(* C.badMethod())")
+ static final String error = "error";
+
+}
diff --git a/tests/model/pr120356/C.java b/tests/model/pr120356/C.java
new file mode 100644
index 000000000..91ef6ab6c
--- /dev/null
+++ b/tests/model/pr120356/C.java
@@ -0,0 +1,11 @@
+
+
+public class C {
+
+ public void warningMethod() {
+ }
+
+ public void badMethod() {
+ }
+
+}
diff --git a/tests/model/pr131932/pr131932.aj b/tests/model/pr131932/pr131932.aj
new file mode 100644
index 000000000..648f9ed34
--- /dev/null
+++ b/tests/model/pr131932/pr131932.aj
@@ -0,0 +1,21 @@
+import java.util.List;
+
+aspect Slide74 {
+
+ public X Bar<X>.getFirst() {
+ return lts.get(0);
+ }
+
+ <T> Foo<T>.new(List<T> elements) { this(); }
+
+ private List<C> Bar<C>.children;// = new ArrayList<C>();
+
+ static class Bar<T> {
+ List<T> lts;
+ }
+
+}
+
+class Foo<T> {
+
+}
diff --git a/tests/model/pr132130/pr132130.aj b/tests/model/pr132130/pr132130.aj
new file mode 100644
index 000000000..3259d7232
--- /dev/null
+++ b/tests/model/pr132130/pr132130.aj
@@ -0,0 +1,17 @@
+ aspect basic {
+
+ declare @method : * debit(..) : @Secured(role="supervisor");
+ declare @constructor : BankAccount+.new(..) : @Secured(role="supervisor");
+}
+
+class BankAccount {
+
+ public BankAccount(String s, int i) {
+ }
+ public void debit(long accId,long amount) {
+ }
+}
+
+@interface Secured {
+ String role();
+}
diff --git a/tests/model/pr141730_2/pr141730.aj b/tests/model/pr141730_2/pr141730.aj
new file mode 100644
index 000000000..6711c97b7
--- /dev/null
+++ b/tests/model/pr141730_2/pr141730.aj
@@ -0,0 +1,22 @@
+import java.util.List;
+
+aspect A {
+
+ pointcut p() : execution(* *.*(..)) || execution(*.new(..));
+
+ before() : p() {
+
+ }
+
+}
+
+class C {
+
+ public void genericMethod(List<String> l) {}
+ public void genericMethod2(MyGenericClass<String,MyClass> m) {}
+
+}
+
+class MyClass {}
+
+class MyGenericClass<X,Y> {}
diff --git a/tests/model/pr141730_3/MyBar.aj b/tests/model/pr141730_3/MyBar.aj
new file mode 100644
index 000000000..3a38885ce
--- /dev/null
+++ b/tests/model/pr141730_3/MyBar.aj
@@ -0,0 +1,9 @@
+package bar;
+
+public aspect MyBar {
+
+ before() : call(* main(..)) {
+ System.out.println("about to call a main method");
+ }
+
+}
diff --git a/tests/model/pr141730_3/MyFoo.java b/tests/model/pr141730_3/MyFoo.java
new file mode 100644
index 000000000..d733097cf
--- /dev/null
+++ b/tests/model/pr141730_3/MyFoo.java
@@ -0,0 +1,11 @@
+package foo;
+
+public class MyFoo {
+
+ public void callMain() {
+ new MyFoo().main();
+ }
+
+ public void main() {
+ }
+}
diff --git a/tests/model/pr141730_3/README.txt b/tests/model/pr141730_3/README.txt
new file mode 100644
index 000000000..862645f35
--- /dev/null
+++ b/tests/model/pr141730_3/README.txt
@@ -0,0 +1,3 @@
+To recreate the jar files:
+
+ajc MyBar.aj -outjar aspectpath.jar
diff --git a/tests/model/pr141730_3/aspectpath.jar b/tests/model/pr141730_3/aspectpath.jar
new file mode 100644
index 000000000..27ccd5aa7
--- /dev/null
+++ b/tests/model/pr141730_3/aspectpath.jar
Binary files differ
diff --git a/tests/model/pr141730_4/MyAnnotation.java b/tests/model/pr141730_4/MyAnnotation.java
new file mode 100644
index 000000000..16a690ce2
--- /dev/null
+++ b/tests/model/pr141730_4/MyAnnotation.java
@@ -0,0 +1,5 @@
+package bar;
+
+public @interface MyAnnotation {
+
+}
diff --git a/tests/model/pr141730_4/MyBar.aj b/tests/model/pr141730_4/MyBar.aj
new file mode 100644
index 000000000..50ea6efd0
--- /dev/null
+++ b/tests/model/pr141730_4/MyBar.aj
@@ -0,0 +1,18 @@
+package bar;
+
+import foo.*;
+
+public aspect MyBar {
+
+ before() : call(* main(..)) {}
+
+ declare warning: get( * System.out ) : "System.out should not be called";
+
+ declare parents : *Foo extends NewClass;
+
+ declare @type : *Foo* : @MyAnnotation;
+ declare @method : public * *Foo.anotMethod(..) : @MyAnnotation;
+ declare @constructor : *Foo.new(String) : @MyAnnotation;
+ declare @field : int *Foo.* : @MyAnnotation ;
+
+}
diff --git a/tests/model/pr141730_4/MyFoo.java b/tests/model/pr141730_4/MyFoo.java
new file mode 100644
index 000000000..d9aba23f4
--- /dev/null
+++ b/tests/model/pr141730_4/MyFoo.java
@@ -0,0 +1,25 @@
+package foo;
+
+public class MyFoo {
+
+ public int i;
+
+ public MyFoo() {
+ super();
+ }
+
+ public MyFoo(String s) {
+ super();
+ }
+
+ public void callMain() {
+ new MyFoo().main();
+ }
+
+ public void main() {
+ System.out.println("blah");
+ }
+
+ public void anotMethod() {
+ }
+}
diff --git a/tests/model/pr141730_4/NewClass.java b/tests/model/pr141730_4/NewClass.java
new file mode 100644
index 000000000..cdbce29e5
--- /dev/null
+++ b/tests/model/pr141730_4/NewClass.java
@@ -0,0 +1,5 @@
+package bar;
+
+public class NewClass {
+
+}
diff --git a/tests/model/pr141730_4/README.txt b/tests/model/pr141730_4/README.txt
new file mode 100644
index 000000000..7cb52fcea
--- /dev/null
+++ b/tests/model/pr141730_4/README.txt
@@ -0,0 +1,3 @@
+To recreate the jar files:
+
+ajc MyFoo.java -outjar inpath.jar
diff --git a/tests/model/pr141730_4/inpath.jar b/tests/model/pr141730_4/inpath.jar
new file mode 100644
index 000000000..ba262c555
--- /dev/null
+++ b/tests/model/pr141730_4/inpath.jar
Binary files differ
diff --git a/tests/model/pr143924/pr143924.aj b/tests/model/pr143924/pr143924.aj
new file mode 100644
index 000000000..7ea1e8d24
--- /dev/null
+++ b/tests/model/pr143924/pr143924.aj
@@ -0,0 +1,13 @@
+aspect DeclareAnnotation {
+ declare @method : * debit(..) : @Secured(role="supervisor");
+}
+
+class BankAccount {
+
+ public void debit(String accId,long amount) {
+ }
+}
+
+@interface Secured {
+ String role();
+}
diff --git a/tests/model/pr148027/A.aj b/tests/model/pr148027/A.aj
new file mode 100644
index 000000000..306f14b68
--- /dev/null
+++ b/tests/model/pr148027/A.aj
@@ -0,0 +1,15 @@
+package pkg;
+
+public aspect A {
+
+ before() : C.pointcutInClass() {
+ }
+
+ pointcut pointcutInAspect() : execution(void aMethod());
+
+ before() : pointcutInAspect() {
+ }
+
+ public void aMethod() {
+ }
+}
diff --git a/tests/model/pr148027/C.aj b/tests/model/pr148027/C.aj
new file mode 100644
index 000000000..63b4e6cb6
--- /dev/null
+++ b/tests/model/pr148027/C.aj
@@ -0,0 +1,10 @@
+package pkg;
+
+public class C {
+
+ pointcut pointcutInClass() : execution(void cMethod());
+
+ public void cMethod() {
+
+ }
+}
diff --git a/tests/model/pr77269_1/pack/pr77269.aj b/tests/model/pr77269_1/pack/pr77269.aj
new file mode 100644
index 000000000..014c1bed8
--- /dev/null
+++ b/tests/model/pr77269_1/pack/pr77269.aj
@@ -0,0 +1,24 @@
+package pack;
+class Test {
+
+ public void testMethod() {
+ new Runnable() {
+ public void run() {
+ }
+ };
+ class C {
+ public void m(){
+ }
+ }
+ }
+
+}
+
+aspect A {
+
+ pointcut p() : execution(* run(..));
+
+ before() : p() {
+ }
+
+}
diff --git a/tests/model/pr77269_2/pr77269b.aj b/tests/model/pr77269_2/pr77269b.aj
new file mode 100644
index 000000000..4f95dbb2c
--- /dev/null
+++ b/tests/model/pr77269_2/pr77269b.aj
@@ -0,0 +1,23 @@
+class Test {
+
+ public void testMethod() {
+ new Runnable() {
+ public void run() {
+ }
+ };
+ class C {
+ public void m(){
+ }
+ }
+ }
+
+}
+
+aspect A {
+
+ pointcut p() : execution(* m(..));
+
+ before() : p() {
+ }
+
+}
diff --git a/tests/model/pr77269_3/pack/pr77269c.aj b/tests/model/pr77269_3/pack/pr77269c.aj
new file mode 100644
index 000000000..948902347
--- /dev/null
+++ b/tests/model/pr77269_3/pack/pr77269c.aj
@@ -0,0 +1,19 @@
+package pack;
+
+class Test {
+
+ public void testMethod() {
+ new Runnable() {
+ public void run() {
+ someMethod();
+ }
+ };
+ }
+
+ public void someMethod() {
+ }
+}
+
+aspect A {
+ declare warning : call(void someMethod(..)) : "blah blah blah";
+}