From d1d0864905ab4d75667d0d79197f0310ac15bf26 Mon Sep 17 00:00:00 2001 From: graemerocher Date: Fri, 17 Mar 2017 12:15:09 +0100 Subject: [PATCH] Don't rewrite non-reloading types. Fixes https://github.com/spring-projects/spring-loaded/issues/165 --- .../java/org/springsource/loaded/MethodInvokerRewriter.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/springloaded/src/main/java/org/springsource/loaded/MethodInvokerRewriter.java b/springloaded/src/main/java/org/springsource/loaded/MethodInvokerRewriter.java index 71d66b9..8f8eb62 100644 --- a/springloaded/src/main/java/org/springsource/loaded/MethodInvokerRewriter.java +++ b/springloaded/src/main/java/org/springsource/loaded/MethodInvokerRewriter.java @@ -1045,6 +1045,11 @@ public class MethodInvokerRewriter { throw new IllegalStateException("Unable to find classId for " + slashedclassname + " referenced from invokedynamic in " + this.methodname + "()"); } + if(typeRegistry.getReloadableType(classId) == null) { + // can't rewrite non-reloading type + super.visitInvokeDynamicInsn(name, desc, bsm, bsmArgs); + return; + } // Initially only rewriting use of INVOKEDYNAMIC to support Lambda execution // TODO support the more general invokedynamic usage