Skip to content

Commit 3fd0336

Browse files
authored
Use SmartList in places where it is clear that memory may be saved (#32)
1 parent 90c5568 commit 3fd0336

File tree

4 files changed

+9
-10
lines changed

4 files changed

+9
-10
lines changed

third_party/src/main/java/com/jetbrains/lang/dart/analyzer/DartAnalysisServerService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2001,7 +2001,7 @@ public void execution_deleteContext(final @NotNull String contextId) {
20012001
@NotNull List<RuntimeCompletionExpression> expressions) {
20022002
final AnalysisServer server = myServer;
20032003
if (server == null) {
2004-
return new Pair<>(new ArrayList<>(), new ArrayList<>());
2004+
return new Pair<>(new SmartList<>(), new SmartList<>());
20052005
}
20062006

20072007
final String contextFileUri = getFileUri(contextFile);

third_party/src/main/java/com/jetbrains/lang/dart/analyzer/DartServerData.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -290,7 +290,7 @@ VirtualFile getNotLocalVirtualFile(@NotNull String fileUri) {
290290

291291
@NotNull
292292
List<DartError> getErrors(final @NotNull SearchScope scope) {
293-
final List<DartError> errors = new ArrayList<>();
293+
final List<DartError> errors = new SmartList<>();
294294

295295
synchronized (myErrorData) {
296296
for (Map.Entry<DartFileInfo, List<DartError>> entry : myErrorData.entrySet()) {

third_party/src/main/java/com/jetbrains/lang/dart/ide/hierarchy/call/DartCalleeTreeStructure.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import com.intellij.openapi.vfs.VirtualFile;
66
import com.intellij.psi.PsiElement;
77
import com.intellij.psi.PsiFile;
8+
import com.intellij.util.SmartList;
89
import com.jetbrains.lang.dart.analyzer.DartAnalysisServerService;
910
import com.jetbrains.lang.dart.psi.DartComponent;
1011
import com.jetbrains.lang.dart.psi.DartComponentName;
@@ -81,7 +82,7 @@ private static PsiElement getDeclaration(DartNavigationTarget target, PsiElement
8182
return region.getTargets();
8283
}
8384
}
84-
return new ArrayList<>(0);
85+
return new SmartList<>();
8586
}
8687

8788
@Override

third_party/src/main/java/com/jetbrains/lang/dart/ide/refactoring/introduce/DartServerExtractLocalVariableHandler.java

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import com.intellij.refactoring.ui.NameSuggestionsField;
1919
import com.intellij.refactoring.util.CommonRefactoringUtil;
2020
import com.intellij.util.ArrayUtil;
21+
import com.intellij.util.SmartList;
2122
import com.intellij.util.ui.JBUI;
2223
import com.jetbrains.lang.dart.DartBundle;
2324
import com.jetbrains.lang.dart.DartFileType;
@@ -35,7 +36,6 @@
3536

3637
import javax.swing.*;
3738
import java.awt.*;
38-
import java.util.ArrayList;
3939
import java.util.List;
4040

4141
public class DartServerExtractLocalVariableHandler implements RefactoringActionHandler {
@@ -89,9 +89,6 @@ public void perform() {
8989
final int[] offsets = refactoring.getCoveringExpressionOffsets();
9090
final int[] lengths = refactoring.getCoveringExpressionLengths();
9191
expressions = getDartExpressions(offsets, lengths);
92-
if (expressions == null) {
93-
return;
94-
}
9592
}
9693
// select the expression to extract
9794
if (expressions.size() == 1 || ApplicationManager.getApplication().isUnitTestMode()) {
@@ -119,12 +116,13 @@ private void createRefactoring(int offset, int length) {
119116
return PsiTreeUtil.findElementOfClassAtRange(file, offset, offset + length, DartExpression.class);
120117
}
121118

122-
private @Nullable List<DartExpression> getDartExpressions(int[] offsets, int[] lengths) {
123-
final List<DartExpression> expressions = new ArrayList<>();
119+
@NotNull
120+
private List<DartExpression> getDartExpressions(int[] offsets, int[] lengths) {
121+
final List<DartExpression> expressions = new SmartList<>();
124122
for (int i = 0; i < offsets.length; i++) {
125123
final DartExpression expression = findExpressionWithRange(offsets[i], lengths[i]);
126124
if (expression == null) {
127-
return null;
125+
return expressions;
128126
}
129127
expressions.add(expression);
130128
}

0 commit comments

Comments
 (0)