summaryrefslogtreecommitdiffstats
path: root/aspectj5rt/java5-src/org/aspectj/lang
diff options
context:
space:
mode:
authoracolyer <acolyer>2005-10-03 16:17:15 +0000
committeracolyer <acolyer>2005-10-03 16:17:15 +0000
commit0fae66242efd3fd91dc7ace349cdcf7e5ebc2ade (patch)
tree85dda17da70b10b31b422853d1323421a82b3a21 /aspectj5rt/java5-src/org/aspectj/lang
parentc86fa6de889e521ebe8224d1a7579269c53ac357 (diff)
downloadaspectj-0fae66242efd3fd91dc7ace349cdcf7e5ebc2ade.tar.gz
aspectj-0fae66242efd3fd91dc7ace349cdcf7e5ebc2ade.zip
completes all of the MAP bar ITDs
Diffstat (limited to 'aspectj5rt/java5-src/org/aspectj/lang')
-rw-r--r--aspectj5rt/java5-src/org/aspectj/lang/reflect/Advice.java17
-rw-r--r--aspectj5rt/java5-src/org/aspectj/lang/reflect/DeclareAnnotation.java38
-rw-r--r--aspectj5rt/java5-src/org/aspectj/lang/reflect/DeclareParents.java4
-rw-r--r--aspectj5rt/java5-src/org/aspectj/lang/reflect/DeclareSoft.java2
4 files changed, 58 insertions, 3 deletions
diff --git a/aspectj5rt/java5-src/org/aspectj/lang/reflect/Advice.java b/aspectj5rt/java5-src/org/aspectj/lang/reflect/Advice.java
index 581c5a5fb..03be6c7f1 100644
--- a/aspectj5rt/java5-src/org/aspectj/lang/reflect/Advice.java
+++ b/aspectj5rt/java5-src/org/aspectj/lang/reflect/Advice.java
@@ -11,6 +11,8 @@
* ******************************************************************/
package org.aspectj.lang.reflect;
+import java.lang.reflect.Type;
+
/**
* Runtime representation of an advice declaration inside an aspect
*/
@@ -36,6 +38,21 @@ public interface Advice {
String getName();
/**
+ * The advice parameters
+ */
+ AjType<?>[] getParameterTypes();
+
+ /**
+ * The generic parameter types, @see java.lang.reflect.Method.getGenericParameterTypes
+ */
+ Type[] getGenericParameterTypes();
+
+ /**
+ * The declared thrown exceptions by the advice
+ */
+ AjType<?>[] getExceptionTypes();
+
+ /**
* The pointcut expression associated with the advice declaration.
*/
PointcutExpression getPointcutExpression();
diff --git a/aspectj5rt/java5-src/org/aspectj/lang/reflect/DeclareAnnotation.java b/aspectj5rt/java5-src/org/aspectj/lang/reflect/DeclareAnnotation.java
index 4e0f78aa7..faee5d495 100644
--- a/aspectj5rt/java5-src/org/aspectj/lang/reflect/DeclareAnnotation.java
+++ b/aspectj5rt/java5-src/org/aspectj/lang/reflect/DeclareAnnotation.java
@@ -11,10 +11,46 @@
* ******************************************************************/
package org.aspectj.lang.reflect;
+import java.lang.annotation.Annotation;
+
/**
* The AspectJ runtime representation of a declare annotation member in an aspect.
*
*/
public interface DeclareAnnotation {
-
+
+ public enum Kind { Field, Method, Constructor, Type };
+
+ /**
+ * The aspect that declared this member.
+ */
+ AjType<?> getDeclaringType();
+
+ /**
+ * The target element kind
+ */
+ Kind getKind();
+
+ /**
+ * The target signature pattern. Returns null if getKind() == Type
+ */
+ SignaturePattern getSignaturePattern();
+
+ /**
+ * The target type pattern. Returns null if getKind() != Type
+ */
+ TypePattern getTypePattern();
+
+ /**
+ * The declared annotation. If the declared annotation does not have runtime retention,
+ * this method returns null.
+ */
+ Annotation getAnnotation();
+
+ /**
+ * Returns the text of the annotation as declared in this member. Available for
+ * both runtime and class-file retention annotations
+ */
+ String getAnnotationAsText();
+
}
diff --git a/aspectj5rt/java5-src/org/aspectj/lang/reflect/DeclareParents.java b/aspectj5rt/java5-src/org/aspectj/lang/reflect/DeclareParents.java
index f8ee5c99d..8d3c98b78 100644
--- a/aspectj5rt/java5-src/org/aspectj/lang/reflect/DeclareParents.java
+++ b/aspectj5rt/java5-src/org/aspectj/lang/reflect/DeclareParents.java
@@ -11,6 +11,8 @@
* ******************************************************************/
package org.aspectj.lang.reflect;
+import java.lang.reflect.Type;
+
/**
* A declare parents member defined inside an aspect
*/
@@ -40,6 +42,6 @@ public interface DeclareParents {
* The set of types that the types matching getTargetTypesPattern are
* declared to implement or extend
*/
- AjType[] getParentTypes();
+ Type[] getParentTypes() throws ClassNotFoundException;
}
diff --git a/aspectj5rt/java5-src/org/aspectj/lang/reflect/DeclareSoft.java b/aspectj5rt/java5-src/org/aspectj/lang/reflect/DeclareSoft.java
index b397c94f3..cc607d680 100644
--- a/aspectj5rt/java5-src/org/aspectj/lang/reflect/DeclareSoft.java
+++ b/aspectj5rt/java5-src/org/aspectj/lang/reflect/DeclareSoft.java
@@ -24,7 +24,7 @@ public interface DeclareSoft {
/**
* The softened exception type
*/
- AjType getSoftenedExceptionType();
+ AjType getSoftenedExceptionType() throws ClassNotFoundException;
/**
* The pointcut determining the join points at which the exception is to be softened.