Skip to content

Commit 154590a

Browse files
committed
Make lambda method names a bit shorter
Signed-off-by: TheSilkMiner <thesilkminer@outlook.com>
1 parent 6df0696 commit 154590a

1 file changed

Lines changed: 5 additions & 3 deletions

File tree

  • JavaBytecodeCompiler/src/main/java/org/openzen/zenscript/javabytecode

JavaBytecodeCompiler/src/main/java/org/openzen/zenscript/javabytecode/JavaMangler.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -145,10 +145,12 @@ public int hashCode() {
145145
} else {
146146
sanitizedMethodName = parentMethodName;
147147
}
148-
final String interfaceTarget = interfaceName.replace('/', '_').replace('.', '_');
149-
final LambdaId id = new LambdaId(interfaceName, sanitizedMethodName);
148+
final String interfaceTarget = interfaceName.replace('/', '.');
149+
final int lastDot = interfaceTarget.lastIndexOf('.');
150+
final String canonicalInterfaceTarget = lastDot == -1 ? interfaceTarget : interfaceTarget.substring(lastDot + 1);
151+
final LambdaId id = new LambdaId(canonicalInterfaceTarget, sanitizedMethodName);
150152

151-
return "$lambda$" + sanitizedMethodName + '$' + interfaceTarget + '$' + this.mangleCounters.get(id);
153+
return "$lambda$" + sanitizedMethodName + '$' + canonicalInterfaceTarget + '$' + this.mangleCounters.get(id);
152154
}
153155

154156
public String mangleGeneratedLambdaName(final String interfaceName) {

0 commit comments

Comments
 (0)