Skip to content

Commit 2ad6ddc

Browse files
authored
Avoid duplicate work in DartSdkUtil.getSdkVersion (#98)
1 parent 8683b69 commit 2ad6ddc

File tree

1 file changed

+10
-20
lines changed

1 file changed

+10
-20
lines changed

third_party/src/main/java/com/jetbrains/lang/dart/sdk/DartSdkUtil.java

Lines changed: 10 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
import javax.swing.event.DocumentEvent;
2828
import javax.swing.text.JTextComponent;
2929
import java.io.File;
30-
import java.io.IOException;
3130
import java.util.ArrayList;
3231
import java.util.HashMap;
3332
import java.util.List;
@@ -40,30 +39,21 @@ public final class DartSdkUtil {
4039

4140
public static @Nullable @NlsSafe String getSdkVersion(final @NotNull String sdkHomePath) {
4241
final File versionFile = new File(sdkHomePath + "/version");
43-
if (versionFile.isFile()) {
44-
final String cachedVersion = ourVersions.get(Pair.create(versionFile, versionFile.lastModified()));
45-
if (cachedVersion != null) return cachedVersion;
42+
if (!versionFile.isFile()) {
43+
return null;
4644
}
4745

48-
final String version = readVersionFile(sdkHomePath);
49-
if (version != null) {
50-
ourVersions.put(Pair.create(versionFile, versionFile.lastModified()), version);
51-
return version;
46+
final Pair<File, Long> versionPair = Pair.create(versionFile, versionFile.lastModified());
47+
final String cachedVersion = ourVersions.get(versionPair);
48+
if (cachedVersion != null) {
49+
return cachedVersion;
5250
}
5351

54-
return null;
55-
}
56-
57-
private static String readVersionFile(final String sdkHomePath) {
58-
final File versionFile = new File(sdkHomePath + "/version");
59-
if (versionFile.isFile() && versionFile.length() < 100) {
60-
try {
61-
return FileUtil.loadFile(versionFile).trim();
62-
}
63-
catch (IOException e) {
64-
/* ignore */
65-
}
52+
final String version = FileUtil.loadFileOrNull(versionFile);
53+
if (version != null) {
54+
return ourVersions.put(versionPair, version);
6655
}
56+
6757
return null;
6858
}
6959

0 commit comments

Comments
 (0)