diff --git a/.idea/libraries/js_libs.xml b/.idea/libraries/js_libs.xml index e8a4874bfc6..634e8f6caa6 100644 --- a/.idea/libraries/js_libs.xml +++ b/.idea/libraries/js_libs.xml @@ -1,10 +1,8 @@ - - diff --git a/js/js.tests/test/org/jetbrains/k2js/test/ArrayListTest.java b/js/js.tests/test/org/jetbrains/k2js/test/ArrayListTest.java index 85d4a4706cc..78cab15898c 100644 --- a/js/js.tests/test/org/jetbrains/k2js/test/ArrayListTest.java +++ b/js/js.tests/test/org/jetbrains/k2js/test/ArrayListTest.java @@ -16,7 +16,7 @@ package org.jetbrains.k2js.test; -import org.mozilla.javascript.JavaScriptException; +import sun.org.mozilla.javascript.internal.JavaScriptException; /** * @author Pavel Talanov diff --git a/js/js.tests/test/org/jetbrains/k2js/test/ClassInheritanceTest.java b/js/js.tests/test/org/jetbrains/k2js/test/ClassInheritanceTest.java index 6aa1d44b8cc..6ade4a83576 100644 --- a/js/js.tests/test/org/jetbrains/k2js/test/ClassInheritanceTest.java +++ b/js/js.tests/test/org/jetbrains/k2js/test/ClassInheritanceTest.java @@ -29,7 +29,7 @@ public final class ClassInheritanceTest extends TranslationTest { } public void testInitializersOfBasicClassExecute() throws Exception { - testFunctionOutput("initializersOfBasicClassExecute.kt", "foo", "box", 3); + testFunctionOutput("initializersOfBasicClassExecute.kt", "foo", "box", 3.0); } public void testMethodOverride() throws Exception { diff --git a/js/js.tests/test/org/jetbrains/k2js/test/ConditionalTest.java b/js/js.tests/test/org/jetbrains/k2js/test/ConditionalTest.java index 01bc150435f..3768f1b3270 100644 --- a/js/js.tests/test/org/jetbrains/k2js/test/ConditionalTest.java +++ b/js/js.tests/test/org/jetbrains/k2js/test/ConditionalTest.java @@ -16,7 +16,7 @@ package org.jetbrains.k2js.test; -import org.mozilla.javascript.JavaScriptException; +import sun.org.mozilla.javascript.internal.JavaScriptException; /** * @author Pavel Talanov diff --git a/js/js.tests/test/org/jetbrains/k2js/test/FunctionTest.java b/js/js.tests/test/org/jetbrains/k2js/test/FunctionTest.java index f819c841a4d..ac001d86a4c 100644 --- a/js/js.tests/test/org/jetbrains/k2js/test/FunctionTest.java +++ b/js/js.tests/test/org/jetbrains/k2js/test/FunctionTest.java @@ -95,6 +95,7 @@ public class FunctionTest extends AbstractExpressionTest { } + //TODO: this test passes even if does nothing public void testkt921() throws Exception { try { checkOutput("KT-921.kt", ""); diff --git a/js/js.tests/test/org/jetbrains/k2js/test/KotlinLibTest.java b/js/js.tests/test/org/jetbrains/k2js/test/KotlinLibTest.java index 2fb1afd4e19..3cdfdc879ef 100644 --- a/js/js.tests/test/org/jetbrains/k2js/test/KotlinLibTest.java +++ b/js/js.tests/test/org/jetbrains/k2js/test/KotlinLibTest.java @@ -16,8 +16,8 @@ package org.jetbrains.k2js.test; -import org.mozilla.javascript.Context; -import org.mozilla.javascript.Scriptable; +import sun.org.mozilla.javascript.internal.Context; +import sun.org.mozilla.javascript.internal.Scriptable; import java.util.Arrays; import java.util.HashMap; diff --git a/js/js.tests/test/org/jetbrains/k2js/test/MiscTest.java b/js/js.tests/test/org/jetbrains/k2js/test/MiscTest.java index b34076ddce0..96e2b1a9d6c 100644 --- a/js/js.tests/test/org/jetbrains/k2js/test/MiscTest.java +++ b/js/js.tests/test/org/jetbrains/k2js/test/MiscTest.java @@ -31,7 +31,7 @@ public final class MiscTest extends AbstractExpressionTest { } public void testLocalPropertys() throws Exception { - testFunctionOutput("localProperty.jet", "foo", "box", 50); + testFunctionOutput("localProperty.jet", "foo", "box", 50.0); } public void testIntRange() throws Exception { diff --git a/js/js.tests/test/org/jetbrains/k2js/test/PatternMatchingTest.java b/js/js.tests/test/org/jetbrains/k2js/test/PatternMatchingTest.java index 7bb03d3fd06..552d4ed2731 100644 --- a/js/js.tests/test/org/jetbrains/k2js/test/PatternMatchingTest.java +++ b/js/js.tests/test/org/jetbrains/k2js/test/PatternMatchingTest.java @@ -16,7 +16,7 @@ package org.jetbrains.k2js.test; -import org.mozilla.javascript.JavaScriptException; +import sun.org.mozilla.javascript.internal.JavaScriptException; /** * @author Pavel Talanov @@ -80,6 +80,7 @@ public final class PatternMatchingTest extends TranslationTest { checkFooBoxIsTrue("whenAsExpression.kt"); } + //TODO: public void whenAsExpressionWithThrow() throws Exception { try { checkFooBoxIsTrue("whenAsExpressionWithThrow.kt"); diff --git a/js/js.tests/test/org/jetbrains/k2js/test/RhinoFunctionResultChecker.java b/js/js.tests/test/org/jetbrains/k2js/test/RhinoFunctionResultChecker.java index 5bd63ab7f78..d10f2b0edc9 100644 --- a/js/js.tests/test/org/jetbrains/k2js/test/RhinoFunctionResultChecker.java +++ b/js/js.tests/test/org/jetbrains/k2js/test/RhinoFunctionResultChecker.java @@ -17,8 +17,8 @@ package org.jetbrains.k2js.test; import org.jetbrains.annotations.Nullable; -import org.mozilla.javascript.Context; -import org.mozilla.javascript.Scriptable; +import sun.org.mozilla.javascript.internal.Context; +import sun.org.mozilla.javascript.internal.Scriptable; import static org.junit.Assert.assertTrue; @@ -45,7 +45,7 @@ public final class RhinoFunctionResultChecker implements RhinoResultChecker { public void runChecks(Context context, Scriptable scope) throws Exception { Object result = evaluateFunction(context, scope); assertTrue("Result is not what expected! Expected: " + expectedResult + " Evaluated : " + result, - result.equals(expectedResult)); + result.equals(expectedResult)); String report = namespaceName + "." + functionName + "() = " + Context.toString(result); System.out.println(report); } diff --git a/js/js.tests/test/org/jetbrains/k2js/test/RhinoPropertyTypesChecker.java b/js/js.tests/test/org/jetbrains/k2js/test/RhinoPropertyTypesChecker.java index 4787fc0f8e0..18fc0588afe 100644 --- a/js/js.tests/test/org/jetbrains/k2js/test/RhinoPropertyTypesChecker.java +++ b/js/js.tests/test/org/jetbrains/k2js/test/RhinoPropertyTypesChecker.java @@ -16,9 +16,10 @@ package org.jetbrains.k2js.test; -import org.mozilla.javascript.Context; -import org.mozilla.javascript.NativeObject; -import org.mozilla.javascript.Scriptable; +import sun.org.mozilla.javascript.internal.Context; +import sun.org.mozilla.javascript.internal.NativeObject; +import sun.org.mozilla.javascript.internal.Scriptable; +import sun.org.mozilla.javascript.internal.ScriptableObject; import java.util.Map; @@ -48,9 +49,12 @@ public final class RhinoPropertyTypesChecker implements RhinoResultChecker { for (Map.Entry> entry : nameToClassMap.entrySet()) { String name = entry.getKey(); Class expectedClass = entry.getValue(); - assertTrue(object + " must contain key " + name, object.containsKey(name)); + + Object property = ScriptableObject.getProperty(object, name); + assertTrue(object + " must contain key " + name, property != null); assertTrue(object + "'s property " + name + " must be of type " + expectedClass, - expectedClass.isInstance(object.get(name))); + expectedClass.isInstance(property + )); } } diff --git a/js/js.tests/test/org/jetbrains/k2js/test/RhinoResultChecker.java b/js/js.tests/test/org/jetbrains/k2js/test/RhinoResultChecker.java index 273895ed8a8..467e29c94e7 100644 --- a/js/js.tests/test/org/jetbrains/k2js/test/RhinoResultChecker.java +++ b/js/js.tests/test/org/jetbrains/k2js/test/RhinoResultChecker.java @@ -16,12 +16,12 @@ package org.jetbrains.k2js.test; -import org.mozilla.javascript.Context; -import org.mozilla.javascript.Scriptable; +import sun.org.mozilla.javascript.internal.Context; +import sun.org.mozilla.javascript.internal.Scriptable; /** * @author Pavel Talanov */ public interface RhinoResultChecker { - public void runChecks(Context context, Scriptable scope) throws Exception; + void runChecks(Context context, Scriptable scope) throws Exception; } diff --git a/js/js.tests/test/org/jetbrains/k2js/test/RhinoSystemOutputChecker.java b/js/js.tests/test/org/jetbrains/k2js/test/RhinoSystemOutputChecker.java index 388041c14f5..53741442a07 100644 --- a/js/js.tests/test/org/jetbrains/k2js/test/RhinoSystemOutputChecker.java +++ b/js/js.tests/test/org/jetbrains/k2js/test/RhinoSystemOutputChecker.java @@ -18,8 +18,8 @@ package org.jetbrains.k2js.test; import org.jetbrains.annotations.NotNull; import org.jetbrains.k2js.utils.GenerationUtils; -import org.mozilla.javascript.Context; -import org.mozilla.javascript.Scriptable; +import sun.org.mozilla.javascript.internal.Context; +import sun.org.mozilla.javascript.internal.Scriptable; import java.util.List; @@ -48,7 +48,7 @@ public final class RhinoSystemOutputChecker implements RhinoResultChecker { // System.out.println(trimmedActual); // System.out.println(trimmedExpected); assertTrue("Returned:\n" + trimmedActual + "END_OF_RETURNED\nExpected:\n" + trimmedExpected - + "END_OF_EXPECTED\n", trimmedExpected.equals(trimmedActual)); + + "END_OF_EXPECTED\n", trimmedExpected.equals(trimmedActual)); } private String getSystemOutput(@NotNull Context context, @NotNull Scriptable scope) { diff --git a/js/js.tests/test/org/jetbrains/k2js/test/RhinoUtils.java b/js/js.tests/test/org/jetbrains/k2js/test/RhinoUtils.java index 6ddf610539d..ff0fba950d2 100644 --- a/js/js.tests/test/org/jetbrains/k2js/test/RhinoUtils.java +++ b/js/js.tests/test/org/jetbrains/k2js/test/RhinoUtils.java @@ -16,8 +16,8 @@ package org.jetbrains.k2js.test; -import org.mozilla.javascript.NativeObject; -import org.mozilla.javascript.Scriptable; +import sun.org.mozilla.javascript.internal.NativeObject; +import sun.org.mozilla.javascript.internal.Scriptable; import static org.junit.Assert.assertTrue; diff --git a/js/js.tests/test/org/jetbrains/k2js/test/TranslationTest.java b/js/js.tests/test/org/jetbrains/k2js/test/TranslationTest.java index 19e30de2854..35be98031cb 100644 --- a/js/js.tests/test/org/jetbrains/k2js/test/TranslationTest.java +++ b/js/js.tests/test/org/jetbrains/k2js/test/TranslationTest.java @@ -21,8 +21,8 @@ import com.intellij.openapi.util.io.FileUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.jet.lang.psi.JetFile; import org.jetbrains.k2js.facade.K2JSTranslator; -import org.mozilla.javascript.Context; -import org.mozilla.javascript.Scriptable; +import sun.org.mozilla.javascript.internal.Context; +import sun.org.mozilla.javascript.internal.Scriptable; import java.io.File; import java.io.FileInputStream; diff --git a/js/js.translator/lib/js.jar b/js/js.translator/lib/js.jar deleted file mode 100644 index 878b0d9422b..00000000000 Binary files a/js/js.translator/lib/js.jar and /dev/null differ diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/operation/OperatorTable.java b/js/js.translator/src/org/jetbrains/k2js/translate/operation/OperatorTable.java index 15a483c76fb..6ef7b468be3 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/operation/OperatorTable.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/operation/OperatorTable.java @@ -28,13 +28,9 @@ import java.util.Map; /** * @author Pavel Talanov */ - -//TODO: refactor using guava builders public final class OperatorTable { //TODO : not all operators , add and test bit operators - - private static final Map binaryOperatorsMap = ImmutableBiMap.builder() .put(JetTokens.PLUS, JsBinaryOperator.ADD) .put(JetTokens.MINUS, JsBinaryOperator.SUB) diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/reference/CallBuilder.java b/js/js.translator/src/org/jetbrains/k2js/translate/reference/CallBuilder.java index fb8d82ea3a9..1a9d988eb87 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/reference/CallBuilder.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/reference/CallBuilder.java @@ -99,9 +99,8 @@ public final class CallBuilder { return this; } - //TODO: must be private @NotNull - public CallTranslator finish() { + private CallTranslator finish() { if (resolvedCall == null) { assert descriptor != null; resolvedCall = ResolvedCallImpl.create(descriptor); @@ -117,92 +116,6 @@ public final class CallBuilder { public JsExpression translate() { return finish().translate(); } - /* - @NotNull - private CallTranslator buildFromUnary(@NotNull JetUnaryExpression unaryExpression) { - JsExpression receiver = TranslationUtils.translateBaseExpression(context, unaryExpression); - List arguments = Collections.emptyList(); - ResolvedCall resolvedCall = - getResolvedCall(context.bindingContext(), unaryExpression.getOperationReference()); - return new CallTranslator(receiver, null, arguments, resolvedCall, null, CallType.NORMAL, context); - } - - //TODO: method too long - @NotNull - private CallTranslator buildFromBinary(@NotNull JetBinaryExpression binaryExpression, - boolean swapReceiverAndArgument) { - - JsExpression leftExpression = translateLeftExpression(context, binaryExpression); - JsExpression rightExpression = translateRightExpression(context, binaryExpression); - - JsExpression receiver; - List arguments; - if (swapReceiverAndArgument) { - receiver = rightExpression; - arguments = Arrays.asList(leftExpression); - } else { - receiver = leftExpression; - arguments = Arrays.asList(rightExpression); - } - - ResolvedCall resolvedCall = - getResolvedCall(context.bindingContext(), binaryExpression.getOperationReference()); - return new CallTranslator(receiver, null, arguments, resolvedCall, null, CallType.NORMAL, context); - } - - @NotNull - private CallTranslator buildFromCallExpression(@NotNull JetCallExpression callExpression, - @Nullable JsExpression receiver, - @NotNull CallType callType) { - ResolvedCall resolvedCall = getResolvedCallForCallExpression(context.bindingContext(), callExpression); - List arguments = translateArgumentsForCallExpression(callExpression, context); - JsExpression callee = null; - if (resolvedCall.getCandidateDescriptor() instanceof ExpressionAsFunctionDescriptor) { - callee = Translation.translateAsExpression(getCallee(callExpression), context); - } - return new CallTranslator(receiver, callee, arguments, resolvedCall, null, callType, context); - } - - @NotNull - private List translateArgumentsForCallExpression(@NotNull JetCallExpression callExpression, - @NotNull TranslationContext context) { - List result = new ArrayList(); - ResolvedCall resolvedCall = getResolvedCallForCallExpression(context.bindingContext(), callExpression); - Map formalToActualArguments = resolvedCall.getValueArguments(); - for (ValueParameterDescriptor parameterDescriptor : resolvedCall.getResultingDescriptor().getValueParameters()) { - ResolvedValueArgument actualArgument = formalToActualArguments.get(parameterDescriptor); - result.add(translateSingleArgument(actualArgument, parameterDescriptor)); - } - return result; - } - - - //TODO: refactor - @NotNull - private JsExpression translateSingleArgument(@NotNull ResolvedValueArgument actualArgument, - @NotNull ValueParameterDescriptor parameterDescriptor) { - List argumentExpressions = actualArgument.getArgumentExpressions(); - if (actualArgument instanceof VarargValueArgument) { - return translateVarargArgument(argumentExpressions); - } - if (actualArgument instanceof DefaultValueArgument) { - JetExpression defaultArgument = getDefaultArgument(context.bindingContext(), parameterDescriptor); - return Translation.translateAsExpression(defaultArgument, context); - } - assert actualArgument instanceof ExpressionValueArgument; - assert argumentExpressions.size() == 1; - return Translation.translateAsExpression(argumentExpressions.get(0), context); - } - - @NotNull - private JsExpression translateVarargArgument(@NotNull List arguments) { - JsArrayLiteral varargArgument = new JsArrayLiteral(); - for (JetExpression argument : arguments) { - varargArgument.getExpressions().add(Translation.translateAsExpression(argument, context)); - } - return varargArgument; - } - */ } diff --git a/js/js.translator/testFiles/kotlin_lib.js b/js/js.translator/testFiles/kotlin_lib.js index 2d155d5a78c..e04a30593d8 100644 --- a/js/js.translator/testFiles/kotlin_lib.js +++ b/js/js.translator/testFiles/kotlin_lib.js @@ -42,9 +42,6 @@ function keys(object) { - if (Type(object) !== OBJECT_TYPE) { - throw new TypeError(); - } var results = []; for (var property in object) { if (object.hasOwnProperty(property)) {