in freemarker-core/src/main/java/freemarker/ext/beans/OverloadedNumberUtil.java [939:1196]
static int getArgumentConversionPrice(Class fromC, Class toC) {
// DO NOT EDIT, generated code!
// See: src\main\misc\overloadedNumberRules\README.txt
if (toC == fromC) {
return 0;
} else if (toC == Integer.class) {
if (fromC == IntegerBigDecimal.class) return 31003;
else if (fromC == BigDecimal.class) return 41003;
else if (fromC == Long.class) return Integer.MAX_VALUE;
else if (fromC == Double.class) return Integer.MAX_VALUE;
else if (fromC == Float.class) return Integer.MAX_VALUE;
else if (fromC == Byte.class) return 10003;
else if (fromC == BigInteger.class) return Integer.MAX_VALUE;
else if (fromC == LongOrInteger.class) return 21003;
else if (fromC == DoubleOrFloat.class) return Integer.MAX_VALUE;
else if (fromC == DoubleOrIntegerOrFloat.class) return 22003;
else if (fromC == DoubleOrInteger.class) return 22003;
else if (fromC == DoubleOrLong.class) return Integer.MAX_VALUE;
else if (fromC == IntegerOrByte.class) return 0;
else if (fromC == DoubleOrByte.class) return 22003;
else if (fromC == LongOrByte.class) return 21003;
else if (fromC == Short.class) return 10003;
else if (fromC == LongOrShort.class) return 21003;
else if (fromC == ShortOrByte.class) return 10003;
else if (fromC == FloatOrInteger.class) return 21003;
else if (fromC == FloatOrByte.class) return 21003;
else if (fromC == FloatOrShort.class) return 21003;
else if (fromC == BigIntegerOrInteger.class) return 16003;
else if (fromC == BigIntegerOrLong.class) return Integer.MAX_VALUE;
else if (fromC == BigIntegerOrDouble.class) return Integer.MAX_VALUE;
else if (fromC == BigIntegerOrFloat.class) return Integer.MAX_VALUE;
else if (fromC == BigIntegerOrByte.class) return 16003;
else if (fromC == IntegerOrShort.class) return 0;
else if (fromC == DoubleOrShort.class) return 22003;
else if (fromC == BigIntegerOrShort.class) return 16003;
else return Integer.MAX_VALUE;
} else if (toC == Long.class) {
if (fromC == Integer.class) return 10004;
else if (fromC == IntegerBigDecimal.class) return 31004;
else if (fromC == BigDecimal.class) return 41004;
else if (fromC == Double.class) return Integer.MAX_VALUE;
else if (fromC == Float.class) return Integer.MAX_VALUE;
else if (fromC == Byte.class) return 10004;
else if (fromC == BigInteger.class) return Integer.MAX_VALUE;
else if (fromC == LongOrInteger.class) return 0;
else if (fromC == DoubleOrFloat.class) return Integer.MAX_VALUE;
else if (fromC == DoubleOrIntegerOrFloat.class) return 21004;
else if (fromC == DoubleOrInteger.class) return 21004;
else if (fromC == DoubleOrLong.class) return 21004;
else if (fromC == IntegerOrByte.class) return 10004;
else if (fromC == DoubleOrByte.class) return 21004;
else if (fromC == LongOrByte.class) return 0;
else if (fromC == Short.class) return 10004;
else if (fromC == LongOrShort.class) return 0;
else if (fromC == ShortOrByte.class) return 10004;
else if (fromC == FloatOrInteger.class) return 21004;
else if (fromC == FloatOrByte.class) return 21004;
else if (fromC == FloatOrShort.class) return 21004;
else if (fromC == BigIntegerOrInteger.class) return 15004;
else if (fromC == BigIntegerOrLong.class) return 15004;
else if (fromC == BigIntegerOrDouble.class) return Integer.MAX_VALUE;
else if (fromC == BigIntegerOrFloat.class) return Integer.MAX_VALUE;
else if (fromC == BigIntegerOrByte.class) return 15004;
else if (fromC == IntegerOrShort.class) return 10004;
else if (fromC == DoubleOrShort.class) return 21004;
else if (fromC == BigIntegerOrShort.class) return 15004;
else return Integer.MAX_VALUE;
} else if (toC == Double.class) {
if (fromC == Integer.class) return 20007;
else if (fromC == IntegerBigDecimal.class) return 32007;
else if (fromC == BigDecimal.class) return 32007;
else if (fromC == Long.class) return 30007;
else if (fromC == Float.class) return 10007;
else if (fromC == Byte.class) return 20007;
else if (fromC == BigInteger.class) return Integer.MAX_VALUE;
else if (fromC == LongOrInteger.class) return 21007;
else if (fromC == DoubleOrFloat.class) return 0;
else if (fromC == DoubleOrIntegerOrFloat.class) return 0;
else if (fromC == DoubleOrInteger.class) return 0;
else if (fromC == DoubleOrLong.class) return 0;
else if (fromC == IntegerOrByte.class) return 20007;
else if (fromC == DoubleOrByte.class) return 0;
else if (fromC == LongOrByte.class) return 21007;
else if (fromC == Short.class) return 20007;
else if (fromC == LongOrShort.class) return 21007;
else if (fromC == ShortOrByte.class) return 20007;
else if (fromC == FloatOrInteger.class) return 10007;
else if (fromC == FloatOrByte.class) return 10007;
else if (fromC == FloatOrShort.class) return 10007;
else if (fromC == BigIntegerOrInteger.class) return 20007;
else if (fromC == BigIntegerOrLong.class) return 30007;
else if (fromC == BigIntegerOrDouble.class) return 20007;
else if (fromC == BigIntegerOrFloat.class) return 20007;
else if (fromC == BigIntegerOrByte.class) return 20007;
else if (fromC == IntegerOrShort.class) return 20007;
else if (fromC == DoubleOrShort.class) return 0;
else if (fromC == BigIntegerOrShort.class) return 20007;
else return Integer.MAX_VALUE;
} else if (toC == Float.class) {
if (fromC == Integer.class) return 30006;
else if (fromC == IntegerBigDecimal.class) return 33006;
else if (fromC == BigDecimal.class) return 33006;
else if (fromC == Long.class) return 40006;
else if (fromC == Double.class) return Integer.MAX_VALUE;
else if (fromC == Byte.class) return 20006;
else if (fromC == BigInteger.class) return Integer.MAX_VALUE;
else if (fromC == LongOrInteger.class) return 30006;
else if (fromC == DoubleOrFloat.class) return 30006;
else if (fromC == DoubleOrIntegerOrFloat.class) return 23006;
else if (fromC == DoubleOrInteger.class) return 30006;
else if (fromC == DoubleOrLong.class) return 40006;
else if (fromC == IntegerOrByte.class) return 24006;
else if (fromC == DoubleOrByte.class) return 23006;
else if (fromC == LongOrByte.class) return 24006;
else if (fromC == Short.class) return 20006;
else if (fromC == LongOrShort.class) return 24006;
else if (fromC == ShortOrByte.class) return 20006;
else if (fromC == FloatOrInteger.class) return 0;
else if (fromC == FloatOrByte.class) return 0;
else if (fromC == FloatOrShort.class) return 0;
else if (fromC == BigIntegerOrInteger.class) return 30006;
else if (fromC == BigIntegerOrLong.class) return 40006;
else if (fromC == BigIntegerOrDouble.class) return 40006;
else if (fromC == BigIntegerOrFloat.class) return 24006;
else if (fromC == BigIntegerOrByte.class) return 24006;
else if (fromC == IntegerOrShort.class) return 24006;
else if (fromC == DoubleOrShort.class) return 23006;
else if (fromC == BigIntegerOrShort.class) return 24006;
else return Integer.MAX_VALUE;
} else if (toC == Byte.class) {
if (fromC == Integer.class) return Integer.MAX_VALUE;
else if (fromC == IntegerBigDecimal.class) return 35001;
else if (fromC == BigDecimal.class) return 45001;
else if (fromC == Long.class) return Integer.MAX_VALUE;
else if (fromC == Double.class) return Integer.MAX_VALUE;
else if (fromC == Float.class) return Integer.MAX_VALUE;
else if (fromC == BigInteger.class) return Integer.MAX_VALUE;
else if (fromC == LongOrInteger.class) return Integer.MAX_VALUE;
else if (fromC == DoubleOrFloat.class) return Integer.MAX_VALUE;
else if (fromC == DoubleOrIntegerOrFloat.class) return Integer.MAX_VALUE;
else if (fromC == DoubleOrInteger.class) return Integer.MAX_VALUE;
else if (fromC == DoubleOrLong.class) return Integer.MAX_VALUE;
else if (fromC == IntegerOrByte.class) return 22001;
else if (fromC == DoubleOrByte.class) return 25001;
else if (fromC == LongOrByte.class) return 23001;
else if (fromC == Short.class) return Integer.MAX_VALUE;
else if (fromC == LongOrShort.class) return Integer.MAX_VALUE;
else if (fromC == ShortOrByte.class) return 21001;
else if (fromC == FloatOrInteger.class) return Integer.MAX_VALUE;
else if (fromC == FloatOrByte.class) return 23001;
else if (fromC == FloatOrShort.class) return Integer.MAX_VALUE;
else if (fromC == BigIntegerOrInteger.class) return Integer.MAX_VALUE;
else if (fromC == BigIntegerOrLong.class) return Integer.MAX_VALUE;
else if (fromC == BigIntegerOrDouble.class) return Integer.MAX_VALUE;
else if (fromC == BigIntegerOrFloat.class) return Integer.MAX_VALUE;
else if (fromC == BigIntegerOrByte.class) return 18001;
else if (fromC == IntegerOrShort.class) return Integer.MAX_VALUE;
else if (fromC == DoubleOrShort.class) return Integer.MAX_VALUE;
else if (fromC == BigIntegerOrShort.class) return Integer.MAX_VALUE;
else return Integer.MAX_VALUE;
} else if (toC == Short.class) {
if (fromC == Integer.class) return Integer.MAX_VALUE;
else if (fromC == IntegerBigDecimal.class) return 34002;
else if (fromC == BigDecimal.class) return 44002;
else if (fromC == Long.class) return Integer.MAX_VALUE;
else if (fromC == Double.class) return Integer.MAX_VALUE;
else if (fromC == Float.class) return Integer.MAX_VALUE;
else if (fromC == Byte.class) return 10002;
else if (fromC == BigInteger.class) return Integer.MAX_VALUE;
else if (fromC == LongOrInteger.class) return Integer.MAX_VALUE;
else if (fromC == DoubleOrFloat.class) return Integer.MAX_VALUE;
else if (fromC == DoubleOrIntegerOrFloat.class) return Integer.MAX_VALUE;
else if (fromC == DoubleOrInteger.class) return Integer.MAX_VALUE;
else if (fromC == DoubleOrLong.class) return Integer.MAX_VALUE;
else if (fromC == IntegerOrByte.class) return 21002;
else if (fromC == DoubleOrByte.class) return 24002;
else if (fromC == LongOrByte.class) return 22002;
else if (fromC == LongOrShort.class) return 22002;
else if (fromC == ShortOrByte.class) return 0;
else if (fromC == FloatOrInteger.class) return Integer.MAX_VALUE;
else if (fromC == FloatOrByte.class) return 22002;
else if (fromC == FloatOrShort.class) return 22002;
else if (fromC == BigIntegerOrInteger.class) return Integer.MAX_VALUE;
else if (fromC == BigIntegerOrLong.class) return Integer.MAX_VALUE;
else if (fromC == BigIntegerOrDouble.class) return Integer.MAX_VALUE;
else if (fromC == BigIntegerOrFloat.class) return Integer.MAX_VALUE;
else if (fromC == BigIntegerOrByte.class) return 17002;
else if (fromC == IntegerOrShort.class) return 21002;
else if (fromC == DoubleOrShort.class) return 24002;
else if (fromC == BigIntegerOrShort.class) return 17002;
else return Integer.MAX_VALUE;
} else if (toC == BigDecimal.class) {
if (fromC == Integer.class) return 20008;
else if (fromC == IntegerBigDecimal.class) return 0;
else if (fromC == Long.class) return 20008;
else if (fromC == Double.class) return 20008;
else if (fromC == Float.class) return 20008;
else if (fromC == Byte.class) return 20008;
else if (fromC == BigInteger.class) return 10008;
else if (fromC == LongOrInteger.class) return 20008;
else if (fromC == DoubleOrFloat.class) return 20008;
else if (fromC == DoubleOrIntegerOrFloat.class) return 20008;
else if (fromC == DoubleOrInteger.class) return 20008;
else if (fromC == DoubleOrLong.class) return 20008;
else if (fromC == IntegerOrByte.class) return 20008;
else if (fromC == DoubleOrByte.class) return 20008;
else if (fromC == LongOrByte.class) return 20008;
else if (fromC == Short.class) return 20008;
else if (fromC == LongOrShort.class) return 20008;
else if (fromC == ShortOrByte.class) return 20008;
else if (fromC == FloatOrInteger.class) return 20008;
else if (fromC == FloatOrByte.class) return 20008;
else if (fromC == FloatOrShort.class) return 20008;
else if (fromC == BigIntegerOrInteger.class) return 10008;
else if (fromC == BigIntegerOrLong.class) return 10008;
else if (fromC == BigIntegerOrDouble.class) return 10008;
else if (fromC == BigIntegerOrFloat.class) return 10008;
else if (fromC == BigIntegerOrByte.class) return 10008;
else if (fromC == IntegerOrShort.class) return 20008;
else if (fromC == DoubleOrShort.class) return 20008;
else if (fromC == BigIntegerOrShort.class) return 10008;
else return Integer.MAX_VALUE;
} else if (toC == BigInteger.class) {
if (fromC == Integer.class) return 10005;
else if (fromC == IntegerBigDecimal.class) return 10005;
else if (fromC == BigDecimal.class) return 40005;
else if (fromC == Long.class) return 10005;
else if (fromC == Double.class) return Integer.MAX_VALUE;
else if (fromC == Float.class) return Integer.MAX_VALUE;
else if (fromC == Byte.class) return 10005;
else if (fromC == LongOrInteger.class) return 10005;
else if (fromC == DoubleOrFloat.class) return Integer.MAX_VALUE;
else if (fromC == DoubleOrIntegerOrFloat.class) return 21005;
else if (fromC == DoubleOrInteger.class) return 21005;
else if (fromC == DoubleOrLong.class) return 21005;
else if (fromC == IntegerOrByte.class) return 10005;
else if (fromC == DoubleOrByte.class) return 21005;
else if (fromC == LongOrByte.class) return 10005;
else if (fromC == Short.class) return 10005;
else if (fromC == LongOrShort.class) return 10005;
else if (fromC == ShortOrByte.class) return 10005;
else if (fromC == FloatOrInteger.class) return 25005;
else if (fromC == FloatOrByte.class) return 25005;
else if (fromC == FloatOrShort.class) return 25005;
else if (fromC == BigIntegerOrInteger.class) return 0;
else if (fromC == BigIntegerOrLong.class) return 0;
else if (fromC == BigIntegerOrDouble.class) return 0;
else if (fromC == BigIntegerOrFloat.class) return 0;
else if (fromC == BigIntegerOrByte.class) return 0;
else if (fromC == IntegerOrShort.class) return 10005;
else if (fromC == DoubleOrShort.class) return 21005;
else if (fromC == BigIntegerOrShort.class) return 0;
else return Integer.MAX_VALUE;
} else {
// Unknown toC; we don't know how to convert to it:
return Integer.MAX_VALUE;
}
}