Remove obsolete range-related intrinsics from JS translator.
This commit is contained in:
+2
-2
@@ -32,11 +32,11 @@ object LongOperationFIF : FunctionIntrinsicFactory {
|
||||
val LONG_BINARY_OPERATION_LONG = pattern("Long.compareTo|rangeTo|plus|minus|times|div|mod|and|or|xor(Long)")
|
||||
val LONG_BIT_SHIFTS = pattern("Long.shl|shr|ushr(Int)")
|
||||
val LONG_BINARY_OPERATION_INTEGER = pattern("Long.compareTo|rangeTo|plus|minus|times|div|mod(Int|Short|Byte)")
|
||||
val LONG_BINARY_OPERATION_FLOATING_POINT = pattern("Long.compareTo|rangeTo|plus|minus|times|div|mod(Double|Float)")
|
||||
val LONG_BINARY_OPERATION_FLOATING_POINT = pattern("Long.compareTo|plus|minus|times|div|mod(Double|Float)")
|
||||
val INTEGER_BINARY_OPERATION_LONG = pattern("Int|Short|Byte.compareTo|rangeTo|plus|minus|times|div|mod(Long)")
|
||||
val CHAR_BINARY_OPERATION_LONG = pattern("Char.compareTo|rangeTo|plus|minus|times|div|mod(Long)")
|
||||
val LONG_BINARY_OPERATION_CHAR = pattern("Long.compareTo|rangeTo|plus|minus|times|div|mod(Char)")
|
||||
val FLOATING_POINT_BINARY_OPERATION_LONG = pattern("Double|Float.compareTo|rangeTo|plus|minus|times|div|mod(Long)")
|
||||
val FLOATING_POINT_BINARY_OPERATION_LONG = pattern("Double|Float.compareTo|plus|minus|times|div|mod(Long)")
|
||||
|
||||
private val longBinaryIntrinsics =
|
||||
(
|
||||
|
||||
+5
-2
@@ -103,6 +103,9 @@ public enum PrimitiveBinaryOperationFIF implements FunctionIntrinsicFactory {
|
||||
private static final DescriptorPredicate BOOLEAN_OPERATIONS = pattern("Boolean.or|and|xor");
|
||||
private static final DescriptorPredicate STRING_PLUS = pattern("String.plus");
|
||||
|
||||
private static final DescriptorPredicate CHAR_RANGE_TO = pattern("Char.rangeTo(Char)");
|
||||
private static final DescriptorPredicate NUMBER_RANGE_TO = pattern("Byte|Short|Int.rangeTo(Byte|Short|Int)");
|
||||
|
||||
private static final ImmutableMap<String, JsBinaryOperator> BINARY_BITWISE_OPERATIONS = ImmutableMap.<String, JsBinaryOperator>builder()
|
||||
.put("or", JsBinaryOperator.BIT_OR)
|
||||
.put("and", JsBinaryOperator.BIT_AND)
|
||||
@@ -119,7 +122,7 @@ public enum PrimitiveBinaryOperationFIF implements FunctionIntrinsicFactory {
|
||||
@Nullable
|
||||
@Override
|
||||
public FunctionIntrinsic getIntrinsic(@NotNull FunctionDescriptor descriptor) {
|
||||
if (pattern("Char.rangeTo(Char)").apply(descriptor)) {
|
||||
if (CHAR_RANGE_TO.apply(descriptor)) {
|
||||
return new RangeToIntrinsic(descriptor);
|
||||
}
|
||||
|
||||
@@ -140,7 +143,7 @@ public enum PrimitiveBinaryOperationFIF implements FunctionIntrinsicFactory {
|
||||
if (pattern("Int|Short|Byte.div(Int|Short|Byte)").apply(descriptor)) {
|
||||
return INTEGER_DIVISION_INTRINSIC;
|
||||
}
|
||||
if (descriptor.getName().equals(Name.identifier("rangeTo"))) {
|
||||
if (NUMBER_RANGE_TO.apply(descriptor)) {
|
||||
return new RangeToIntrinsic(descriptor);
|
||||
}
|
||||
if (INT_WITH_BIT_OPERATIONS.apply(descriptor)) {
|
||||
|
||||
Reference in New Issue
Block a user