summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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;
}