Removed js.jar dependency.
This commit is contained in:
Generated
-2
@@ -1,10 +1,8 @@
|
||||
<component name="libraryTable">
|
||||
<library name="js-libs">
|
||||
<CLASSES>
|
||||
<root url="jar://$PROJECT_DIR$/js/js.translator/lib/js.jar!/" />
|
||||
<root url="jar://$PROJECT_DIR$/js/js.translator/lib/dartc.jar!/" />
|
||||
<root url="jar://$PROJECT_DIR$/js/js.translator/lib/args4j-2.0.12.jar!/" />
|
||||
<root url="jar://$PROJECT_DIR$/js/js.translator/lib/guava-10.0.1.jar!/" />
|
||||
<root url="jar://$PROJECT_DIR$/js/js.translator/lib/json.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
package org.jetbrains.k2js.test;
|
||||
|
||||
import org.mozilla.javascript.JavaScriptException;
|
||||
import sun.org.mozilla.javascript.internal.JavaScriptException;
|
||||
|
||||
/**
|
||||
* @author Pavel Talanov
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
package org.jetbrains.k2js.test;
|
||||
|
||||
import org.mozilla.javascript.JavaScriptException;
|
||||
import sun.org.mozilla.javascript.internal.JavaScriptException;
|
||||
|
||||
/**
|
||||
* @author Pavel Talanov
|
||||
|
||||
@@ -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", "");
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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");
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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<String, Class<? extends Scriptable>> 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
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
Binary file not shown.
@@ -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<JetToken, JsBinaryOperator> binaryOperatorsMap = ImmutableBiMap.<JetToken, JsBinaryOperator>builder()
|
||||
.put(JetTokens.PLUS, JsBinaryOperator.ADD)
|
||||
.put(JetTokens.MINUS, JsBinaryOperator.SUB)
|
||||
|
||||
@@ -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<JsExpression> 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<JsExpression> 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<JsExpression> 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<JsExpression> translateArgumentsForCallExpression(@NotNull JetCallExpression callExpression,
|
||||
@NotNull TranslationContext context) {
|
||||
List<JsExpression> result = new ArrayList<JsExpression>();
|
||||
ResolvedCall<?> resolvedCall = getResolvedCallForCallExpression(context.bindingContext(), callExpression);
|
||||
Map<ValueParameterDescriptor, ResolvedValueArgument> 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<JetExpression> 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<JetExpression> arguments) {
|
||||
JsArrayLiteral varargArgument = new JsArrayLiteral();
|
||||
for (JetExpression argument : arguments) {
|
||||
varargArgument.getExpressions().add(Translation.translateAsExpression(argument, context));
|
||||
}
|
||||
return varargArgument;
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -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)) {
|
||||
|
||||
Reference in New Issue
Block a user