@NotNull public static KotlinType getDefaultPrimitiveNumberType( @NotNull IntegerValueTypeConstructor numberValueTypeConstructor) { KotlinType type = getDefaultPrimitiveNumberType(numberValueTypeConstructor.getSupertypes()); assert type != null : "Strange number value type constructor: " + numberValueTypeConstructor + ". " + "Super types doesn't contain double, int or long: " + numberValueTypeConstructor.getSupertypes(); return type; }
@NotNull public static KotlinType getPrimitiveNumberType( @NotNull IntegerValueTypeConstructor numberValueTypeConstructor, @NotNull KotlinType expectedType) { if (noExpectedType(expectedType) || expectedType.isError()) { return getDefaultPrimitiveNumberType(numberValueTypeConstructor); } for (KotlinType primitiveNumberType : numberValueTypeConstructor.getSupertypes()) { if (KotlinTypeChecker.DEFAULT.isSubtypeOf(primitiveNumberType, expectedType)) { return primitiveNumberType; } } return getDefaultPrimitiveNumberType(numberValueTypeConstructor); }