From 6649e0cb82f3303fe869a804b0ad6ffb43e353b2 Mon Sep 17 00:00:00 2001 From: Alexey Andreev Date: Fri, 11 Nov 2016 11:43:37 +0300 Subject: [PATCH] JS: remove intrinsics for progressions --- .../translate/context/TranslationContext.java | 11 ---- .../functions/FunctionIntrinsics.java | 1 - .../factories/ProgressionCompanionFIF.kt | 50 ------------------- 3 files changed, 62 deletions(-) delete mode 100644 js/js.translator/src/org/jetbrains/kotlin/js/translate/intrinsic/functions/factories/ProgressionCompanionFIF.kt diff --git a/js/js.translator/src/org/jetbrains/kotlin/js/translate/context/TranslationContext.java b/js/js.translator/src/org/jetbrains/kotlin/js/translate/context/TranslationContext.java index d421fca47cc..4d5ef9ea2d1 100644 --- a/js/js.translator/src/org/jetbrains/kotlin/js/translate/context/TranslationContext.java +++ b/js/js.translator/src/org/jetbrains/kotlin/js/translate/context/TranslationContext.java @@ -26,7 +26,6 @@ import org.jetbrains.kotlin.js.config.JsConfig; import org.jetbrains.kotlin.js.translate.intrinsic.Intrinsics; import org.jetbrains.kotlin.js.translate.utils.JsAstUtils; import org.jetbrains.kotlin.js.translate.utils.TranslationUtils; -import org.jetbrains.kotlin.name.FqName; import org.jetbrains.kotlin.psi.KtExpression; import org.jetbrains.kotlin.resolve.BindingContext; import org.jetbrains.kotlin.resolve.BindingTrace; @@ -175,11 +174,6 @@ public class TranslationContext { return this.innerWithAliasingContext(aliasingContext.withDescriptorsAliased(aliases)); } - @NotNull - public JsName importDeclaration(@NotNull String suggestedName, @NotNull JsExpression declaration) { - return staticContext.importDeclaration(suggestedName, declaration); - } - @Nullable private JsBlock getBlockForDescriptor(@NotNull DeclarationDescriptor descriptor) { if (descriptor instanceof CallableDescriptor) { @@ -234,11 +228,6 @@ public class TranslationContext { return staticContext.getQualifiedReference(descriptor); } - @NotNull - public JsNameRef getQualifiedReference(@NotNull FqName fqName) { - return staticContext.getQualifiedReference(fqName); - } - @NotNull public JsNameRef getInnerReference(@NotNull DeclarationDescriptor descriptor) { return JsAstUtils.pureFqn(getInnerNameForDescriptor(descriptor), null); diff --git a/js/js.translator/src/org/jetbrains/kotlin/js/translate/intrinsic/functions/FunctionIntrinsics.java b/js/js.translator/src/org/jetbrains/kotlin/js/translate/intrinsic/functions/FunctionIntrinsics.java index c545ec1a2b4..f6d1bbad01e 100644 --- a/js/js.translator/src/org/jetbrains/kotlin/js/translate/intrinsic/functions/FunctionIntrinsics.java +++ b/js/js.translator/src/org/jetbrains/kotlin/js/translate/intrinsic/functions/FunctionIntrinsics.java @@ -46,7 +46,6 @@ public final class FunctionIntrinsics { register(ArrayFIF.INSTANCE); register(TopLevelFIF.INSTANCE); register(NumberAndCharConversionFIF.INSTANCE); - register(ProgressionCompanionFIF.INSTANCE); } private void register(@NotNull FunctionIntrinsicFactory instance) { diff --git a/js/js.translator/src/org/jetbrains/kotlin/js/translate/intrinsic/functions/factories/ProgressionCompanionFIF.kt b/js/js.translator/src/org/jetbrains/kotlin/js/translate/intrinsic/functions/factories/ProgressionCompanionFIF.kt deleted file mode 100644 index 34b8cff9a4b..00000000000 --- a/js/js.translator/src/org/jetbrains/kotlin/js/translate/intrinsic/functions/factories/ProgressionCompanionFIF.kt +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright 2010-2015 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.kotlin.js.translate.intrinsic.functions.factories - -import com.google.dart.compiler.backend.js.ast.JsExpression -import com.google.dart.compiler.backend.js.ast.JsNew -import org.jetbrains.kotlin.descriptors.ClassDescriptor -import org.jetbrains.kotlin.descriptors.FunctionDescriptor -import org.jetbrains.kotlin.js.patterns.PatternBuilder.pattern -import org.jetbrains.kotlin.js.translate.context.TranslationContext -import org.jetbrains.kotlin.js.translate.intrinsic.functions.basic.FunctionIntrinsic -import org.jetbrains.kotlin.js.translate.reference.ReferenceTranslator - -object ProgressionCompanionFIF : FunctionIntrinsicFactory { - val patterns = listOf(methodPattern("IntProgression"), methodPattern("LongProgression"), methodPattern("CharProgression")) - - private fun methodPattern(builtinProgressionName: String) = - pattern("kotlin.ranges", builtinProgressionName, "Companion", "fromClosedRange") - - override fun getIntrinsic(descriptor: FunctionDescriptor): FunctionIntrinsic? = - if (patterns.any { it.apply(descriptor) }) { - FromClosedRangeIntrinsic(descriptor) - } - else { - null - } - - private class FromClosedRangeIntrinsic(descriptor: FunctionDescriptor) : FunctionIntrinsic() { - val progressionType = descriptor.containingDeclaration.containingDeclaration as ClassDescriptor - - override fun apply(receiver: JsExpression?, arguments: MutableList, context: TranslationContext): JsExpression { - val constructor = ReferenceTranslator.translateAsTypeReference(progressionType, context) - return JsNew(constructor, arguments) - } - } -} \ No newline at end of file