diff --git a/src/main/java/ftbsc/lll/proxies/QualifiableProxy.java b/src/main/java/ftbsc/lll/proxies/QualifiableProxy.java index d245124..91ebaa1 100644 --- a/src/main/java/ftbsc/lll/proxies/QualifiableProxy.java +++ b/src/main/java/ftbsc/lll/proxies/QualifiableProxy.java @@ -37,10 +37,10 @@ public abstract class QualifiableProxy extends AbstractProxy { * @return the parent, or null if the parent was the root element */ protected static String extractParentFromFQN(String fqn) { - String lastSeparator = fqn.contains("$") ? "\\$" : "\\."; - String[] split = fqn.split(lastSeparator); - if(split.length == 1) return null; - return fqn.substring(0, split[split.length - 1].length() - 1); + String lastSeparator = fqn.contains("$") ? "$" : "."; + int pos = fqn.lastIndexOf(lastSeparator); + if(pos == -1) return null; + return fqn.substring(0, pos); } /** diff --git a/src/main/java/ftbsc/lll/proxies/impl/TypeProxy.java b/src/main/java/ftbsc/lll/proxies/impl/TypeProxy.java index 5782609..8001f06 100644 --- a/src/main/java/ftbsc/lll/proxies/impl/TypeProxy.java +++ b/src/main/java/ftbsc/lll/proxies/impl/TypeProxy.java @@ -29,7 +29,7 @@ public class TypeProxy extends QualifiableProxy { * @param primitive whether the proxy is a primitive */ protected TypeProxy(String name, String descriptor, int modifiers, String parent, boolean primitive) { - super(descriptor, modifiers, PackageProxy.from(parent), String.format("%s.%s", name, parent), ProxyType.TYPE); + super(descriptor, modifiers, PackageProxy.from(parent), String.format("%s.%s", parent, name), ProxyType.TYPE); this.primitive = primitive; }