Merge branch 'master' of github.com:Parabot/Parabot

This commit is contained in:
JKetelaar
2014-12-25 14:51:32 +01:00
2 changed files with 13 additions and 10 deletions
@@ -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;
}
}
}
@@ -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);