diff --git a/js/js.dart-ast/src/com/google/dart/compiler/backend/js/ast/metadata/metadataProperties.kt b/js/js.dart-ast/src/com/google/dart/compiler/backend/js/ast/metadata/metadataProperties.kt index 8da1adf0074..417020b1e9d 100644 --- a/js/js.dart-ast/src/com/google/dart/compiler/backend/js/ast/metadata/metadataProperties.kt +++ b/js/js.dart-ast/src/com/google/dart/compiler/backend/js/ast/metadata/metadataProperties.kt @@ -36,8 +36,6 @@ var JsFunction.isLocal: Boolean by MetadataProperty(default = false) var JsParameter.hasDefaultValue: Boolean by MetadataProperty(default = false) -var JsConditional.isCastExpression: Boolean by MetadataProperty(default = false) - var JsInvocation.typeCheck: TypeCheck? by MetadataProperty(default = null) /** diff --git a/js/js.translator/src/org/jetbrains/kotlin/js/translate/expression/PatternTranslator.java b/js/js.translator/src/org/jetbrains/kotlin/js/translate/expression/PatternTranslator.java index c29e98ed15b..a8119e5c6af 100644 --- a/js/js.translator/src/org/jetbrains/kotlin/js/translate/expression/PatternTranslator.java +++ b/js/js.translator/src/org/jetbrains/kotlin/js/translate/expression/PatternTranslator.java @@ -87,9 +87,7 @@ public final class PatternTranslator extends AbstractTranslator { onFail = new JsInvocation(throwCCEFunRef); } - JsConditional conditional = new JsConditional(isCheck, temporary.reference(), onFail); - MetadataProperties.setCastExpression(conditional, true); - return conditional; + return new JsConditional(isCheck, temporary.reference(), onFail); } @NotNull diff --git a/js/js.translator/src/org/jetbrains/kotlin/js/translate/utils/expandIsCalls.kt b/js/js.translator/src/org/jetbrains/kotlin/js/translate/utils/expandIsCalls.kt index 92a9ce1ab75..61b6355666b 100644 --- a/js/js.translator/src/org/jetbrains/kotlin/js/translate/utils/expandIsCalls.kt +++ b/js/js.translator/src/org/jetbrains/kotlin/js/translate/utils/expandIsCalls.kt @@ -18,7 +18,6 @@ package org.jetbrains.kotlin.js.translate.utils import com.google.dart.compiler.backend.js.ast.* import com.google.dart.compiler.backend.js.ast.metadata.TypeCheck -import com.google.dart.compiler.backend.js.ast.metadata.isCastExpression import com.google.dart.compiler.backend.js.ast.metadata.typeCheck import org.jetbrains.kotlin.js.inline.util.IdentitySet import org.jetbrains.kotlin.js.translate.context.TranslationContext @@ -54,12 +53,6 @@ private class TypeCheckRewritingVisitor(private val context: TranslationContext) override fun endVisit(x: JsConditional, ctx: JsContext) { val test = x.testExpression - if (x.isCastExpression && - test is JsBinaryOperation && - test.operator == JsBinaryOperator.ASG - ) { - ctx.replaceMe(test.arg2) - } } override fun visit(x: JsInvocation, ctx: JsContext): Boolean { @@ -102,10 +95,8 @@ private class TypeCheckRewritingVisitor(private val context: TranslationContext) // `Kotlin.orNull(calleeArgument)(argument)` -> `(tmp = argument) == null || calleeArgument(tmp)` if (callee.typeCheck == TypeCheck.OR_NULL) { - if (calleeArgument is JsInvocation) { - if (calleeArgument.typeCheck == TypeCheck.OR_NULL) return JsInvocation(calleeArgument, argument) - - if (calleeArgument.typeCheck == TypeCheck.IS_ANY) return argument + if (calleeArgument is JsInvocation && calleeArgument.typeCheck == TypeCheck.OR_NULL) { + return JsInvocation(calleeArgument, argument) } var nullCheckTarget = argument