Repository: groovy Updated Branches: refs/heads/master f2a6a7254 -> d9c74df77
Trivial refactoring Project: http://git-wip-us.apache.org/repos/asf/groovy/repo Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/d9c74df7 Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/d9c74df7 Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/d9c74df7 Branch: refs/heads/master Commit: d9c74df7797b9f28463779e6d135926a9366c873 Parents: f2a6a72 Author: sunlan <[email protected]> Authored: Mon Dec 4 08:54:47 2017 +0800 Committer: sunlan <[email protected]> Committed: Mon Dec 4 08:54:47 2017 +0800 ---------------------------------------------------------------------- src/main/org/codehaus/groovy/classgen/AsmClassGenerator.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/groovy/blob/d9c74df7/src/main/org/codehaus/groovy/classgen/AsmClassGenerator.java ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/classgen/AsmClassGenerator.java b/src/main/org/codehaus/groovy/classgen/AsmClassGenerator.java index 30e99f3..e6cc30c 100644 --- a/src/main/org/codehaus/groovy/classgen/AsmClassGenerator.java +++ b/src/main/org/codehaus/groovy/classgen/AsmClassGenerator.java @@ -1307,7 +1307,7 @@ public class AsmClassGenerator extends ClassGenerator { } addInnerClass(icl); - for (Map.Entry<String,ClassNode> entry : referencedClasses.entrySet()) { // generate a field node + for (Map.Entry<String, ClassNode> entry : referencedClasses.entrySet()) { // generate a field node String staticFieldName = entry.getKey(); ClassNode cn = entry.getValue(); icl.addField(staticFieldName, ACC_STATIC + ACC_SYNTHETIC, ClassHelper.CLASS_Type.getPlainNodeReference(), new ClassExpression(cn)); @@ -1319,7 +1319,9 @@ public class AsmClassGenerator extends ClassGenerator { return; } MethodVisitor mv; - for (String staticFieldName : referencedClasses.keySet()) { + for (Map.Entry<String, ClassNode> entry : referencedClasses.entrySet()) { + String staticFieldName = entry.getKey(); + ClassNode cn = entry.getValue(); // generate a field node FieldNode fn = controller.getClassNode().getDeclaredField(staticFieldName); if (fn != null) { @@ -1346,7 +1348,7 @@ public class AsmClassGenerator extends ClassGenerator { Label l0 = new Label(); mv.visitJumpInsn(IFNONNULL,l0); mv.visitInsn(POP); - mv.visitLdcInsn(BytecodeHelper.getClassLoadingTypeDescription(referencedClasses.get(staticFieldName))); + mv.visitLdcInsn(BytecodeHelper.getClassLoadingTypeDescription(cn)); mv.visitMethodInsn(INVOKESTATIC, controller.getInternalClassName(), "class$", "(Ljava/lang/String;)Ljava/lang/Class;", false); mv.visitInsn(DUP); mv.visitFieldInsn(PUTSTATIC,controller.getInternalClassName(),staticFieldName,"Ljava/lang/Class;");
