diff --git a/springloaded/src/main/java/org/springsource/loaded/Utils.java b/springloaded/src/main/java/org/springsource/loaded/Utils.java index ca92e59..30c3bf3 100644 --- a/springloaded/src/main/java/org/springsource/loaded/Utils.java +++ b/springloaded/src/main/java/org/springsource/loaded/Utils.java @@ -1016,7 +1016,7 @@ public class Utils implements Opcodes, Constants { public boolean isDoubleSlot() { if (kind == Kind.PRIMITIVE) { char ch = descriptor.charAt(0); - return ch == 'J' || ch == 'L'; + return ch == 'J' || ch == 'D'; } return false; } diff --git a/springloaded/src/test/java/org/springsource/loaded/test/ReloadableTypeTests.java b/springloaded/src/test/java/org/springsource/loaded/test/ReloadableTypeTests.java index 4ad2538..7422ff2 100644 --- a/springloaded/src/test/java/org/springsource/loaded/test/ReloadableTypeTests.java +++ b/springloaded/src/test/java/org/springsource/loaded/test/ReloadableTypeTests.java @@ -564,6 +564,13 @@ public class ReloadableTypeTests extends SpringLoadedTests { assertFalse(rt.isDoubleSlot()); assertFalse(rt.isVoid()); + rt = ReturnType.getReturnType("D"); + assertEquals(ReturnType.Kind.PRIMITIVE, rt.kind); + assertEquals("D", rt.descriptor); + assertTrue(rt.isPrimitive()); + assertTrue(rt.isDoubleSlot()); + assertFalse(rt.isVoid()); + rt = ReturnType.getReturnType("[Ljava/lang/String;"); assertEquals(ReturnType.Kind.ARRAY, rt.kind); assertEquals("[Ljava/lang/String;", rt.descriptor);