From 961260c5c5f538b8a461bd6f123305f80c7210f8 Mon Sep 17 00:00:00 2001 From: "Pavel V. Talanov" Date: Wed, 11 Jul 2012 13:21:54 +0400 Subject: [PATCH] Intrinsic -> FunctionIntrinsic Introduce FunctionIntrinsicFactory (unused atm) --- .../foreach/ArrayForTranslator.java | 6 ++-- .../intrinsic/BuiltInFunctionIntrinsic.java | 2 +- .../intrinsic/BuiltInPropertyIntrinsic.java | 2 +- .../CallStandardMethodIntrinsic.java | 2 +- .../intrinsic/CompareToIntrinsic.java | 2 +- .../translate/intrinsic/EqualsIntrinsic.java | 2 +- ...{Intrinsic.java => FunctionIntrinsic.java} | 4 +-- .../intrinsic/FunctionIntrinsicFactory.java | 31 +++++++++++++++++++ .../k2js/translate/intrinsic/Intrinsics.java | 14 ++++----- .../intrinsic/ReturnReceiverIntrinsic.java | 2 +- .../intrinsic/array/ArrayGetIntrinsic.java | 4 +-- .../intrinsic/array/ArraySetIntrinsic.java | 4 +-- .../PrimitiveBinaryOperationIntrinsic.java | 4 +-- .../primitive/PrimitiveRangeToIntrinsic.java | 4 +-- .../PrimitiveUnaryOperationIntrinsic.java | 4 +-- .../intrinsic/string/CharAtIntrinsic.java | 4 +-- .../intrinsic/tuple/TupleAccessIntrinsic.java | 4 +-- .../translate/reference/CallTranslator.java | 4 +-- .../translate/utils/TranslationUtils.java | 4 +-- 19 files changed, 67 insertions(+), 36 deletions(-) rename js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/{Intrinsic.java => FunctionIntrinsic.java} (88%) create mode 100644 js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/FunctionIntrinsicFactory.java diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/expression/foreach/ArrayForTranslator.java b/js/js.translator/src/org/jetbrains/k2js/translate/expression/foreach/ArrayForTranslator.java index a671dbd3f41..44e96506847 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/expression/foreach/ArrayForTranslator.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/expression/foreach/ArrayForTranslator.java @@ -26,14 +26,14 @@ import org.jetbrains.jet.lang.types.JetType; import org.jetbrains.k2js.translate.context.TemporaryVariable; import org.jetbrains.k2js.translate.context.TranslationContext; import org.jetbrains.k2js.translate.general.Translation; -import org.jetbrains.k2js.translate.intrinsic.Intrinsic; +import org.jetbrains.k2js.translate.intrinsic.FunctionIntrinsic; import org.jetbrains.k2js.translate.utils.BindingUtils; import java.util.Collections; import java.util.List; -import static org.jetbrains.jet.lang.resolve.DescriptorUtils.getClassDescriptorForType; import static org.jetbrains.k2js.translate.utils.JsAstUtils.*; +import static org.jetbrains.k2js.translate.utils.JsDescriptorUtils.getClassDescriptorForType; import static org.jetbrains.k2js.translate.utils.PsiUtils.getLoopRange; import static org.jetbrains.k2js.translate.utils.TemporariesUtils.temporariesInitialization; @@ -70,7 +70,7 @@ public final class ArrayForTranslator extends ForTranslator { private ArrayForTranslator(@NotNull JetForExpression forExpression, @NotNull TranslationContext context) { super(forExpression, context); loopRange = context.declareTemporary(Translation.translateAsExpression(getLoopRange(expression), context)); - Intrinsic lengthPropertyIntrinsic = context().intrinsics().getLengthPropertyIntrinsic(); + FunctionIntrinsic lengthPropertyIntrinsic = context().intrinsics().getLengthPropertyIntrinsic(); JsExpression length = lengthPropertyIntrinsic.apply(loopRange.reference(), Collections.emptyList(), context()); diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/BuiltInFunctionIntrinsic.java b/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/BuiltInFunctionIntrinsic.java index 824967d4c82..c4b9712d2ff 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/BuiltInFunctionIntrinsic.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/BuiltInFunctionIntrinsic.java @@ -31,7 +31,7 @@ import static org.jetbrains.k2js.translate.utils.JsAstUtils.setQualifier; /** * @author Pavel Talanov */ -public final class BuiltInFunctionIntrinsic implements Intrinsic { +public final class BuiltInFunctionIntrinsic implements FunctionIntrinsic { @NotNull private final String functionName; diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/BuiltInPropertyIntrinsic.java b/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/BuiltInPropertyIntrinsic.java index fd64ee16bfb..5440cd036cd 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/BuiltInPropertyIntrinsic.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/BuiltInPropertyIntrinsic.java @@ -15,7 +15,7 @@ import static org.jetbrains.k2js.translate.utils.JsAstUtils.setQualifier; * @author Pavel Talanov */ //TODO: find should be usages -public final class BuiltInPropertyIntrinsic implements Intrinsic { +public final class BuiltInPropertyIntrinsic implements FunctionIntrinsic { @NotNull private final String propertyName; diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/CallStandardMethodIntrinsic.java b/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/CallStandardMethodIntrinsic.java index 2ec496ef415..a33392b7207 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/CallStandardMethodIntrinsic.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/CallStandardMethodIntrinsic.java @@ -33,7 +33,7 @@ import static org.jetbrains.k2js.translate.utils.JsAstUtils.newInvocation; /** * @author Pavel Talanov */ -public final class CallStandardMethodIntrinsic implements Intrinsic { +public final class CallStandardMethodIntrinsic implements FunctionIntrinsic { @NotNull private final String methodName; diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/CompareToIntrinsic.java b/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/CompareToIntrinsic.java index 14281dfb1a5..c280e2f4e95 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/CompareToIntrinsic.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/CompareToIntrinsic.java @@ -23,7 +23,7 @@ import org.jetbrains.jet.lexer.JetToken; /** * @author Pavel Talanov */ -public abstract class CompareToIntrinsic implements Intrinsic { +public abstract class CompareToIntrinsic implements FunctionIntrinsic { private JetToken comparisonToken = null; diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/EqualsIntrinsic.java b/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/EqualsIntrinsic.java index 03444358c87..88d35e42963 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/EqualsIntrinsic.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/EqualsIntrinsic.java @@ -21,7 +21,7 @@ import org.jetbrains.annotations.NotNull; /** * @author Pavel Talanov */ -public abstract class EqualsIntrinsic implements Intrinsic { +public abstract class EqualsIntrinsic implements FunctionIntrinsic { @NotNull private Boolean isNegated = false; diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/Intrinsic.java b/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/FunctionIntrinsic.java similarity index 88% rename from js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/Intrinsic.java rename to js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/FunctionIntrinsic.java index 569771f7f89..27e7343fcf3 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/Intrinsic.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/FunctionIntrinsic.java @@ -26,9 +26,9 @@ import java.util.List; /** * @author Pavel Talanov *

- * Base class for all intrinsics. + * Base for intrinsics that substitute standard function calls like Int#plus, Float#minus ... etc */ -public interface Intrinsic { +public interface FunctionIntrinsic { @NotNull JsExpression apply(@Nullable JsExpression receiver, @NotNull List arguments, diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/FunctionIntrinsicFactory.java b/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/FunctionIntrinsicFactory.java new file mode 100644 index 00000000000..91c8950cfe6 --- /dev/null +++ b/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/FunctionIntrinsicFactory.java @@ -0,0 +1,31 @@ +/* + * Copyright 2010-2012 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.jetbrains.k2js.translate.intrinsic; + +import org.jetbrains.annotations.NotNull; +import org.jetbrains.jet.lang.descriptors.FunctionDescriptor; + +/** + * @author Pavel Talanov + */ +public abstract class FunctionIntrinsicFactory { + + public abstract boolean isApplicable(@NotNull FunctionDescriptor descriptor); + + @NotNull + public abstract FunctionIntrinsic createIntrinsic(@NotNull FunctionDescriptor descriptor); +} diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/Intrinsics.java b/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/Intrinsics.java index 2373c6254ef..ebeb819b09b 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/Intrinsics.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/Intrinsics.java @@ -50,13 +50,13 @@ import static org.jetbrains.k2js.translate.utils.JsDescriptorUtils.getPropertyBy /** * @author Pavel Talanov *

- * Provides mechanism to substitute method calls /w native constucts directly. + * Provides mechanism to substitute method calls /w native constructs directly. */ public final class Intrinsics { @NotNull - private final Map functionIntrinsics = - new HashMap(); + private final Map functionIntrinsics = + new HashMap(); @NotNull private final Map equalsIntrinsics = @@ -67,7 +67,7 @@ public final class Intrinsics { new HashMap(); @NotNull - private final Intrinsic lengthPropertyIntrinsic = new BuiltInPropertyIntrinsic("length"); + private final FunctionIntrinsic lengthPropertyIntrinsic = new BuiltInPropertyIntrinsic("length"); public static Intrinsics standardLibraryIntrinsics(@NotNull JetStandardLibrary library) { return new Intrinsics(library); @@ -106,7 +106,7 @@ public final class Intrinsics { } @NotNull - public Intrinsic getLengthPropertyIntrinsic() { + public FunctionIntrinsic getLengthPropertyIntrinsic() { return lengthPropertyIntrinsic; } @@ -212,8 +212,8 @@ public final class Intrinsics { //NOTE: that if we want to add other intrinsics we have to modify this method @NotNull - public Intrinsic getIntrinsic(@NotNull FunctionDescriptor descriptor) { - Intrinsic intrinsic = functionIntrinsics.get(descriptor.getOriginal()); + public FunctionIntrinsic getIntrinsic(@NotNull FunctionDescriptor descriptor) { + FunctionIntrinsic intrinsic = functionIntrinsics.get(descriptor.getOriginal()); if (intrinsic == null) { intrinsic = equalsIntrinsics.get(descriptor.getOriginal()); } diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/ReturnReceiverIntrinsic.java b/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/ReturnReceiverIntrinsic.java index 642224257fd..039e7b42f5a 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/ReturnReceiverIntrinsic.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/ReturnReceiverIntrinsic.java @@ -26,7 +26,7 @@ import java.util.List; /** * @author Pavel Talanov */ -public enum ReturnReceiverIntrinsic implements Intrinsic { +public enum ReturnReceiverIntrinsic implements FunctionIntrinsic { INSTANCE; diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/array/ArrayGetIntrinsic.java b/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/array/ArrayGetIntrinsic.java index 2cde3bfb511..02cc306e749 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/array/ArrayGetIntrinsic.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/array/ArrayGetIntrinsic.java @@ -21,14 +21,14 @@ import com.google.dart.compiler.backend.js.ast.JsExpression; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.k2js.translate.context.TranslationContext; -import org.jetbrains.k2js.translate.intrinsic.Intrinsic; +import org.jetbrains.k2js.translate.intrinsic.FunctionIntrinsic; import java.util.List; /** * @author Pavel Talanov */ -public enum ArrayGetIntrinsic implements Intrinsic { +public enum ArrayGetIntrinsic implements FunctionIntrinsic { INSTANCE; diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/array/ArraySetIntrinsic.java b/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/array/ArraySetIntrinsic.java index 505ee22bd0c..32756d7c4a5 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/array/ArraySetIntrinsic.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/array/ArraySetIntrinsic.java @@ -22,14 +22,14 @@ import com.google.dart.compiler.util.AstUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.k2js.translate.context.TranslationContext; -import org.jetbrains.k2js.translate.intrinsic.Intrinsic; +import org.jetbrains.k2js.translate.intrinsic.FunctionIntrinsic; import java.util.List; /** * @author Pavel Talanov */ -public enum ArraySetIntrinsic implements Intrinsic { +public enum ArraySetIntrinsic implements FunctionIntrinsic { INSTANCE; diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/primitive/PrimitiveBinaryOperationIntrinsic.java b/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/primitive/PrimitiveBinaryOperationIntrinsic.java index 35c0f6c5c14..03debc96b5c 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/primitive/PrimitiveBinaryOperationIntrinsic.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/primitive/PrimitiveBinaryOperationIntrinsic.java @@ -23,7 +23,7 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.jet.lexer.JetToken; import org.jetbrains.k2js.translate.context.TranslationContext; -import org.jetbrains.k2js.translate.intrinsic.Intrinsic; +import org.jetbrains.k2js.translate.intrinsic.FunctionIntrinsic; import org.jetbrains.k2js.translate.operation.OperatorTable; import java.util.List; @@ -31,7 +31,7 @@ import java.util.List; /** * @author Pavel Talanov */ -public final class PrimitiveBinaryOperationIntrinsic implements Intrinsic { +public final class PrimitiveBinaryOperationIntrinsic implements FunctionIntrinsic { @NotNull public static PrimitiveBinaryOperationIntrinsic newInstance(@NotNull JetToken token) { diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/primitive/PrimitiveRangeToIntrinsic.java b/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/primitive/PrimitiveRangeToIntrinsic.java index c5baca2e3a2..a7a066a4f01 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/primitive/PrimitiveRangeToIntrinsic.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/primitive/PrimitiveRangeToIntrinsic.java @@ -21,7 +21,7 @@ import com.google.dart.compiler.util.AstUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.k2js.translate.context.TranslationContext; -import org.jetbrains.k2js.translate.intrinsic.Intrinsic; +import org.jetbrains.k2js.translate.intrinsic.FunctionIntrinsic; import java.util.List; @@ -30,7 +30,7 @@ import static org.jetbrains.k2js.translate.utils.JsAstUtils.*; /** * @author Pavel Talanov */ -public final class PrimitiveRangeToIntrinsic implements Intrinsic { +public final class PrimitiveRangeToIntrinsic implements FunctionIntrinsic { @NotNull public static PrimitiveRangeToIntrinsic newInstance() { diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/primitive/PrimitiveUnaryOperationIntrinsic.java b/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/primitive/PrimitiveUnaryOperationIntrinsic.java index df522486c1e..4287dff6bf4 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/primitive/PrimitiveUnaryOperationIntrinsic.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/primitive/PrimitiveUnaryOperationIntrinsic.java @@ -23,7 +23,7 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.jet.lexer.JetToken; import org.jetbrains.k2js.translate.context.TranslationContext; -import org.jetbrains.k2js.translate.intrinsic.Intrinsic; +import org.jetbrains.k2js.translate.intrinsic.FunctionIntrinsic; import org.jetbrains.k2js.translate.operation.OperatorTable; import java.util.List; @@ -31,7 +31,7 @@ import java.util.List; /** * @author Pavel Talanov */ -public final class PrimitiveUnaryOperationIntrinsic implements Intrinsic { +public final class PrimitiveUnaryOperationIntrinsic implements FunctionIntrinsic { @NotNull public static PrimitiveUnaryOperationIntrinsic newInstance(@NotNull JetToken token) { diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/string/CharAtIntrinsic.java b/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/string/CharAtIntrinsic.java index 60ad8368e27..801133f36de 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/string/CharAtIntrinsic.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/string/CharAtIntrinsic.java @@ -22,7 +22,7 @@ import com.google.dart.compiler.util.AstUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.k2js.translate.context.TranslationContext; -import org.jetbrains.k2js.translate.intrinsic.Intrinsic; +import org.jetbrains.k2js.translate.intrinsic.FunctionIntrinsic; import java.util.List; @@ -32,7 +32,7 @@ import static org.jetbrains.k2js.translate.utils.JsAstUtils.setQualifier; /** * @author Pavel Talanov */ -public enum CharAtIntrinsic implements Intrinsic { +public enum CharAtIntrinsic implements FunctionIntrinsic { INSTANCE; diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/tuple/TupleAccessIntrinsic.java b/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/tuple/TupleAccessIntrinsic.java index 8763d614d7f..474ddb1cd17 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/tuple/TupleAccessIntrinsic.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/tuple/TupleAccessIntrinsic.java @@ -21,14 +21,14 @@ import com.google.dart.compiler.util.AstUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.k2js.translate.context.TranslationContext; -import org.jetbrains.k2js.translate.intrinsic.Intrinsic; +import org.jetbrains.k2js.translate.intrinsic.FunctionIntrinsic; import java.util.List; /** * @author Pavel Talanov */ -public final class TupleAccessIntrinsic implements Intrinsic { +public final class TupleAccessIntrinsic implements FunctionIntrinsic { private final int elementIndex; diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/reference/CallTranslator.java b/js/js.translator/src/org/jetbrains/k2js/translate/reference/CallTranslator.java index c5f582fa829..6a996ee06ed 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/reference/CallTranslator.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/reference/CallTranslator.java @@ -27,7 +27,7 @@ import org.jetbrains.jet.lang.resolve.calls.ResolvedCall; import org.jetbrains.jet.lang.resolve.calls.VariableAsFunctionResolvedCall; import org.jetbrains.k2js.translate.context.TranslationContext; import org.jetbrains.k2js.translate.general.AbstractTranslator; -import org.jetbrains.k2js.translate.intrinsic.Intrinsic; +import org.jetbrains.k2js.translate.intrinsic.FunctionIntrinsic; import org.jetbrains.k2js.translate.utils.AnnotationsUtils; import org.jetbrains.k2js.translate.utils.ErrorReportingUtils; @@ -126,7 +126,7 @@ public final class CallTranslator extends AbstractTranslator { private JsExpression intrinsicInvocation() { assert descriptor instanceof FunctionDescriptor; try { - Intrinsic intrinsic = context().intrinsics().getIntrinsic((FunctionDescriptor) descriptor); + FunctionIntrinsic intrinsic = context().intrinsics().getIntrinsic((FunctionDescriptor) descriptor); return intrinsic.apply(callParameters.getThisOrReceiverOrNull(), arguments, context()); } catch (RuntimeException e) { diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/utils/TranslationUtils.java b/js/js.translator/src/org/jetbrains/k2js/translate/utils/TranslationUtils.java index dbebc88acaf..cc9c59e5ba1 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/utils/TranslationUtils.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/utils/TranslationUtils.java @@ -26,7 +26,7 @@ import org.jetbrains.jet.lang.resolve.calls.ResolvedCall; import org.jetbrains.jet.lang.resolve.scopes.receivers.ReceiverDescriptor; import org.jetbrains.k2js.translate.context.TranslationContext; import org.jetbrains.k2js.translate.general.Translation; -import org.jetbrains.k2js.translate.intrinsic.Intrinsic; +import org.jetbrains.k2js.translate.intrinsic.FunctionIntrinsic; import java.util.ArrayList; import java.util.Arrays; @@ -234,7 +234,7 @@ public final class TranslationUtils { @NotNull public static JsExpression applyIntrinsicToBinaryExpression(@NotNull TranslationContext context, - @NotNull Intrinsic intrinsic, + @NotNull FunctionIntrinsic intrinsic, @NotNull JetBinaryExpression binaryExpression) { JsExpression left = translateLeftExpression(context, binaryExpression); JsExpression right = translateRightExpression(context, binaryExpression);