Removed js.jar dependency.

This commit is contained in:
pTalanov
2012-03-01 14:47:46 +04:00
parent 61b4c1db55
commit 60732c734d
18 changed files with 32 additions and 122 deletions
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;
}
*/
}
-3
View File
@@ -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)) {