JS: make defensive copy of argument list in JsInvocation and JsNew constructor

This commit is contained in:
Alexey Andreev
2016-12-29 17:28:22 +03:00
parent 51e5b5aac7
commit 0a9c536c01
4 changed files with 15 additions and 11 deletions
@@ -14,8 +14,8 @@ public final class JsInvocation extends JsExpression.JsExpressionHasArguments {
@NotNull
private JsExpression qualifier;
public JsInvocation(@NotNull JsExpression qualifier, @NotNull List<JsExpression> arguments) {
super(arguments);
public JsInvocation(@NotNull JsExpression qualifier, @NotNull List<? extends JsExpression> arguments) {
super(new SmartList<JsExpression>(arguments));
this.qualifier = qualifier;
}
@@ -17,8 +17,8 @@ public final class JsNew extends JsExpression.JsExpressionHasArguments {
this(constructorExpression, new SmartList<JsExpression>());
}
public JsNew(JsExpression constructorExpression, List<JsExpression> arguments) {
super(arguments);
public JsNew(JsExpression constructorExpression, List<? extends JsExpression> arguments) {
super(new SmartList<JsExpression>(arguments));
this.constructorExpression = constructorExpression;
}