diff --git a/js/js.dart-ast/src/com/google/dart/compiler/backend/js/ast/JsFunction.java b/js/js.dart-ast/src/com/google/dart/compiler/backend/js/ast/JsFunction.java index 525d93236ec..d565f06b4c1 100644 --- a/js/js.dart-ast/src/com/google/dart/compiler/backend/js/ast/JsFunction.java +++ b/js/js.dart-ast/src/com/google/dart/compiler/backend/js/ast/JsFunction.java @@ -19,7 +19,6 @@ public final class JsFunction extends JsLiteral implements HasName { @NotNull private final JsFunctionScope scope; private JsName name; - private boolean isLocal = false; public JsFunction(@NotNull JsScope parentScope, @NotNull String description) { this(parentScope, description, null); @@ -63,10 +62,6 @@ public final class JsFunction extends JsLiteral implements HasName { return scope; } - public boolean isLocal() { - return isLocal; - } - public void setBody(@NotNull JsBlock body) { this.body = body; } @@ -75,10 +70,6 @@ public final class JsFunction extends JsLiteral implements HasName { this.name = name; } - public void markAsLocal() { - isLocal = true; - } - @Override public void accept(JsVisitor v) { v.visitFunction(this); @@ -106,7 +97,6 @@ public final class JsFunction extends JsLiteral implements HasName { functionCopy.getScope().copyOwnNames(scope); functionCopy.setBody(body.deepCopy()); functionCopy.params = AstUtil.deepCopy(params); - functionCopy.isLocal = isLocal; return functionCopy.withMetadataFrom(this); } diff --git a/js/js.inliner/src/org/jetbrains/k2js/inline/clean/removeUnusedFunctionDefinitions.kt b/js/js.inliner/src/org/jetbrains/k2js/inline/clean/removeUnusedFunctionDefinitions.kt index c5aea01b26c..17d68d6ab45 100644 --- a/js/js.inliner/src/org/jetbrains/k2js/inline/clean/removeUnusedFunctionDefinitions.kt +++ b/js/js.inliner/src/org/jetbrains/k2js/inline/clean/removeUnusedFunctionDefinitions.kt @@ -18,6 +18,7 @@ package org.jetbrains.k2js.inline.clean import com.google.dart.compiler.backend.js.ast.* import com.google.dart.compiler.backend.js.ast.metadata.staticRef +import com.google.dart.compiler.backend.js.ast.metadata.isLocal import com.intellij.util.containers.Stack import java.util.IdentityHashMap @@ -54,11 +55,11 @@ private class UnusedLocalFunctionsCollector(functions: Map) get() = tracker.removable public fun process() { - functions.filter { it.value.isLocal() } + functions.filter { it.value.isLocal } .forEach { tracker.addCandidateForRemoval(it.key, it.value) } for ((name, function) in functions) { - if (function.isLocal()) { + if (function.isLocal) { processLocalFunction(name, function) } else { processNonLocalFunction(name, function) diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/expression/LiteralFunctionTranslator.kt b/js/js.translator/src/org/jetbrains/k2js/translate/expression/LiteralFunctionTranslator.kt index 9230e01ad21..1c0239021e6 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/expression/LiteralFunctionTranslator.kt +++ b/js/js.translator/src/org/jetbrains/k2js/translate/expression/LiteralFunctionTranslator.kt @@ -18,6 +18,7 @@ package org.jetbrains.k2js.translate.expression import com.google.dart.compiler.backend.js.ast.* import com.google.dart.compiler.backend.js.ast.metadata.staticRef +import com.google.dart.compiler.backend.js.ast.metadata.isLocal import org.jetbrains.jet.lang.descriptors.CallableDescriptor import org.jetbrains.jet.lang.descriptors.ReceiverParameterDescriptor import org.jetbrains.jet.lang.psi.JetDeclarationWithBody @@ -60,11 +61,11 @@ class LiteralFunctionTranslator(context: TranslationContext) : AbstractTranslato if (tracker.hasCapturedExceptContaining()) { val lambdaCreator = simpleReturnFunction(invokingContext.scope(), lambda) - lambdaCreator.markAsLocal() + lambdaCreator.isLocal = true return lambdaCreator.withCapturedParameters(functionContext, invokingContext, descriptor) } - lambda.markAsLocal() + lambda.isLocal = true return invokingContext.define(descriptor, lambda) } }