diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/expression/TryTranslator.java b/js/js.translator/src/org/jetbrains/k2js/translate/expression/TryTranslator.java index 39560690b50..31271315769 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/expression/TryTranslator.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/expression/TryTranslator.java @@ -16,11 +16,8 @@ package org.jetbrains.k2js.translate.expression; -import com.google.common.collect.Lists; -import com.google.dart.compiler.backend.js.ast.JsBlock; -import com.google.dart.compiler.backend.js.ast.JsCatch; -import com.google.dart.compiler.backend.js.ast.JsName; -import com.google.dart.compiler.backend.js.ast.JsTry; +import com.google.dart.compiler.backend.js.ast.*; +import com.intellij.util.SmartList; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.jet.lang.psi.*; @@ -70,7 +67,7 @@ public final class TryTranslator extends AbstractTranslator { @NotNull private List translateCatches() { - List result = Lists.newArrayList(); + List result = new SmartList(); for (JetCatchClause catchClause : expression.getCatchClauses()) { result.add(translateCatchClause(catchClause)); } diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/functions/basic/CallStandardMethodIntrinsic.java b/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/functions/basic/CallStandardMethodIntrinsic.java index ff66136a255..17365062675 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/functions/basic/CallStandardMethodIntrinsic.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/functions/basic/CallStandardMethodIntrinsic.java @@ -16,10 +16,10 @@ package org.jetbrains.k2js.translate.intrinsic.functions.basic; -import com.google.common.collect.Lists; import com.google.dart.compiler.backend.js.ast.JsExpression; import com.google.dart.compiler.backend.js.ast.JsInvocation; import com.google.dart.compiler.backend.js.ast.JsNameRef; +import com.intellij.util.SmartList; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.k2js.translate.context.TranslationContext; @@ -60,8 +60,7 @@ public final class CallStandardMethodIntrinsic extends FunctionIntrinsic { @NotNull private static List composeArguments(@Nullable JsExpression receiver, @NotNull List arguments) { if (receiver != null) { - List args = Lists.newArrayList(); - args.add(receiver); + List args = new SmartList(receiver); args.addAll(arguments); return args; } diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/reference/AbstractCallExpressionTranslator.java b/js/js.translator/src/org/jetbrains/k2js/translate/reference/AbstractCallExpressionTranslator.java index 98e7b2b58b3..5d5719f7b84 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/reference/AbstractCallExpressionTranslator.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/reference/AbstractCallExpressionTranslator.java @@ -30,7 +30,6 @@ import org.jetbrains.k2js.translate.context.TranslationContext; import org.jetbrains.k2js.translate.general.AbstractTranslator; import org.jetbrains.k2js.translate.general.Translation; -import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -69,13 +68,13 @@ public abstract class AbstractCallExpressionTranslator extends AbstractTranslato } if (actualArgument instanceof DefaultValueArgument) { JetExpression defaultArgument = getDefaultArgument(bindingContext(), parameterDescriptor); - return Arrays.asList(Translation.translateAsExpression(defaultArgument, context())); + return Collections.singletonList(Translation.translateAsExpression(defaultArgument, context())); } assert actualArgument instanceof ExpressionValueArgument; assert valueArguments.size() == 1; JetExpression argumentExpression = valueArguments.get(0).getArgumentExpression(); assert argumentExpression != null; - return Arrays.asList(Translation.translateAsExpression(argumentExpression, context())); + return Collections.singletonList(Translation.translateAsExpression(argumentExpression, context())); } @NotNull diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/utils/TranslationUtils.java b/js/js.translator/src/org/jetbrains/k2js/translate/utils/TranslationUtils.java index c507cfafd4f..7a31a388f7a 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/utils/TranslationUtils.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/utils/TranslationUtils.java @@ -17,6 +17,7 @@ package org.jetbrains.k2js.translate.utils; import com.google.dart.compiler.backend.js.ast.*; +import com.intellij.util.SmartList; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor; @@ -28,6 +29,7 @@ import org.jetbrains.k2js.translate.context.TranslationContext; import org.jetbrains.k2js.translate.general.Translation; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import static org.jetbrains.k2js.translate.utils.BindingUtils.getFunctionDescriptorForOperationExpression; @@ -76,7 +78,11 @@ public final class TranslationUtils { @NotNull public static List translateArgumentList(@NotNull TranslationContext context, @NotNull List jetArguments) { - List jsArguments = new ArrayList(); + if (jetArguments.isEmpty()) { + return Collections.emptyList(); + } + + List jsArguments = new SmartList(); for (ValueArgument argument : jetArguments) { jsArguments.add(translateArgument(context, argument)); }