aboutsummaryrefslogtreecommitdiffstats
path: root/tests/java5
diff options
context:
space:
mode:
Diffstat (limited to 'tests/java5')
-rw-r--r--tests/java5/ataspectj/SimpleBefore.java10
-rw-r--r--tests/java5/ataspectj/ataspectj/PrecedenceTest.java7
-rw-r--r--tests/java5/ataspectj/ataspectj/misuse/Test005.java14
-rw-r--r--tests/java5/ataspectj/ataspectj/misuse/Test006.java15
-rw-r--r--tests/java5/ataspectj/ataspectj/misuse/Test008.java14
-rw-r--r--tests/java5/ataspectj/ataspectj/misuse/Test010.java8
-rw-r--r--tests/java5/ataspectj/ataspectj/misuse/Test014.java11
-rw-r--r--tests/java5/ataspectj/ataspectj/misuse/Test016.java10
-rw-r--r--tests/java5/ataspectj/ataspectj/misuse/Test019.java11
-rw-r--r--tests/java5/ataspectj/ataspectj/misuse/Test020.java11
-rw-r--r--tests/java5/ataspectj/ataspectj/misuse/Test021.java12
11 files changed, 123 insertions, 0 deletions
diff --git a/tests/java5/ataspectj/SimpleBefore.java b/tests/java5/ataspectj/SimpleBefore.java
index 8b5019f94..415cc31db 100644
--- a/tests/java5/ataspectj/SimpleBefore.java
+++ b/tests/java5/ataspectj/SimpleBefore.java
@@ -1,8 +1,18 @@
import org.aspectj.lang.annotation.*;
+import java.lang.annotation.Annotation;
+
public class SimpleBefore {
public static void main(String []argv) {
+
+ Class x = X.class;
+ Aspect ann = (Aspect) x.getAnnotation(Aspect.class);
+ if (ann == null) {
+ throw new RuntimeException("could not see runtime visible annotation");
+ }
+
+
SimpleBefore instance = new SimpleBefore();
X.s.append("1");
instance.m();
diff --git a/tests/java5/ataspectj/ataspectj/PrecedenceTest.java b/tests/java5/ataspectj/ataspectj/PrecedenceTest.java
index c5959fc4b..fe96161f8 100644
--- a/tests/java5/ataspectj/ataspectj/PrecedenceTest.java
+++ b/tests/java5/ataspectj/ataspectj/PrecedenceTest.java
@@ -18,6 +18,8 @@ import org.aspectj.lang.annotation.DeclarePrecedence;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
+import java.lang.annotation.Annotation;
+
/**
* @author <a href="mailto:alex AT gnilux DOT com">Alexandre Vasseur</a>
*/
@@ -40,6 +42,11 @@ public class PrecedenceTest extends TestCase {
log("hello");
}
+ public void testRuntimeVisible() {
+ Annotation annotation = TestAspect_Order.class.getAnnotation(DeclarePrecedence.class);
+ assertNotNull(annotation);
+ }
+
public void testPrecedence() {
s_log = new StringBuffer();
hello();
diff --git a/tests/java5/ataspectj/ataspectj/misuse/Test005.java b/tests/java5/ataspectj/ataspectj/misuse/Test005.java
new file mode 100644
index 000000000..428e002dd
--- /dev/null
+++ b/tests/java5/ataspectj/ataspectj/misuse/Test005.java
@@ -0,0 +1,14 @@
+// "@Aspect class extending @Aspect class"
+package ataspectj.misuse;
+
+import org.aspectj.lang.annotation.*;
+
+@Aspect
+public class Test005 {
+
+ @Aspect
+ public static class Test005B extends Test005 {
+ }
+
+
+}
diff --git a/tests/java5/ataspectj/ataspectj/misuse/Test006.java b/tests/java5/ataspectj/ataspectj/misuse/Test006.java
new file mode 100644
index 000000000..5b342b6a8
--- /dev/null
+++ b/tests/java5/ataspectj/ataspectj/misuse/Test006.java
@@ -0,0 +1,15 @@
+// "class with @Before extending @Aspect class"
+
+// shouldn't allow advice in a non-aspect type
+package ataspectj.misuse;
+
+import org.aspectj.lang.annotation.*;
+
+@Aspect
+public class Test006{
+}
+class Test006B extends Test006{
+ @Before("call(* org..*(..))")
+ public void someCall(){
+ }
+}
diff --git a/tests/java5/ataspectj/ataspectj/misuse/Test008.java b/tests/java5/ataspectj/ataspectj/misuse/Test008.java
new file mode 100644
index 000000000..04dbdb1f2
--- /dev/null
+++ b/tests/java5/ataspectj/ataspectj/misuse/Test008.java
@@ -0,0 +1,14 @@
+// "@Pointcut not returning void"
+package ataspectj.misuse;
+
+
+import org.aspectj.lang.annotation.*;
+
+
+@Aspect
+class Test008{
+ @Pointcut("call(* *.*(..))")
+ int someCall(){
+ return 42;
+ }
+}
diff --git a/tests/java5/ataspectj/ataspectj/misuse/Test010.java b/tests/java5/ataspectj/ataspectj/misuse/Test010.java
new file mode 100644
index 000000000..8656424c4
--- /dev/null
+++ b/tests/java5/ataspectj/ataspectj/misuse/Test010.java
@@ -0,0 +1,8 @@
+// "@Aspect on interface"
+package ataspectj.misuse;
+
+import org.aspectj.lang.annotation.*;
+
+@Aspect
+interface Test010{
+}
diff --git a/tests/java5/ataspectj/ataspectj/misuse/Test014.java b/tests/java5/ataspectj/ataspectj/misuse/Test014.java
new file mode 100644
index 000000000..9e135a93c
--- /dev/null
+++ b/tests/java5/ataspectj/ataspectj/misuse/Test014.java
@@ -0,0 +1,11 @@
+// "@Pointcut with garbage string"
+package ataspectj.misuse;
+
+import org.aspectj.lang.annotation.*;
+
+@Aspect
+public class Test014{
+ @Pointcut("call%dddd\n\n\n\n\n\n\n\n\n\n\n%dwdwudwdwbuill817pe;][{\ngrgrgnjk78877&&<:{{{+=``\"")
+ void somecall(){
+ }
+}
diff --git a/tests/java5/ataspectj/ataspectj/misuse/Test016.java b/tests/java5/ataspectj/ataspectj/misuse/Test016.java
new file mode 100644
index 000000000..8a50afa74
--- /dev/null
+++ b/tests/java5/ataspectj/ataspectj/misuse/Test016.java
@@ -0,0 +1,10 @@
+// "@Pointcut with throws clause"
+package ataspectj.misuse;
+
+import org.aspectj.lang.annotation.*;
+
+@Aspect
+public class Test016{
+ @Pointcut("call(* *.*(..))")
+ void someCall() throws Exception {}
+}
diff --git a/tests/java5/ataspectj/ataspectj/misuse/Test019.java b/tests/java5/ataspectj/ataspectj/misuse/Test019.java
new file mode 100644
index 000000000..301c3de35
--- /dev/null
+++ b/tests/java5/ataspectj/ataspectj/misuse/Test019.java
@@ -0,0 +1,11 @@
+// "@AfterReturning with wrong number of args"
+package ataspectj.misuse;
+
+import org.aspectj.lang.annotation.*;
+
+@Aspect
+public class Test019 {
+ @AfterReturning(value="call(* *..*(..))",returning="f")
+ public void itsAFoo(Object f, int x) {
+ }
+}
diff --git a/tests/java5/ataspectj/ataspectj/misuse/Test020.java b/tests/java5/ataspectj/ataspectj/misuse/Test020.java
new file mode 100644
index 000000000..044f527d8
--- /dev/null
+++ b/tests/java5/ataspectj/ataspectj/misuse/Test020.java
@@ -0,0 +1,11 @@
+// "@Before on non-public method"
+package ataspectj.misuse;
+
+import org.aspectj.lang.annotation.*;
+
+@Aspect
+public class Test020 {
+ @Before("call(* org..*(..))")
+ private void someCall(){
+ }
+}
diff --git a/tests/java5/ataspectj/ataspectj/misuse/Test021.java b/tests/java5/ataspectj/ataspectj/misuse/Test021.java
new file mode 100644
index 000000000..ac230adee
--- /dev/null
+++ b/tests/java5/ataspectj/ataspectj/misuse/Test021.java
@@ -0,0 +1,12 @@
+// "@Before on method not returning void"
+package ataspectj.misuse;
+
+import org.aspectj.lang.annotation.*;
+
+@Aspect
+public class Test021 {
+ @Before("call(* org..*(..))")
+ public int someCall(){
+ return 42;
+ }
+}