JS backend: Use new CallTranslator for ArrayAccessTranslator
This commit is contained in:
+8
-13
@@ -49,13 +49,12 @@ public class ArrayAccessTranslator extends AbstractTranslator implements AccessT
|
|||||||
@NotNull
|
@NotNull
|
||||||
@Override
|
@Override
|
||||||
public JsExpression translateAsGet() {
|
public JsExpression translateAsGet() {
|
||||||
return translateAsGet(translateArrayExpression(), translateIndexExpressions());
|
return translateAsGet(translateArrayExpression());
|
||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
protected JsExpression translateAsGet(@NotNull JsExpression arrayExpression,
|
protected JsExpression translateAsGet(@NotNull JsExpression arrayExpression) {
|
||||||
@NotNull List<JsExpression> indexExpression) {
|
return translateAsMethodCall(arrayExpression, /*isGetter = */ true);
|
||||||
return translateAsMethodCall(arrayExpression, indexExpression, /*isGetter = */ true);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
@@ -68,18 +67,14 @@ public class ArrayAccessTranslator extends AbstractTranslator implements AccessT
|
|||||||
protected JsExpression translateAsSet(@NotNull JsExpression arrayExpression, @NotNull List<JsExpression> indexExpressions, @NotNull JsExpression toSetTo) {
|
protected JsExpression translateAsSet(@NotNull JsExpression arrayExpression, @NotNull List<JsExpression> indexExpressions, @NotNull JsExpression toSetTo) {
|
||||||
List<JsExpression> arguments = Lists.newArrayList(indexExpressions);
|
List<JsExpression> arguments = Lists.newArrayList(indexExpressions);
|
||||||
arguments.add(toSetTo);
|
arguments.add(toSetTo);
|
||||||
return translateAsMethodCall(arrayExpression, arguments, /*isGetter = */ false);
|
return translateAsMethodCall(arrayExpression, /*isGetter = */ false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
private JsExpression translateAsMethodCall(@NotNull JsExpression arrayExpression,
|
private JsExpression translateAsMethodCall(@NotNull JsExpression arrayExpression, boolean isGetter) {
|
||||||
@NotNull List<JsExpression> arguments,
|
return ReferencePackage.buildCall(context(),
|
||||||
boolean isGetter) {
|
BindingUtils.getResolvedCallForArrayAccess(bindingContext(), expression, isGetter),
|
||||||
return CallBuilder.build(context())
|
arrayExpression);
|
||||||
.receiver(arrayExpression)
|
|
||||||
.args(arguments)
|
|
||||||
.resolvedCall(BindingUtils.getResolvedCallForArrayAccess(bindingContext(), expression, isGetter))
|
|
||||||
.translate();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
|
|||||||
+1
-1
@@ -45,7 +45,7 @@ public final class CachedArrayAccessTranslator extends ArrayAccessTranslator imp
|
|||||||
@NotNull
|
@NotNull
|
||||||
@Override
|
@Override
|
||||||
public JsExpression translateAsGet() {
|
public JsExpression translateAsGet() {
|
||||||
return translateAsGet(arrayExpression.reference(), toExpressionList(indexExpressions));
|
return translateAsGet(arrayExpression.reference());
|
||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
|
|||||||
Reference in New Issue
Block a user