From 07c181225148a44740ce1dd6251e4743dc0b7f01 Mon Sep 17 00:00:00 2001 From: Clisprail Date: Thu, 25 Dec 2014 13:55:19 +0100 Subject: [PATCH] ASMUtils public field --- parabotv2/src/org/parabot/core/asm/ASMUtils.java | 12 ++++++++++++ .../parabot/core/asm/adapters/AddGetterAdapter.java | 11 +---------- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/parabotv2/src/org/parabot/core/asm/ASMUtils.java b/parabotv2/src/org/parabot/core/asm/ASMUtils.java index 5278fa4..995c87c 100644 --- a/parabotv2/src/org/parabot/core/asm/ASMUtils.java +++ b/parabotv2/src/org/parabot/core/asm/ASMUtils.java @@ -140,5 +140,17 @@ public class ASMUtils implements Opcodes { node.access = node.access | Opcodes.ACC_PUBLIC; } } + + public static void makePublic(FieldNode node) { + if (!Modifier.isPublic(node.access)) { + if (Modifier.isPrivate(node.access)) { + node.access = node.access & (~Opcodes.ACC_PRIVATE); + } + if (Modifier.isProtected(node.access)) { + node.access = node.access & (~Opcodes.ACC_PROTECTED); + } + node.access = node.access | Opcodes.ACC_PUBLIC; + } + } } diff --git a/parabotv2/src/org/parabot/core/asm/adapters/AddGetterAdapter.java b/parabotv2/src/org/parabot/core/asm/adapters/AddGetterAdapter.java index e75eb0e..abfa063 100644 --- a/parabotv2/src/org/parabot/core/asm/adapters/AddGetterAdapter.java +++ b/parabotv2/src/org/parabot/core/asm/adapters/AddGetterAdapter.java @@ -129,16 +129,7 @@ public class AddGetterAdapter implements Opcodes, Injectable { method.visitVarInsn(ALOAD, 0); } if(staticField) { - if (!Modifier.isPublic(fieldNode.access)) { - if (Modifier.isPrivate(fieldNode.access)) { - fieldNode.access = fieldNode.access & (~ACC_PRIVATE); - } - if (Modifier.isProtected(fieldNode.access)) { - fieldNode.access = fieldNode.access & (~ACC_PROTECTED); - } - fieldNode.access = fieldNode.access | ACC_PUBLIC; - //mn.access = mn.access | ACC_SYNCHRONIZED; - } + ASMUtils.makePublic(fieldNode); } method.visitFieldInsn(staticField ? GETSTATIC : GETFIELD, fieldLocation.name, fieldNode.name, fieldNode.desc);