JS: turn off inline call extraction at translation

This commit is contained in:
Alexey Tsvetkov
2015-03-23 21:21:42 +03:00
parent 24aa19bd49
commit 6ff4785cb0
2 changed files with 2 additions and 26 deletions
@@ -195,19 +195,7 @@ public final class ExpressionVisitor extends TranslatorVisitor<JsNode> {
@NotNull JetCallExpression expression,
@NotNull TranslationContext context
) {
if (shouldBeInlined(expression, context) &&
BindingContextUtilPackage.isUsedAsExpression(expression, context.bindingContext())) {
TemporaryVariable temporaryVariable = context.declareTemporary(null);
JsNode callResult = CallExpressionTranslator.translate(expression, null, context).source(expression);
assert callResult instanceof JsExpression;
JsExpression assignment = JsAstUtils.assignment(temporaryVariable.reference(), (JsExpression) callResult);
context.addStatementToCurrentBlock(assignment.makeStmt());
return temporaryVariable.reference();
} else {
return CallExpressionTranslator.translate(expression, null, context).source(expression);
}
return CallExpressionTranslator.translate(expression, null, context).source(expression);
}
@Override
@@ -73,19 +73,7 @@ public final class QualifiedExpressionTranslator {
return VariableAccessTranslator.newInstance(context, (JetSimpleNameExpression)selector, receiver).translateAsGet();
}
if (selector instanceof JetCallExpression) {
if (shouldBeInlined((JetCallExpression) selector, context) &&
BindingContextUtilPackage.isUsedAsExpression(selector, context.bindingContext())) {
TemporaryVariable temporaryVariable = context.declareTemporary(null);
JsNode result = invokeCallExpressionTranslator(receiver, selector, context);
assert result instanceof JsExpression;
JsExpression assignment = JsAstUtils.assignment(temporaryVariable.reference(), (JsExpression) result);
context.addStatementToCurrentBlock(assignment.makeStmt());
return temporaryVariable.reference();
} else {
return invokeCallExpressionTranslator(receiver, selector, context);
}
return invokeCallExpressionTranslator(receiver, selector, context);
}
//TODO: never get there
if (selector instanceof JetSimpleNameExpression) {