summaryrefslogtreecommitdiffstats
path: root/runtime
diff options
context:
space:
mode:
authorwisberg <wisberg>2005-04-21 17:33:45 +0000
committerwisberg <wisberg>2005-04-21 17:33:45 +0000
commit21f753b76c1bafb580f32888ea9ea6bae0b45d88 (patch)
treeb74c1ed613ce65f8c4e95ba1002653226719a32e /runtime
parent7a613809e63e1a3320a7598e8d7381e70c717adc (diff)
downloadaspectj-21f753b76c1bafb580f32888ea9ea6bae0b45d88.tar.gz
aspectj-21f753b76c1bafb580f32888ea9ea6bae0b45d88.zip
back to 1.3 exception API, report bad method via NoAspectBoundException.
Diffstat (limited to 'runtime')
-rw-r--r--runtime/src/org/aspectj/lang/Aspects.java17
1 files changed, 8 insertions, 9 deletions
diff --git a/runtime/src/org/aspectj/lang/Aspects.java b/runtime/src/org/aspectj/lang/Aspects.java
index d907fce59..2b0c8540c 100644
--- a/runtime/src/org/aspectj/lang/Aspects.java
+++ b/runtime/src/org/aspectj/lang/Aspects.java
@@ -71,22 +71,21 @@ public class Aspects {
private static Method getSingletonAspectOf(Class aspectClass) throws NoSuchMethodException {
Method method = aspectClass.getDeclaredMethod(ASPECTOF, EMPTY_CLASS_ARRAY);
- method.setAccessible(true);
- if (!method.isAccessible()
- || !Modifier.isPublic(method.getModifiers())
- || !Modifier.isStatic(method.getModifiers())) {
- throw new RuntimeException(aspectClass.getName(), new Exception("aspectOf is not public static"));
- }
- return method;
+ return checkAspectOf(method, aspectClass);
}
private static Method getPerObjectAspectOf(Class aspectClass) throws NoSuchMethodException {
Method method = aspectClass.getDeclaredMethod(ASPECTOF, PEROBJECT_CLASS_ARRAY);
+ return checkAspectOf(method, aspectClass);
+ }
+
+ private static Method checkAspectOf(Method method, Class aspectClass)
+ throws NoSuchMethodException {
method.setAccessible(true);
if (!method.isAccessible()
|| !Modifier.isPublic(method.getModifiers())
- || !Modifier.isStatic(method.getModifiers())) {
- throw new RuntimeException(aspectClass.getName(), new Exception("aspectOf is not public static"));
+ || !Modifier.isStatic(method.getModifiers())) {
+ new NoSuchMethodException(aspectClass.getName() + ".aspectOf(..) is not accessible public static");
}
return method;
}