From bd612718f58cfbea7c3a107d32d92c981d026efa Mon Sep 17 00:00:00 2001 From: Clisprail Date: Thu, 25 Dec 2014 13:39:13 +0100 Subject: [PATCH] Make classes public --- .../core/asm/adapters/AddInterfaceAdapter.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/parabotv2/src/org/parabot/core/asm/adapters/AddInterfaceAdapter.java b/parabotv2/src/org/parabot/core/asm/adapters/AddInterfaceAdapter.java index b4d7bff..5835daf 100644 --- a/parabotv2/src/org/parabot/core/asm/adapters/AddInterfaceAdapter.java +++ b/parabotv2/src/org/parabot/core/asm/adapters/AddInterfaceAdapter.java @@ -1,5 +1,8 @@ package org.parabot.core.asm.adapters; +import java.lang.reflect.Modifier; + +import org.objectweb.asm.Opcodes; import org.objectweb.asm.tree.ClassNode; import org.parabot.core.Core; import org.parabot.core.asm.ASMUtils; @@ -43,6 +46,15 @@ public class AddInterfaceAdapter implements Injectable { } protected static void addInterface(ClassNode node, String i) { + 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; + } node.interfaces.add(i); }