aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--weaver/src/org/aspectj/weaver/reflect/ReflectionWorld.java7
-rw-r--r--weaver/testsrc/org/aspectj/weaver/reflect/ReflectionWorldTest.java6
2 files changed, 10 insertions, 3 deletions
diff --git a/weaver/src/org/aspectj/weaver/reflect/ReflectionWorld.java b/weaver/src/org/aspectj/weaver/reflect/ReflectionWorld.java
index 789dc5806..6ffc84b51 100644
--- a/weaver/src/org/aspectj/weaver/reflect/ReflectionWorld.java
+++ b/weaver/src/org/aspectj/weaver/reflect/ReflectionWorld.java
@@ -46,11 +46,12 @@ public class ReflectionWorld extends World {
public ResolvedType resolve(Class aClass) {
// classes that represent arrays return a class name that is the signature of the array type, ho-hum...
String className = aClass.getName();
- if (!className.startsWith("[")) {
- return resolve(className);
- } else {
+ if (aClass.isArray()) {
return resolve(UnresolvedType.forSignature(className));
}
+ else{
+ return resolve(className);
+ }
}
/* (non-Javadoc)
diff --git a/weaver/testsrc/org/aspectj/weaver/reflect/ReflectionWorldTest.java b/weaver/testsrc/org/aspectj/weaver/reflect/ReflectionWorldTest.java
index 4bc879dae..662d9beb2 100644
--- a/weaver/testsrc/org/aspectj/weaver/reflect/ReflectionWorldTest.java
+++ b/weaver/testsrc/org/aspectj/weaver/reflect/ReflectionWorldTest.java
@@ -33,4 +33,10 @@ public class ReflectionWorldTest extends TestCase {
assertTrue(rt.isArray());
}
+ public void testPrimitiveTypes() {
+ ReflectionWorld world = new ReflectionWorld();
+ assertEquals("int",ResolvedType.INT,world.resolve(int.class));
+ assertEquals("void",ResolvedType.VOID,world.resolve(void.class));
+ }
+
}