8009391: Synthetic name of serializable lambda methods should not contain negative numbers
Summary: Use hex representation of method signature hashcode to avoid negative numbers
Reviewed-by: jjg
--- a/langtools/src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java Wed Mar 06 15:33:17 2013 +0000
+++ b/langtools/src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java Wed Mar 06 15:33:39 2013 +0000
@@ -1299,7 +1299,7 @@
buf.append(owner.name);
buf.append('$');
int methTypeHash = methodSig(owner.type).hashCode();
- buf.append(methTypeHash);
+ buf.append(Integer.toHexString(methTypeHash));
buf.append('$');
String temp = buf.toString();
Integer count = serializableLambdaCounts.get(temp);