[jOOQ/jOOQ#18910] KotlinGenerator produces bad code when sequences
reference Long.MIN_VALUE with their flags
This commit is contained in:
parent
548058a42e
commit
467e93a336
@ -9343,17 +9343,26 @@ public class JavaGenerator extends AbstractGenerator {
|
||||
if (bitLength > Long.SIZE - 1)
|
||||
return "new java.math.BigInteger(\"" + bi.toString() + "\")";
|
||||
else if (bitLength > Integer.SIZE - 1)
|
||||
return Long.toString(n.longValue()) + 'L';
|
||||
return longLiteral(n.longValue());
|
||||
else
|
||||
return Integer.toString(n.intValue());
|
||||
}
|
||||
else if (n instanceof Integer || n instanceof Short || n instanceof Byte)
|
||||
return Integer.toString(n.intValue());
|
||||
else if (n != null)
|
||||
return Long.toString(n.longValue()) + 'L';
|
||||
return longLiteral(n.longValue());
|
||||
return "null";
|
||||
}
|
||||
|
||||
private String longLiteral(long n) {
|
||||
|
||||
// [#18910] Work around a Kotlin compiler bug ("design flaw")
|
||||
if (kotlin && n == Long.MIN_VALUE)
|
||||
return "Long.MIN_VALUE";
|
||||
else
|
||||
return Long.toString(n) + 'L';
|
||||
}
|
||||
|
||||
protected void generateGlobalObjectNames(Definition container, Class<? extends Definition> objectType) {
|
||||
final List<? extends Definition> children = children(container, objectType);
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user