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_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_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_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 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 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 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 =
|
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 BOOLEAN_OPERATIONS = pattern("Boolean.or|and|xor");
|
||||||
private static final DescriptorPredicate STRING_PLUS = pattern("String.plus");
|
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()
|
private static final ImmutableMap<String, JsBinaryOperator> BINARY_BITWISE_OPERATIONS = ImmutableMap.<String, JsBinaryOperator>builder()
|
||||||
.put("or", JsBinaryOperator.BIT_OR)
|
.put("or", JsBinaryOperator.BIT_OR)
|
||||||
.put("and", JsBinaryOperator.BIT_AND)
|
.put("and", JsBinaryOperator.BIT_AND)
|
||||||
@@ -119,7 +122,7 @@ public enum PrimitiveBinaryOperationFIF implements FunctionIntrinsicFactory {
|
|||||||
@Nullable
|
@Nullable
|
||||||
@Override
|
@Override
|
||||||
public FunctionIntrinsic getIntrinsic(@NotNull FunctionDescriptor descriptor) {
|
public FunctionIntrinsic getIntrinsic(@NotNull FunctionDescriptor descriptor) {
|
||||||
if (pattern("Char.rangeTo(Char)").apply(descriptor)) {
|
if (CHAR_RANGE_TO.apply(descriptor)) {
|
||||||
return new RangeToIntrinsic(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)) {
|
if (pattern("Int|Short|Byte.div(Int|Short|Byte)").apply(descriptor)) {
|
||||||
return INTEGER_DIVISION_INTRINSIC;
|
return INTEGER_DIVISION_INTRINSIC;
|
||||||
}
|
}
|
||||||
if (descriptor.getName().equals(Name.identifier("rangeTo"))) {
|
if (NUMBER_RANGE_TO.apply(descriptor)) {
|
||||||
return new RangeToIntrinsic(descriptor);
|
return new RangeToIntrinsic(descriptor);
|
||||||
}
|
}
|
||||||
if (INT_WITH_BIT_OPERATIONS.apply(descriptor)) {
|
if (INT_WITH_BIT_OPERATIONS.apply(descriptor)) {
|
||||||
|
|||||||
Reference in New Issue
Block a user