diff --git a/js/js.translator/lib/dart-ast.jar b/js/js.translator/lib/dart-ast.jar index 9395c2dce62..dbf3f9dd080 100644 Binary files a/js/js.translator/lib/dart-ast.jar and b/js/js.translator/lib/dart-ast.jar differ diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/functions/factories/PrimitiveBinaryOperationFIF.java b/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/functions/factories/PrimitiveBinaryOperationFIF.java index f614a2d4870..bb7869a2aab 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/functions/factories/PrimitiveBinaryOperationFIF.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/functions/factories/PrimitiveBinaryOperationFIF.java @@ -20,7 +20,6 @@ import com.google.common.base.Predicate; import com.google.common.base.Predicates; import com.google.common.collect.ImmutableMap; import com.google.dart.compiler.backend.js.ast.*; -import com.google.dart.compiler.util.AstUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.jet.lang.descriptors.FunctionDescriptor; @@ -52,7 +51,7 @@ public enum PrimitiveBinaryOperationFIF implements FunctionIntrinsicFactory { assert arguments.size() == 1 : "RangeTo must have one argument."; assert rangeStart != null; JsExpression rangeEnd = arguments.get(0); - JsNameRef expr = AstUtil.newQualifiedNameRef("Kotlin.NumberRange"); + JsNameRef expr = new JsNameRef("NumberRange", "Kotlin"); HasArguments numberRangeConstructorInvocation = context.isEcma5() ? new JsInvocation(expr) : new JsNew(expr); //TODO: add tests and correct expression for reversed ranges. setArguments(numberRangeConstructorInvocation, rangeStart, rangeEnd); diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/reference/CallParametersResolver.java b/js/js.translator/src/org/jetbrains/k2js/translate/reference/CallParametersResolver.java index 017b6286e92..ff1434af799 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/reference/CallParametersResolver.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/reference/CallParametersResolver.java @@ -21,7 +21,6 @@ import com.google.dart.compiler.backend.js.ast.JsLiteral; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.jet.lang.descriptors.CallableDescriptor; -import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor; import org.jetbrains.jet.lang.descriptors.FunctionDescriptor; import org.jetbrains.jet.lang.resolve.calls.model.ResolvedCall; import org.jetbrains.jet.lang.resolve.calls.model.ResolvedCallWithTrace; @@ -29,10 +28,10 @@ import org.jetbrains.jet.lang.resolve.calls.model.VariableAsFunctionResolvedCall import org.jetbrains.jet.lang.resolve.scopes.receivers.ClassReceiver; import org.jetbrains.jet.lang.resolve.scopes.receivers.ExtensionReceiver; import org.jetbrains.jet.lang.resolve.scopes.receivers.ReceiverValue; +import org.jetbrains.jet.lang.resolve.scopes.receivers.ThisReceiver; import org.jetbrains.k2js.translate.context.TranslationContext; import static org.jetbrains.k2js.translate.utils.JsDescriptorUtils.getDeclarationDescriptorForReceiver; -import static org.jetbrains.k2js.translate.utils.JsDescriptorUtils.getDeclarationDescriptorForExtensionCallReceiver; public final class CallParametersResolver { public static CallParameters resolveCallParameters(@Nullable JsExpression qualifier, @@ -116,7 +115,6 @@ public final class CallParametersResolver { if (qualifier != null) { return qualifier; } - DeclarationDescriptor receiverDescriptor = getDeclarationDescriptorForExtensionCallReceiver(resolvedCall); - return context.getThisObject(receiverDescriptor); + return context.getThisObject(((ThisReceiver) resolvedCall.getReceiverArgument()).getDeclarationDescriptor()); } } diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/test/JSRhinoUnitTester.java b/js/js.translator/src/org/jetbrains/k2js/translate/test/JSRhinoUnitTester.java index 997726babc6..6ea28e61da1 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/test/JSRhinoUnitTester.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/test/JSRhinoUnitTester.java @@ -18,13 +18,12 @@ package org.jetbrains.k2js.translate.test; import com.google.dart.compiler.backend.js.ast.JsExpression; import com.google.dart.compiler.backend.js.ast.JsNameRef; -import com.google.dart.compiler.util.AstUtil; import org.jetbrains.annotations.NotNull; public final class JSRhinoUnitTester extends CommonUnitTester { @NotNull - private static final JsNameRef TEST_FUN_REF = AstUtil.newQualifiedNameRef("JsTests.test"); + private static final JsNameRef TEST_FUN_REF = new JsNameRef("test", "JsTests"); @NotNull @Override diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/test/QUnitTester.java b/js/js.translator/src/org/jetbrains/k2js/translate/test/QUnitTester.java index d461a5e7c99..324017cfa2c 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/test/QUnitTester.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/test/QUnitTester.java @@ -18,12 +18,11 @@ package org.jetbrains.k2js.translate.test; import com.google.dart.compiler.backend.js.ast.JsExpression; import com.google.dart.compiler.backend.js.ast.JsNameRef; -import com.google.dart.compiler.util.AstUtil; import org.jetbrains.annotations.NotNull; public final class QUnitTester extends CommonUnitTester { @NotNull - private static final JsNameRef TEST_FUN_REF = AstUtil.newQualifiedNameRef("QUnit.test"); + private static final JsNameRef TEST_FUN_REF = new JsNameRef("test", "QUnit"); @Override @NotNull diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/utils/JsDescriptorUtils.java b/js/js.translator/src/org/jetbrains/k2js/translate/utils/JsDescriptorUtils.java index 431ac96dc4e..7ecd7edbc15 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/utils/JsDescriptorUtils.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/utils/JsDescriptorUtils.java @@ -22,10 +22,7 @@ import org.jetbrains.jet.lang.descriptors.*; import org.jetbrains.jet.lang.psi.JetExpression; import org.jetbrains.jet.lang.resolve.BindingContext; import org.jetbrains.jet.lang.resolve.DescriptorUtils; -import org.jetbrains.jet.lang.resolve.calls.model.ResolvedCall; import org.jetbrains.jet.lang.resolve.name.Name; -import org.jetbrains.jet.lang.resolve.scopes.receivers.ClassReceiver; -import org.jetbrains.jet.lang.resolve.scopes.receivers.ExtensionReceiver; import org.jetbrains.jet.lang.resolve.scopes.receivers.ReceiverValue; import org.jetbrains.jet.lang.types.JetType; import org.jetbrains.jet.lang.types.expressions.OperatorConventions; @@ -177,18 +174,4 @@ public final class JsDescriptorUtils { return null; } - - @NotNull - public static DeclarationDescriptor getDeclarationDescriptorForExtensionCallReceiver( - @NotNull ResolvedCall resolvedCall - ) { - ReceiverValue receiverArgument = resolvedCall.getReceiverArgument(); - if (receiverArgument instanceof ExtensionReceiver) { - return ((ExtensionReceiver) receiverArgument).getDeclarationDescriptor(); - } - if (receiverArgument instanceof ClassReceiver) { - return ((ClassReceiver) receiverArgument).getDeclarationDescriptor(); - } - throw new IllegalStateException("Unexpected receiver of type " + receiverArgument.getClass()); - } }