Skip to content

Commit 8da3d41

Browse files
authored
Merge pull request #9213 from mbien/use-runtime-version
Use Runtime.version() where applicable and remove unreachable code
2 parents 2602169 + 8287f24 commit 8da3d41

24 files changed

Lines changed: 48 additions & 656 deletions

File tree

extide/gradle/src/org/netbeans/modules/gradle/GradleJavaCompatProblemsProvider.java

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -118,12 +118,7 @@ private int getJavaVersion() {
118118
}
119119

120120
if (javaHome == null) {
121-
String javaVersion = System.getProperty("java.specification.version");
122-
int dot = javaVersion.indexOf('.');
123-
if (dot > 0) {
124-
javaVersion = javaVersion.substring(0, dot);
125-
}
126-
return Integer.parseInt(javaVersion);
121+
return Runtime.version().feature();
127122
} else {
128123
return getJavaMajorVersion(javaHome);
129124
}
@@ -144,15 +139,10 @@ private static int getJavaMajorVersion(File javaHome) {
144139
}
145140
String javaVersion = releasePros.getProperty("JAVA_VERSION"); //NOI18N
146141
// This should look like "17" or "17.0.9"
147-
//TODO: Use Runtime.Version (when we move to Java 11)
148142
if ((javaVersion != null) && javaVersion.startsWith("\"") && javaVersion.endsWith("\"")) {
149-
int dot = javaVersion.indexOf('.');
150-
javaVersion = dot > 0
151-
? javaVersion.substring(1, javaVersion.indexOf('.'))
152-
: javaVersion.substring(1, javaVersion.length() - 1);
153143
try {
154-
ret = Integer.parseInt(javaVersion);
155-
} catch (NumberFormatException ex) {
144+
ret = Runtime.Version.parse(javaVersion.substring(1, javaVersion.length() - 1)).feature();
145+
} catch (IllegalArgumentException ex) {
156146
// Do nothing return empty
157147
}
158148
}

extide/gradle/src/org/netbeans/modules/gradle/execute/DefaultJavaRuntimeManager.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public class DefaultJavaRuntimeManager implements JavaRuntimeManager {
4040
})
4141
public DefaultJavaRuntimeManager() {
4242
File javaHome = new File(System.getProperty("java.home")); //NOI18N
43-
String javaVersion = System.getProperty("java.specification.version"); //NOI18N
43+
int javaVersion = Runtime.version().feature();
4444
JavaRuntime defaultRuntime = JavaRuntimeManager.createJavaRuntime(DEFAULT_RUNTIME_ID, Bundle.DEFAULT_JAVA_RUNTIME_NAME(javaVersion), javaHome);
4545

4646
defaultRuntimes = Collections.singletonMap(DEFAULT_RUNTIME_ID, defaultRuntime);

ide/spi.debugger.ui/src/org/netbeans/modules/debugger/ui/views/debugging/DebugTreeView.java

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -113,13 +113,8 @@ public class DebugTreeView extends BeanTreeView {
113113
tree.setCellRenderer(rend);
114114

115115
setBackground(tree.getBackground());
116-
if (System.getProperty("java.version").startsWith("1.6") &&
117-
"GTK".equals(UIManager.getLookAndFeel().getID())) {
118-
// leave the tree as opaque to paint the whole area
119-
} else {
120-
tree.setOpaque(false);
121-
((JComponent)tree.getParent()).setOpaque(false);
122-
}
116+
tree.setOpaque(false);
117+
((JComponent)tree.getParent()).setOpaque(false);
123118
((JComponent)tree.getParent()).setBackground(tree.getBackground());
124119
setWheelScrollingEnabled(false);
125120
}

java/debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/models/BigStringCustomEditor.java

Lines changed: 1 addition & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@
3939
import org.netbeans.modules.debugger.jpda.models.ShortenedStrings.StringInfo;
4040
import org.openide.DialogDisplayer;
4141
import org.openide.NotifyDescriptor;
42-
import org.openide.awt.Actions;
4342
import org.openide.awt.Mnemonics;
4443
import org.openide.filesystems.FileChooserBuilder;
4544
import org.openide.util.NbBundle;
@@ -51,37 +50,10 @@
5150
*/
5251
class BigStringCustomEditor extends JPanel implements ActionListener {
5352

54-
static final int MAX_STRING_LENGTH;
53+
static final int MAX_STRING_LENGTH = AbstractObjectVariable.MAX_STRING_LENGTH;
5554

5655
private final StringInfo shortenedInfo;
5756
private final String fullString;
58-
59-
static {
60-
int maxStringLength = AbstractObjectVariable.MAX_STRING_LENGTH;
61-
String javaV = System.getProperty("java.version");
62-
if (javaV.startsWith("1.8.0")) {
63-
String update = "";
64-
for (int i = "1.8.0_".length(); i < javaV.length(); i++) {
65-
char c = javaV.charAt(i);
66-
if (Character.isDigit(c)) {
67-
update += c;
68-
} else {
69-
break;
70-
}
71-
}
72-
int updateNo = 0;
73-
if (!update.isEmpty()) {
74-
try {
75-
updateNo = Integer.parseInt(update);
76-
} catch (NumberFormatException nfex) {}
77-
}
78-
if (updateNo < 60) {
79-
// Memory problem on JDK 8, fixed in update 60 (https://bugs.openjdk.java.net/browse/JDK-8072775):
80-
maxStringLength = 1000;
81-
}
82-
}
83-
MAX_STRING_LENGTH = maxStringLength;
84-
}
8557

8658
private BigStringCustomEditor(Component delegateCustomEditor, StringInfo shortenedInfo, int preferredShortLength) {
8759
this.shortenedInfo = shortenedInfo;

java/debugger.jpda/src/org/netbeans/modules/debugger/jpda/expr/EvaluatorVisitor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -445,7 +445,7 @@ public Mirror visitMethodInvocation(MethodInvocationTree arg0, EvaluationContext
445445
} else if (type instanceof ClassType) {
446446
cType = (ClassType) type;
447447
} else {
448-
if (JPDAUtils.IS_JDK_180_40 && (type instanceof InterfaceType) && isStatic) {
448+
if ((type instanceof InterfaceType) && isStatic) {
449449
cType = null;
450450
iType = (InterfaceType) type;
451451
} else {

java/debugger.jpda/src/org/netbeans/modules/debugger/jpda/util/JPDAUtils.java

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -43,25 +43,12 @@
4343
* @author Jan Jancura
4444
*/
4545
public class JPDAUtils {
46-
private static final String JAVA_VERSION = System.getProperty("java.version");
4746
/**
4847
* <code>true</code> when the current JDK version is 1.8.0 update 40, or newer.
48+
* @deprecated Returns true.
4949
*/
50-
public static final boolean IS_JDK_180_40 = !JAVA_VERSION.startsWith("1.8.0") || // we know that it's 1.8.0 at least
51-
getVersionUpdate(JAVA_VERSION) >= 40;
52-
53-
54-
private static int getVersionUpdate(String javaVersion) {
55-
if (javaVersion.length() < 7) {
56-
return 0;
57-
}
58-
String update = javaVersion.substring(6);
59-
try {
60-
return Integer.parseInt(update);
61-
} catch (NumberFormatException nfex) {
62-
return 0;
63-
}
64-
}
50+
@Deprecated(forRemoval = true)
51+
public static final boolean IS_JDK_180_40 = true;
6552

6653
public static final ReferenceType getPreferredReferenceType(List<ReferenceType> referenceTypes, Logger logger) throws VMDisconnectedExceptionWrapper {
6754
ReferenceType preferredType; // The preferred reference type from the list

java/java.file.launcher/src/org/netbeans/modules/java/file/launcher/SingleSourceFileUtil.java

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -54,12 +54,7 @@ public final class SingleSourceFileUtil {
5454
// TODO this checks the runtime JDK of NB!
5555
public static int findJavaVersion() throws NumberFormatException {
5656
// JEP-330 is supported only on JDK-11 and above.
57-
String javaVersion = System.getProperty("java.specification.version"); //NOI18N
58-
if (javaVersion.startsWith("1.")) { //NOI18N
59-
javaVersion = javaVersion.substring(2);
60-
}
61-
int version = Integer.parseInt(javaVersion);
62-
return version;
57+
return Runtime.version().feature();
6358
}
6459

6560
public static final String GLOBAL_VM_OPTIONS = "java_file_launcher_global_vm_options"; //NOI18N

java/java.hints/src/org/netbeans/modules/java/hints/errors/EnablePreviewSingleSourceFile.java

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ public class EnablePreviewSingleSourceFile implements PreviewEnabler {
4949

5050
private static final String FILE_VM_OPTIONS = "single_file_vm_options"; //NOI18N
5151

52-
private FileObject file;
52+
private final FileObject file;
5353

5454
private EnablePreviewSingleSourceFile(@NonNull FileObject file) {
5555
Parameters.notNull("file", file); //NOI18N
@@ -68,7 +68,7 @@ public void enablePreview(String newSourceLevel) throws Exception {
6868
Matcher m = SOURCE_FLAG_PATTERN.matcher(compilerArgs);
6969

7070
if (newSourceLevel == null) {
71-
newSourceLevel = getJdkRunVersion();
71+
newSourceLevel = Integer.toString(Runtime.version().feature());
7272
}
7373

7474
if (compilerArgs.contains(SOURCE_FLAG)) {
@@ -138,15 +138,6 @@ public Void run() throws IOException {
138138
}
139139
}
140140

141-
private static String getJdkRunVersion() {
142-
String javaVersion = System.getProperty("java.specification.version"); //NOI18N
143-
if (javaVersion.startsWith("1.")) { //NOI18N
144-
javaVersion = javaVersion.substring(2);
145-
}
146-
147-
return javaVersion;
148-
}
149-
150141
@ServiceProvider(service=Factory.class)
151142
public static final class FactoryImpl implements Factory {
152143

java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/singlesourcefile/EnablePreviewSingleSourceFile.java

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,6 @@
1919
package org.netbeans.modules.java.lsp.server.singlesourcefile;
2020

2121
import com.google.gson.JsonPrimitive;
22-
import java.util.Collections;
23-
import java.util.List;
2422
import java.util.regex.Matcher;
2523
import java.util.regex.Pattern;
2624
import org.netbeans.api.annotations.common.NonNull;
@@ -85,12 +83,7 @@ public void enablePreview(String newSourceLevel) throws Exception {
8583
}
8684

8785
private static String getJdkRunVersion() {
88-
String javaVersion = System.getProperty("java.specification.version"); //NOI18N
89-
if (javaVersion.startsWith("1.")) { //NOI18N
90-
javaVersion = javaVersion.substring(2);
91-
}
92-
93-
return javaVersion;
86+
return Integer.toString(Runtime.version().feature());
9487
}
9588

9689
@ServiceProvider(service=Factory.class, position=10_000_000)

java/java.source.base/nbproject/project.xml

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -77,14 +77,6 @@
7777
<implementation-version/>
7878
</run-dependency>
7979
</dependency>
80-
<dependency>
81-
<code-name-base>org.netbeans.libs.asm</code-name-base>
82-
<build-prerequisite/>
83-
<compile-dependency/>
84-
<run-dependency>
85-
<specification-version>5.4</specification-version>
86-
</run-dependency>
87-
</dependency>
8880
<dependency>
8981
<code-name-base>org.netbeans.libs.javacapi</code-name-base>
9082
<build-prerequisite/>

0 commit comments

Comments
 (0)