New Upstream Snapshot - eclipse-jdt-debug
Ready changes
Summary
Merged new upstream version: 20110909+git20230120.1.1860795+ds (was: 4.26).
Resulting package
Built on 2023-01-22T02:10 (took 7m55s)
The resulting binary packages can be installed (if you have the apt repository enabled) by running one of:
apt install -t fresh-snapshots libeclipse-jdt-debug-javaapt install -t fresh-snapshots libeclipse-jdt-debug-ui-javaapt install -t fresh-snapshots libeclipse-jdt-launching-java
Diff
diff --git a/.github/workflows/rebase.yml b/.github/workflows/rebase.yml
deleted file mode 100644
index f817d6f..0000000
--- a/.github/workflows/rebase.yml
+++ /dev/null
@@ -1,19 +0,0 @@
-name: Automatic Rebase
-on:
- issue_comment:
- types: [created]
-jobs:
- rebase:
- name: Rebase
- if: github.event.issue.pull_request != '' && contains(github.event.comment.body, '/rebase')
- runs-on: ubuntu-latest
- steps:
- - name: Checkout the latest code
- uses: actions/checkout@v3
- with:
- token: ${{ secrets.GITHUB_TOKEN }}
- fetch-depth: 0 # otherwise, you will fail to push refs to dest repo
- - name: Automatic Rebase
- uses: cirrus-actions/rebase@1.7
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
diff --git a/.github/workflows/verifyFreezePeriod.yml b/.github/workflows/verifyFreezePeriod.yml
deleted file mode 100644
index fed6cc5..0000000
--- a/.github/workflows/verifyFreezePeriod.yml
+++ /dev/null
@@ -1,12 +0,0 @@
-# This workflow calls the Code-Freeze-Period check
-
-name: Check Code Freeze Period
-
-on:
- pull_request:
- branches:
- - 'master'
-
-jobs:
- check-freeze-period:
- uses: eclipse-platform/eclipse.platform.releng.aggregator/.github/workflows/verifyFreezePeriod.yml@master
diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index 6e021b7..0000000
--- a/.gitignore
+++ /dev/null
@@ -1,13 +0,0 @@
-/*/bin/
-/.project
-*~
-*.rej
-*.bak
-javacore.*
-heapdump.*
-core.*
-Snap.*
-
-# maven
-/*/target/
-/target/
diff --git a/Jenkinsfile b/Jenkinsfile
index a9b7040..c7c0222 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -19,7 +19,7 @@ pipeline {
sh """
mvn clean verify --batch-mode --fail-at-end -Dmaven.repo.local=$WORKSPACE/.m2/repository \
-Pbuild-individual-bundles -Ptest-on-javase-19 -Pbree-libs -Papi-check\
- -Dcompare-version-with-baselines.skip=true \
+ -Dcompare-version-with-baselines.skip=false \
-Dproject.build.sourceEncoding=UTF-8 \
-DtrimStackTrace=false
"""
@@ -28,7 +28,6 @@ pipeline {
post {
always {
archiveArtifacts artifacts: '*.log,*/target/work/data/.metadata/*.log,*/tests/target/work/data/.metadata/*.log,apiAnalyzer-workspace/.metadata/*.log', allowEmptyArchive: true
- recordIssues aggregatingResults: true, enabledForFailure: true, qualityGates: [[threshold: 1, type: 'DELTA', unstable: false]], tools: [acuCobol()]
publishIssues issues:[scanForIssues(tool: java()), scanForIssues(tool: mavenConsole())]
junit '**/target/surefire-reports/*.xml'
}
diff --git a/debian/changelog b/debian/changelog
index be977ee..49af4e1 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+eclipse-jdt-debug (20110909+git20230120.1.1860795+ds-1) UNRELEASED; urgency=low
+
+ * New upstream snapshot.
+
+ -- Debian Janitor <janitor@jelmer.uk> Sun, 22 Jan 2023 02:05:57 -0000
+
eclipse-jdt-debug (4.26-1) unstable; urgency=medium
* New upstream release
diff --git a/debian/patches/01-default-source-directory.patch b/debian/patches/01-default-source-directory.patch
index dc1987e..f339956 100644
--- a/debian/patches/01-default-source-directory.patch
+++ b/debian/patches/01-default-source-directory.patch
@@ -1,9 +1,11 @@
Description: Tweaks build.properties to work with eclipse-debian-helper
Author: Emmanuel Bourg <ebourg@apache.org>
Forwarded: not-needed
---- a/org.eclipse.jdt.debug/build.properties
-+++ b/org.eclipse.jdt.debug/build.properties
-@@ -18,6 +18,7 @@
+Index: eclipse-jdt-debug.git/org.eclipse.jdt.debug/build.properties
+===================================================================
+--- eclipse-jdt-debug.git.orig/org.eclipse.jdt.debug/build.properties
++++ eclipse-jdt-debug.git/org.eclipse.jdt.debug/build.properties
+@@ -18,6 +18,7 @@ bin.includes = plugin.xml,\
META-INF/,\
.options
diff --git a/org.eclipse.jdt.debug.jdi.tests/pom.xml b/org.eclipse.jdt.debug.jdi.tests/pom.xml
index fc2da72..e7a3617 100644
--- a/org.eclipse.jdt.debug.jdi.tests/pom.xml
+++ b/org.eclipse.jdt.debug.jdi.tests/pom.xml
@@ -14,7 +14,7 @@
<parent>
<artifactId>eclipse.jdt.debug</artifactId>
<groupId>eclipse.jdt.debug</groupId>
- <version>4.26.0-SNAPSHOT</version>
+ <version>4.27.0-SNAPSHOT</version>
</parent>
<groupId>org.eclipse.jdt</groupId>
<artifactId>org.eclipse.jdt.debug.jdi.tests</artifactId>
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/AbstractJDITest.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/AbstractJDITest.java
index ac8b0bf..4b10a75 100644
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/AbstractJDITest.java
+++ b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/AbstractJDITest.java
@@ -72,6 +72,7 @@ import junit.framework.TestCase;
* -launcher SunVMLauncher -address c:\jdk1.2.2\ -cp d:\target
* -launcher J9VMLauncher -address d:\ive\ -cp d:\target
*/
+@SuppressWarnings("restriction")
public abstract class AbstractJDITest extends TestCase {
static int TIMEOUT = 10000; //ms
static protected int fBackEndPort = 9900;
@@ -159,6 +160,7 @@ public abstract class AbstractJDITest extends TestCase {
* @return <code>true</code> if a 1.6 or higher VM
* @since 3.8
*/
+ @SuppressWarnings("restriction")
protected boolean is16OrGreater() {
return ((VirtualMachineImpl) fVM).isJdwpVersionGreaterOrEqual(1, 6);
}
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/MethodReturnValuesTests.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/MethodReturnValuesTests.java
index 9d871b1..8d6a69e 100644
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/MethodReturnValuesTests.java
+++ b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/MethodReturnValuesTests.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2004, 2012 IBM Corporation and others.
+ * Copyright (c) 2004, 2022 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -30,6 +30,7 @@ import com.sun.jdi.request.MethodExitRequest;
*
* @since 3.3
*/
+@SuppressWarnings("restriction")
public class MethodReturnValuesTests extends AbstractJDITest {
MethodExitRequest req = null;
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/VirtualThreadTest.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/VirtualThreadTest.java
index 255f2b4..7f41373 100644
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/VirtualThreadTest.java
+++ b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/VirtualThreadTest.java
@@ -36,6 +36,7 @@ import com.sun.jdi.event.ThreadStartEvent;
import com.sun.jdi.request.ThreadDeathRequest;
import com.sun.jdi.request.ThreadStartRequest;
+@SuppressWarnings("restriction")
public class VirtualThreadTest extends AbstractJDITest {
private static final String defaultJavaCompilerName = "com.sun.tools.javac.api.JavacTool";
private static JavaCompiler compiler;
diff --git a/org.eclipse.jdt.debug.tests/META-INF/MANIFEST.MF b/org.eclipse.jdt.debug.tests/META-INF/MANIFEST.MF
index c62de13..738afd5 100644
--- a/org.eclipse.jdt.debug.tests/META-INF/MANIFEST.MF
+++ b/org.eclipse.jdt.debug.tests/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.jdt.debug.tests; singleton:=true
-Bundle-Version: 3.11.1850.qualifier
+Bundle-Version: 3.11.1900.qualifier
Bundle-ClassPath: javadebugtests.jar
Bundle-Activator: org.eclipse.jdt.debug.testplugin.JavaTestPlugin
Bundle-Vendor: %providerName
diff --git a/org.eclipse.jdt.debug.tests/pom.xml b/org.eclipse.jdt.debug.tests/pom.xml
index d5cb50f..d5e88bc 100644
--- a/org.eclipse.jdt.debug.tests/pom.xml
+++ b/org.eclipse.jdt.debug.tests/pom.xml
@@ -14,11 +14,11 @@
<parent>
<artifactId>eclipse.jdt.debug</artifactId>
<groupId>eclipse.jdt.debug</groupId>
- <version>4.26.0-SNAPSHOT</version>
+ <version>4.27.0-SNAPSHOT</version>
</parent>
<groupId>org.eclipse.jdt</groupId>
<artifactId>org.eclipse.jdt.debug.tests</artifactId>
- <version>3.11.1850-SNAPSHOT</version>
+ <version>3.11.1900-SNAPSHOT</version>
<packaging>eclipse-test-plugin</packaging>
<properties>
<code.ignoredWarnings>${tests.ignoredWarnings}</code.ignoredWarnings>
diff --git a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/AutomatedSuite.java b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/AutomatedSuite.java
index 999508a..2e30962 100644
--- a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/AutomatedSuite.java
+++ b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/AutomatedSuite.java
@@ -153,6 +153,7 @@ import org.eclipse.jdt.debug.tests.variables.TestIntegerAccessUnboxing15;
import org.eclipse.jdt.debug.tests.variables.TestLogicalStructures;
import org.eclipse.jdt.debug.tests.variables.TestLogicalStructuresJava9;
+import junit.framework.JUnit4TestAdapter;
import junit.framework.Test;
import junit.framework.TestSuite;
@@ -332,7 +333,7 @@ public class AutomatedSuite extends DebugSuite {
addTest(new TestSuite(ModelPresentationTests.class));
// Open from Clipboard action tests - Need to use #suite() because the test has a custom setup
- addTest(OpenFromClipboardTests.suite());
+ addTest(new JUnit4TestAdapter(OpenFromClipboardTests.class));
//add the complete eval suite
addTest(new TestSuite(GeneralEvalTests.class));
diff --git a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/ui/OpenFromClipboardTests.java b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/ui/OpenFromClipboardTests.java
index 3f3cec2..04e6295 100644
--- a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/ui/OpenFromClipboardTests.java
+++ b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/ui/OpenFromClipboardTests.java
@@ -13,6 +13,8 @@
*******************************************************************************/
package org.eclipse.jdt.debug.tests.ui;
+import static org.junit.Assert.assertEquals;
+
import java.util.ArrayList;
import java.util.List;
@@ -38,18 +40,19 @@ import org.eclipse.jdt.internal.debug.ui.actions.OpenFromClipboardAction;
import org.eclipse.jdt.launching.IVMInstall;
import org.eclipse.jdt.launching.JavaRuntime;
import org.eclipse.swt.widgets.Display;
+import org.junit.After;
+import org.junit.AfterClass;
import org.junit.Assert;
-
-import junit.extensions.TestSetup;
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.TestName;
/**
* Tests the Open from Clipboard action.
*/
-public class OpenFromClipboardTests extends TestCase {
+public class OpenFromClipboardTests {
/*
* Copy of constants from OpenFromClipboardAction
@@ -78,72 +81,56 @@ public class OpenFromClipboardTests extends TestCase {
private Accessor fAccessor = new Accessor(OpenFromClipboardAction.class);
- private static class MyTestSetup extends TestSetup {
-
- public static IJavaProject fJProject;
-
- public MyTestSetup(Test test) {
- super(test);
- }
-
- @Override
- protected void setUp() throws Exception {
- super.setUp();
- JavaTestPlugin.enableAutobuild(false);
- fJProject = createProject("OpenFromClipboardTests");
- waitForEncodingRelatedJobs();
- }
+ public static IJavaProject fJProject;
- @Override
- protected void tearDown() throws Exception {
- fJProject.getProject().delete(true, true, null);
- JavaTestPlugin.enableAutobuild(true);
- super.tearDown();
- }
+ @Rule
+ public TestName name = new TestName();
- protected void waitForEncodingRelatedJobs() {
- TestUtil.waitForJobs("OpenFromClipboardTests", 10, 5_000, ValidateProjectEncoding.class);
- TestUtil.waitForJobs("OpenFromClipboardTests", 10, 5_000, CharsetDeltaJob.FAMILY_CHARSET_DELTA);
- }
+ @BeforeClass
+ public static void setUpClass() throws CoreException {
+ JavaTestPlugin.enableAutobuild(false);
+ fJProject = createProject("OpenFromClipboardTests");
+ waitForEncodingRelatedJobs();
+ }
- private static IJavaProject createProject(String name) throws CoreException {
- // delete any pre-existing project
- IProject pro = ResourcesPlugin.getWorkspace().getRoot().getProject(name);
- if (pro.exists()) {
- pro.delete(true, true, null);
- }
+ @AfterClass
+ public static void tearDownClass() throws CoreException {
+ fJProject.getProject().delete(true, true, null);
+ JavaTestPlugin.enableAutobuild(true);
+ }
- // create project
- IJavaProject javaProject = JavaProjectHelper.createJavaProject(name, "bin");
+ private static void waitForEncodingRelatedJobs() {
+ TestUtil.waitForJobs("OpenFromClipboardTests", 10, 5_000, ValidateProjectEncoding.class);
+ TestUtil.waitForJobs("OpenFromClipboardTests", 10, 5_000, CharsetDeltaJob.FAMILY_CHARSET_DELTA);
+ }
- // add rt.jar
- IVMInstall vm = JavaRuntime.getDefaultVMInstall();
- Assert.assertNotNull("No default JRE", vm);
- JavaProjectHelper.addContainerEntry(javaProject, new Path(JavaRuntime.JRE_CONTAINER));
- return javaProject;
+ private static IJavaProject createProject(String name) throws CoreException {
+ // delete any pre-existing project
+ IProject pro = ResourcesPlugin.getWorkspace().getRoot().getProject(name);
+ if (pro.exists()) {
+ pro.delete(true, true, null);
}
- }
- public static Test suite() {
- return new MyTestSetup(new TestSuite(OpenFromClipboardTests.class));
- }
+ // create project
+ IJavaProject javaProject = JavaProjectHelper.createJavaProject(name, "bin");
- public static Test setUpTest(Test someTest) {
- return new MyTestSetup(someTest);
+ // add rt.jar
+ IVMInstall vm = JavaRuntime.getDefaultVMInstall();
+ Assert.assertNotNull("No default JRE", vm);
+ JavaProjectHelper.addContainerEntry(javaProject, new Path(JavaRuntime.JRE_CONTAINER));
+ return javaProject;
}
- @Override
- protected void setUp() throws Exception {
- TestUtil.log(IStatus.INFO, getName(), "setUp");
- super.setUp();
- fSourceFolder = JavaProjectHelper.addSourceContainer(MyTestSetup.fJProject, "src");
+ @Before
+ public void setUp() throws Exception {
+ TestUtil.log(IStatus.INFO, name.getMethodName(), "setUp");
+ fSourceFolder = JavaProjectHelper.addSourceContainer(fJProject, "src");
}
- @Override
- protected void tearDown() throws Exception {
- TestUtil.log(IStatus.INFO, getName(), "tearDown");
- JavaProjectHelper.removeSourceContainer(MyTestSetup.fJProject, "src");
- super.tearDown();
+ @After
+ public void tearDown() throws Exception {
+ TestUtil.log(IStatus.INFO, name.getMethodName(), "tearDown");
+ JavaProjectHelper.removeSourceContainer(fJProject, "src");
}
private int getMatachingPattern(String s) {
@@ -177,6 +164,7 @@ public class OpenFromClipboardTests extends TestCase {
}
+ @Test
public void testClassFileLine_1() throws Exception {
String s = "OpenFromClipboardTests.java:100";
assertEquals(JAVA_FILE_LINE, getMatachingPattern(s));
@@ -186,6 +174,7 @@ public class OpenFromClipboardTests extends TestCase {
assertEquals(1, matches.size());
}
+ @Test
public void testClassFileLine_2() throws Exception {
String s = "OpenFromClipboardTests.java : 100";
assertEquals(JAVA_FILE_LINE, getMatachingPattern(s));
@@ -195,6 +184,7 @@ public class OpenFromClipboardTests extends TestCase {
assertEquals(1, matches.size());
}
+ @Test
public void testClassFileLine_3() throws Exception {
String s = "OpenFromClipboard$Tests.java:100";
assertEquals(JAVA_FILE_LINE, getMatachingPattern(s));
@@ -204,6 +194,7 @@ public class OpenFromClipboardTests extends TestCase {
assertEquals(1, matches.size());
}
+ @Test
public void testDBCS() throws Exception {
String typeName= "\u65b0\u898f\u30af\u30e9\u30b9";
String s= typeName + ".java:100";
@@ -216,6 +207,7 @@ public class OpenFromClipboardTests extends TestCase {
assertEquals(1, matches.size());
}
+ @Test
public void testUmlaut() throws Exception {
String typeName= "\u0042\u006c\u00f6\u0064";
String s= typeName + ".java:100";
@@ -228,6 +220,7 @@ public class OpenFromClipboardTests extends TestCase {
assertEquals(1, matches.size());
}
+ @Test
public void testClassFile_1() throws Exception {
String s = "OpenFromClipboardTests.java";
assertEquals(JAVA_FILE, getMatachingPattern(s));
@@ -237,6 +230,7 @@ public class OpenFromClipboardTests extends TestCase {
assertEquals(1, matches.size());
}
+ @Test
public void testTypeLine_1() throws Exception {
String s = "OpenFromClipboardTests:100";
assertEquals(TYPE_LINE, getMatachingPattern(s));
@@ -246,6 +240,7 @@ public class OpenFromClipboardTests extends TestCase {
assertEquals(1, matches.size());
}
+ @Test
public void testTypeLine_2() throws Exception {
String s = "OpenFromClipboardTests : 100";
assertEquals(TYPE_LINE, getMatachingPattern(s));
@@ -256,6 +251,7 @@ public class OpenFromClipboardTests extends TestCase {
}
// stack trace element tests
+ @Test
public void testStackTraceLine_1() throws Exception {
String s = "(OpenFromClipboardTests.java:121)";
assertEquals(STACK_TRACE_LINE, getMatachingPattern(s));
@@ -265,6 +261,7 @@ public class OpenFromClipboardTests extends TestCase {
assertEquals(1, matches.size());
}
+ @Test
public void testStackTraceLine_2() throws Exception {
String s = "( OpenFromClipboardTests.java : 121 )";
assertEquals(STACK_TRACE_LINE, getMatachingPattern(s));
@@ -274,6 +271,7 @@ public class OpenFromClipboardTests extends TestCase {
assertEquals(1, matches.size());
}
+ @Test
public void testStackTraceLine_3() throws Exception {
String s = "at p.OpenFromClipboardTests.getMatchingPattern(OpenFromClipboardTests.java:121)";
assertEquals(STACK_TRACE_LINE, getMatachingPattern(s));
@@ -283,6 +281,7 @@ public class OpenFromClipboardTests extends TestCase {
assertEquals(1, matches.size());
}
+ @Test
public void testStackTraceLine_4() throws Exception {
String s = "OpenFromClipboardTests.getMatchingPattern(OpenFromClipboardTests.java:121)";
assertEquals(STACK_TRACE_LINE, getMatachingPattern(s));
@@ -292,6 +291,7 @@ public class OpenFromClipboardTests extends TestCase {
assertEquals(1, matches.size());
}
+ @Test
public void testStackTraceLine_5() throws Exception {
String s = "OpenFromClipboardTests.getMatchingPattern ( OpenFromClipboardTests.java : 121 )";
assertEquals(STACK_TRACE_LINE, getMatachingPattern(s));
@@ -301,6 +301,7 @@ public class OpenFromClipboardTests extends TestCase {
assertEquals(1, matches.size());
}
+ @Test
public void testStackTraceLine_6() throws Exception {
String s = "at p.OpenFromClipboard$Tests.getMatching$Pattern(OpenFromClipboardTests.java:121)";
setupTypeTest("OpenFromClipboardTests");
@@ -310,6 +311,7 @@ public class OpenFromClipboardTests extends TestCase {
assertEquals(1, matches.size());
}
+ @Test
public void testStackTraceLine_7() throws Exception {
// https://bugs.eclipse.org/bugs/show_bug.cgi?id=349933#c2
String s = "getMatchingPattern ( OpenFromClipboardTests.java : 121 )";
@@ -336,6 +338,7 @@ public class OpenFromClipboardTests extends TestCase {
pack.createCompilationUnit("OpenFromClipboardTests.java", buf.toString(), false, null);
}
+ @Test
public void testMethod_1() throws Exception {
String s = "invokeOpenFromClipboardCommand()";
assertEquals(METHOD, getMatachingPattern(s));
@@ -345,6 +348,7 @@ public class OpenFromClipboardTests extends TestCase {
assertEquals(1, matches.size());
}
+ @Test
public void testMethod_2() throws Exception {
String s = "invokeOpenFromClipboardCommand(String, int[], int)";
assertEquals(METHOD, getMatachingPattern(s));
@@ -354,6 +358,7 @@ public class OpenFromClipboardTests extends TestCase {
assertEquals(1, matches.size());
}
+ @Test
public void testMethod_3() throws Exception {
String s = "OpenFromClipboardTests.invokeOpenFromClipboardCommand()";
assertEquals(METHOD, getMatachingPattern(s));
@@ -363,6 +368,7 @@ public class OpenFromClipboardTests extends TestCase {
assertEquals(1, matches.size());
}
+ @Test
public void testMethod_4() throws Exception {
String s = "OpenFromClipboardTests.invokeOpenFromClipboardCommand(String, int[], int)";
assertEquals(METHOD, getMatachingPattern(s));
@@ -372,6 +378,7 @@ public class OpenFromClipboardTests extends TestCase {
assertEquals(1, matches.size());
}
+ @Test
public void testMethod_5() throws Exception {
String s = "p.OpenFromClipboardTests.invokeOpenFromClipboardCommand()";
assertEquals(METHOD, getMatachingPattern(s));
@@ -381,6 +388,7 @@ public class OpenFromClipboardTests extends TestCase {
assertEquals(1, matches.size());
}
+ @Test
public void testMethod_6() throws Exception {
String s = "p.OpenFromClipboardTests.invokeOpenFromClipboardCommand(String)";
assertEquals(METHOD, getMatachingPattern(s));
@@ -390,6 +398,7 @@ public class OpenFromClipboardTests extends TestCase {
assertEquals(1, matches.size());
}
+ @Test
public void testMethod_7() throws Exception {
String s = "p.OpenFromClipboardTests.invokeOpenFromClipboardCommand(String, int[], int)";
assertEquals(METHOD, getMatachingPattern(s));
@@ -399,6 +408,7 @@ public class OpenFromClipboardTests extends TestCase {
assertEquals(1, matches.size());
}
+ @Test
public void testMethod_8() throws Exception {
String s = "java.util.List.containsAll(Collection<?>)";
assertEquals(METHOD, getMatachingPattern(s));
@@ -425,6 +435,7 @@ public class OpenFromClipboardTests extends TestCase {
pack.createCompilationUnit("OpenFromClipboard$Tests.java", buf.toString(), false, null);
}
+ @Test
public void testMethod_9() throws Exception {
String s = "OpenFromClipboard$Tests.invokeOpenFromClipboardCommand()";
assertEquals(METHOD, getMatachingPattern(s));
@@ -434,6 +445,7 @@ public class OpenFromClipboardTests extends TestCase {
// performTest(s,1);
}
+ @Test
public void testMethod_10() throws Exception {
String s = "OpenFromClipboard$Tests.invokeOpenFromClipboardCommand(String)";
assertEquals(METHOD, getMatachingPattern(s));
@@ -443,6 +455,7 @@ public class OpenFromClipboardTests extends TestCase {
assertEquals(1, matches.size());
}
+ @Test
public void testMethod_11() throws Exception {
String s = "$.$$()";
assertEquals(METHOD, getMatachingPattern(s));
@@ -464,6 +477,7 @@ public class OpenFromClipboardTests extends TestCase {
pack.createCompilationUnit("OpenFromClipboardTests.java", buf.toString(), false, null);
}
+ @Test
public void testMember_1() throws Exception {
String s = "OpenFromClipboardTests#invokeOpenFromClipboardCommand";
assertEquals(MEMBER, getMatachingPattern(s));
@@ -473,6 +487,7 @@ public class OpenFromClipboardTests extends TestCase {
assertEquals(1, matches.size());
}
+ @Test
public void testMember_2() throws Exception {
String s = "p.OpenFromClipboardTests#invokeOpenFromClipboardCommand";
assertEquals(MEMBER, getMatachingPattern(s));
@@ -482,6 +497,7 @@ public class OpenFromClipboardTests extends TestCase {
assertEquals(1, matches.size());
}
+ @Test
public void testMember_3() throws Exception {
String s = "p.OpenFromClipboardTests#invokeOpenFromClipboardCommand(String)";
assertEquals(METHOD_JAVADOC_REFERENCE, getMatachingPattern(s));
@@ -492,6 +508,7 @@ public class OpenFromClipboardTests extends TestCase {
}
// qualified name tests
+ @Test
public void testQualifiedName_1() throws Exception {
String s = "invokeOpenFromClipboardCommand";
assertEquals(QUALIFIED_NAME, getMatachingPattern(s));
@@ -504,6 +521,7 @@ public class OpenFromClipboardTests extends TestCase {
assertEquals(1, matches.size());
}
+ @Test
public void testQualifiedName_2() throws Exception {
String s = "OpenFromClipboardTests.invokeOpenFromClipboardCommand";
assertEquals(QUALIFIED_NAME, getMatachingPattern(s));
@@ -513,6 +531,7 @@ public class OpenFromClipboardTests extends TestCase {
assertEquals(1, matches.size());
}
+ @Test
public void testQualifiedName_3() throws Exception {
String s = "p.OpenFromClipboardTests.invokeOpenFromClipboardCommand";
assertEquals(QUALIFIED_NAME, getMatachingPattern(s));
@@ -541,6 +560,7 @@ public class OpenFromClipboardTests extends TestCase {
pack.createCompilationUnit("OpenFromClipboard$Tests.java", buf.toString(), false, null);
}
+ @Test
public void testQualifiedName_4() throws Exception {
String s = "$";
assertEquals(QUALIFIED_NAME, getMatachingPattern(s));
@@ -550,6 +570,7 @@ public class OpenFromClipboardTests extends TestCase {
assertEquals(1, matches.size());
}
+ @Test
public void testQualifiedName_5() throws Exception {
String s = "$$";
assertEquals(QUALIFIED_NAME, getMatachingPattern(s));
@@ -559,6 +580,7 @@ public class OpenFromClipboardTests extends TestCase {
assertEquals(1, matches.size());
}
+ @Test
public void testQualifiedName_6() throws Exception {
String s = "OpenFromClipboard$Tests";
assertEquals(QUALIFIED_NAME, getMatachingPattern(s));
@@ -580,6 +602,7 @@ public class OpenFromClipboardTests extends TestCase {
pack.createCompilationUnit("OpenFromClipboardTests.java", buf.toString(), false, null);
}
+ @Test
public void testStackElement_1() throws Exception {
String s = "p.OpenFromClipboardTests.invokeOpenFromClipboardCommand(char) line: 1456";
assertEquals(STACK, getMatachingPattern(s));
@@ -589,6 +612,7 @@ public class OpenFromClipboardTests extends TestCase {
assertEquals(1, matches.size());
}
+ @Test
public void testStackElement_2() throws Exception {
String s = "p.OpenFromClipboardTests.invokeOpenFromClipboardCommand(char): 1456";
assertEquals(STACK, getMatachingPattern(s));
@@ -599,16 +623,19 @@ public class OpenFromClipboardTests extends TestCase {
}
// invalid pattern tests
+ @Test
public void testInvalidPattern_1() {
String s = "(Collection)";
assertEquals(INVALID, getMatachingPattern(s));
}
+ @Test
public void testInvalidPattern_2() {
String s = "()";
assertEquals(INVALID, getMatachingPattern(s));
}
+ @Test
public void testInvalidPattern_3() throws Exception {
// https://bugs.eclipse.org/bugs/show_bug.cgi?id=426392#c6
String s = "java.lang.IllegalArgumentException\n" +
diff --git a/org.eclipse.jdt.debug.ui/.settings/.api_filters b/org.eclipse.jdt.debug.ui/.settings/.api_filters
index 2a6baac..263d46d 100644
--- a/org.eclipse.jdt.debug.ui/.settings/.api_filters
+++ b/org.eclipse.jdt.debug.ui/.settings/.api_filters
@@ -8,6 +8,14 @@
</message_arguments>
</filter>
</resource>
+ <resource path="ui/org/eclipse/jdt/internal/debug/ui/actions/PopupInspectAction.java" type="org.eclipse.jdt.internal.debug.ui.actions.PopupInspectAction">
+ <filter id="571519004">
+ <message_arguments>
+ <message_argument value="org.eclipse.jdt.internal.debug.ui.actions.PopupInspectAction.showPopup(StyledText)"/>
+ <message_argument value="InspectPopupDialog"/>
+ </message_arguments>
+ </filter>
+ </resource>
<resource path="ui/org/eclipse/jdt/internal/debug/ui/classpath/ClasspathEntry.java" type="org.eclipse.jdt.internal.debug.ui.classpath.ClasspathEntry">
<filter comment="Known illegal implementation" id="574619656">
<message_arguments>
@@ -32,4 +40,44 @@
</message_arguments>
</filter>
</resource>
+ <resource path="ui/org/eclipse/jdt/internal/debug/ui/launcher/RuntimeClasspathViewer.java" type="org.eclipse.jdt.internal.debug.ui.launcher.RuntimeClasspathViewer">
+ <filter id="571473929">
+ <message_arguments>
+ <message_argument value="TableViewer"/>
+ <message_argument value="RuntimeClasspathViewer"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/JavaSnippetViewerConfiguration.java" type="org.eclipse.jdt.internal.debug.ui.snippeteditor.JavaSnippetViewerConfiguration">
+ <filter id="571473929">
+ <message_arguments>
+ <message_argument value="JavaSourceViewerConfiguration"/>
+ <message_argument value="JavaSnippetViewerConfiguration"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/SnippetEditorPropertyPage.java" type="org.eclipse.jdt.internal.debug.ui.snippeteditor.SnippetEditorPropertyPage$Proxy">
+ <filter id="574619656">
+ <message_arguments>
+ <message_argument value="ILaunchConfigurationDialog"/>
+ <message_argument value="Proxy"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/SnippetOpenHierarchyOnSelectionAction.java" type="org.eclipse.jdt.internal.debug.ui.snippeteditor.SnippetOpenHierarchyOnSelectionAction">
+ <filter id="571473929">
+ <message_arguments>
+ <message_argument value="OpenTypeHierarchyAction"/>
+ <message_argument value="SnippetOpenHierarchyOnSelectionAction"/>
+ </message_arguments>
+ </filter>
+ </resource>
+ <resource path="ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/SnippetOpenOnSelectionAction.java" type="org.eclipse.jdt.internal.debug.ui.snippeteditor.SnippetOpenOnSelectionAction">
+ <filter id="571473929">
+ <message_arguments>
+ <message_argument value="OpenAction"/>
+ <message_argument value="SnippetOpenOnSelectionAction"/>
+ </message_arguments>
+ </filter>
+ </resource>
</component>
diff --git a/org.eclipse.jdt.debug.ui/META-INF/MANIFEST.MF b/org.eclipse.jdt.debug.ui/META-INF/MANIFEST.MF
index b33dadb..82e7a99 100644
--- a/org.eclipse.jdt.debug.ui/META-INF/MANIFEST.MF
+++ b/org.eclipse.jdt.debug.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.jdt.debug.ui; singleton:=true
-Bundle-Version: 3.12.900.qualifier
+Bundle-Version: 3.12.1000.qualifier
Bundle-Activator: org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin
Bundle-Vendor: %providerName
Bundle-Localization: plugin
diff --git a/org.eclipse.jdt.debug.ui/pom.xml b/org.eclipse.jdt.debug.ui/pom.xml
index ecafeb3..b1d33fc 100644
--- a/org.eclipse.jdt.debug.ui/pom.xml
+++ b/org.eclipse.jdt.debug.ui/pom.xml
@@ -14,11 +14,11 @@
<parent>
<artifactId>eclipse.jdt.debug</artifactId>
<groupId>eclipse.jdt.debug</groupId>
- <version>4.26.0-SNAPSHOT</version>
+ <version>4.27.0-SNAPSHOT</version>
</parent>
<groupId>org.eclipse.jdt</groupId>
<artifactId>org.eclipse.jdt.debug.ui</artifactId>
- <version>3.12.900-SNAPSHOT</version>
+ <version>3.12.1000-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
<properties>
<code.ignoredWarnings>-warn:+resource,-deprecation,unavoidableGenericProblems</code.ignoredWarnings>
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JDIDebugUIPlugin.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JDIDebugUIPlugin.java
index 88aa663..c802cdf 100644
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JDIDebugUIPlugin.java
+++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JDIDebugUIPlugin.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2015 IBM Corporation and others.
+ * Copyright (c) 2000, 2022 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -104,6 +104,7 @@ import org.osgi.service.prefs.BackingStoreException;
/**
* Plug-in class for the org.eclipse.jdt.debug.ui plug-in.
*/
+@SuppressWarnings("deprecation")
public class JDIDebugUIPlugin extends AbstractUIPlugin {
/**
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JDIModelPresentation.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JDIModelPresentation.java
index 18503d4..1f186ff 100644
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JDIModelPresentation.java
+++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JDIModelPresentation.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2019 IBM Corporation and others.
+ * Copyright (c) 2000, 2022 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -115,6 +115,7 @@ import com.sun.jdi.ObjectCollectedException;
* Determines how to display java elements, including labels, images and editors.
* @see IDebugModelPresentation
*/
+@SuppressWarnings("deprecation")
public class JDIModelPresentation extends LabelProvider implements IDebugModelPresentationExtension, IColorProvider {
/**
@@ -675,7 +676,6 @@ public class JDIModelPresentation extends LabelProvider implements IDebugModelPr
return charText.toString();
}
- @SuppressWarnings("deprecation")
protected String getMarkerTypeName(IJavaBreakpoint breakpoint, boolean qualified) throws CoreException {
String typeName= null;
if (breakpoint instanceof IJavaPatternBreakpoint) {
@@ -1568,7 +1568,6 @@ public class JDIModelPresentation extends LabelProvider implements IDebugModelPr
return buff.toString();
}
- @SuppressWarnings("deprecation")
protected String getBreakpointText(IBreakpoint breakpoint) {
try {
String label = null;
@@ -1736,7 +1735,7 @@ public class JDIModelPresentation extends LabelProvider implements IDebugModelPr
return label;
}
- protected String getJavaPatternBreakpointText(@SuppressWarnings("deprecation") IJavaPatternBreakpoint breakpoint) throws CoreException {
+ protected String getJavaPatternBreakpointText(IJavaPatternBreakpoint breakpoint) throws CoreException {
IResource resource= breakpoint.getMarker().getResource();
IMember member= BreakpointUtils.getMember(breakpoint);
StringBuilder label= new StringBuilder(resource.getName());
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaBreakpointWorkbenchAdapterFactory.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaBreakpointWorkbenchAdapterFactory.java
index 901b780..3dd4ae2 100644
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaBreakpointWorkbenchAdapterFactory.java
+++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaBreakpointWorkbenchAdapterFactory.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2015 IBM Corporation and others.
+ * Copyright (c) 2000, 2022 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -28,7 +28,7 @@ import org.eclipse.ui.model.IWorkbenchAdapter;
/**
* Adapter factory for java breakpoints.
*/
-@SuppressWarnings("unchecked")
+@SuppressWarnings({ "unchecked", "deprecation" })
public class JavaBreakpointWorkbenchAdapterFactory implements IAdapterFactory {
@Override
public <T> T getAdapter(Object adaptableObject, Class<T> adapterType) {
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaDebugOptionsManager.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaDebugOptionsManager.java
index 75e5e4d..5590d96 100644
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaDebugOptionsManager.java
+++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaDebugOptionsManager.java
@@ -618,6 +618,9 @@ public class JavaDebugOptionsManager implements IDebugEventSetListener, IPropert
if (skip == SuspendOnRecurrenceStrategy.RECURRENCE_UNCONFIGURED) {
skip = new AskRecurrenceDialog(JDIDebugUIPlugin.getShell()).getAnswer();
}
+ if (skip == null) {
+ return false; // user didn't understand the question and cancelled dialog
+ }
switch (skip) {
case SKIP_RECURRENCES:
return true;
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ForceReturnAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ForceReturnAction.java
index 81ca4c9..157fe22 100644
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ForceReturnAction.java
+++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ForceReturnAction.java
@@ -13,7 +13,11 @@
*******************************************************************************/
package org.eclipse.jdt.internal.debug.ui.actions;
+import java.lang.reflect.InvocationTargetException;
+
+import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
import org.eclipse.debug.core.DebugException;
import org.eclipse.debug.ui.InspectPopupDialog;
import org.eclipse.jdt.core.Signature;
@@ -23,8 +27,11 @@ import org.eclipse.jdt.debug.core.IJavaValue;
import org.eclipse.jdt.debug.eval.IEvaluationResult;
import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
import org.eclipse.jdt.internal.debug.ui.display.JavaInspectExpression;
+import org.eclipse.jface.operation.IRunnableWithProgress;
import org.eclipse.swt.widgets.Display;
+import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.PlatformUI;
/**
* Action for force return from a method.
@@ -92,16 +99,20 @@ public class ForceReturnAction extends EvaluateAction {
@Override
protected void run() {
IJavaStackFrame stackFrame= getStackFrameContext();
+ ForceReturnRunnable runnable = new ForceReturnRunnable(stackFrame);
if (stackFrame != null) {
+ IWorkbench workbench = PlatformUI.getWorkbench();
try {
- String returnType = Signature.getReturnType(stackFrame.getSignature());
- if (Signature.SIG_VOID.equals(returnType)) {
- // no evaluation required for void methods
- stackFrame.forceReturn(((IJavaDebugTarget)stackFrame.getDebugTarget()).voidValue());
- return;
- }
- } catch (DebugException e) {
- JDIDebugUIPlugin.statusDialog(e.getStatus());
+ workbench.getProgressService().busyCursorWhile(runnable);
+ } catch (InvocationTargetException e) {
+ Status status = new Status(IStatus.WARNING, JDIDebugUIPlugin.getUniqueIdentifier(), "Force return failed", e); //$NON-NLS-1$
+ JDIDebugUIPlugin.log(status);
+ return;
+ } catch (InterruptedException e) {
+ // e.g. user cancelled the operation via the modal dialog
+ return;
+ }
+ if (runnable.forceReturnDone) {
return;
}
}
@@ -111,7 +122,30 @@ public class ForceReturnAction extends EvaluateAction {
}
+ private static class ForceReturnRunnable implements IRunnableWithProgress {
+ private final IJavaStackFrame stackFrame;
+ private boolean forceReturnDone;
+ private ForceReturnRunnable(IJavaStackFrame stackFrame) {
+ this.stackFrame = stackFrame;
+ }
+ @Override
+ public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
+ try {
+ if (stackFrame != null && stackFrame.isSuspended() && !monitor.isCanceled()) {
+ String returnType = Signature.getReturnType(stackFrame.getSignature());
+ if (Signature.SIG_VOID.equals(returnType)) {
+ // no evaluation required for void methods
+ stackFrame.forceReturn(((IJavaDebugTarget) stackFrame.getDebugTarget()).voidValue());
+ forceReturnDone = true;
+ }
+ }
+ } catch (DebugException e) {
+ JDIDebugUIPlugin.statusDialog(e.getStatus());
+ forceReturnDone = true;
+ }
+ }
+ }
}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/OpenTypeAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/OpenTypeAction.java
index 2537a52..c3e4ade 100644
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/OpenTypeAction.java
+++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/OpenTypeAction.java
@@ -125,7 +125,7 @@ public abstract class OpenTypeAction extends ObjectActionDelegate {
return source;
}
- protected void openInEditor(Object element, IType sourceElement) throws CoreException {
+ protected void openInEditor(@SuppressWarnings("unused") Object element, IType sourceElement) throws CoreException {
if (isHierarchy()) {
OpenTypeHierarchyUtil.open(sourceElement, getWorkbenchWindow());
} else {
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/StepIntoSelectionUtils.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/StepIntoSelectionUtils.java
index c6abc56..ea9d82c 100644
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/StepIntoSelectionUtils.java
+++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/StepIntoSelectionUtils.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2015 IBM Corporation and others.
+ * Copyright (c) 2007, 2022 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -113,6 +113,7 @@ public class StepIntoSelectionUtils {
* @return the first method found at or after <code>offset</code> on the same line
* @throws JavaModelException
*/
+ @SuppressWarnings("deprecation")
public static IMethod getFirstMethodOnLine(int offset, IEditorPart activeEditor, IJavaElement element) throws JavaModelException {
if (! (activeEditor instanceof ITextEditor) || ! (element instanceof ICodeAssist)) {
return null;
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ToggleBreakpointAdapter.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ToggleBreakpointAdapter.java
index 8098a9f..9304bad 100644
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ToggleBreakpointAdapter.java
+++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ToggleBreakpointAdapter.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2021 IBM Corporation and others.
+ * Copyright (c) 2000, 2022 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -1759,6 +1759,7 @@ public class ToggleBreakpointAdapter implements IToggleBreakpointsTargetExtensio
* @return the type root or <code>null</code> if one cannot be derived
* @since 3.8
*/
+ @SuppressWarnings("deprecation")
private static String getCodeTemplate(ITextSelection textSelection, JavaEditor part) {
ITextViewer viewer = part.getViewer();
if (viewer == null) {
@@ -1770,6 +1771,7 @@ public class ToggleBreakpointAdapter implements IToggleBreakpointsTargetExtensio
return templateBuffer.get();
}
+ @SuppressWarnings("deprecation")
private static void doGetCodeTemplate(ITextSelection textSelection, JavaEditor part, ITextViewer viewer, TemplateContextType contextType, AtomicReference<String> templateBuffer) {
ITextEditor editor = getTextEditor(part);
if (editor == null) {
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/classpath/RuntimeClasspathViewer.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/classpath/RuntimeClasspathViewer.java
index 19df4ce..55c8a38 100644
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/classpath/RuntimeClasspathViewer.java
+++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/classpath/RuntimeClasspathViewer.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2021 IBM Corporation and others.
+ * Copyright (c) 2000, 2022 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -82,6 +82,7 @@ public class RuntimeClasspathViewer implements IClasspathViewer {
private boolean isFiltering;
+ @SuppressWarnings("deprecation")
private RuntimeClasspathFilteredTree(Composite parent, PatternFilter filter) {
super(parent, 0, filter, true);
}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/contentassist/JavaDebugContentAssistProcessor.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/contentassist/JavaDebugContentAssistProcessor.java
index e52fcd3..7f978c7 100644
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/contentassist/JavaDebugContentAssistProcessor.java
+++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/contentassist/JavaDebugContentAssistProcessor.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2005, 2019 IBM Corporation and others.
+ * Copyright (c) 2005, 2022 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -57,6 +57,7 @@ public class JavaDebugContentAssistProcessor implements IContentAssistProcessor
private ContentAssistant fAssistant;
+ @SuppressWarnings("deprecation")
public JavaDebugContentAssistProcessor(IJavaDebugContentAssistContext context) {
fContext = context;
TemplateContextType contextType= JavaPlugin.getDefault().getTemplateContextRegistry().getContextType(JavaContextType.ID_ALL);
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/AppletLaunchConfigurationUtils.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/AppletLaunchConfigurationUtils.java
index aa81d95..8dc6ef9 100644
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/AppletLaunchConfigurationUtils.java
+++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/AppletLaunchConfigurationUtils.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2017 IBM Corporation and others.
+ * Copyright (c) 2000, 2022 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -45,6 +45,7 @@ import org.eclipse.jface.operation.IRunnableContext;
import org.eclipse.jface.operation.IRunnableWithProgress;
import org.eclipse.osgi.util.NLS;
+@SuppressWarnings("deprecation")
public class AppletLaunchConfigurationUtils {
/**
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/AppletSelectionDialog.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/AppletSelectionDialog.java
index 979afb0..174e972 100644
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/AppletSelectionDialog.java
+++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/AppletSelectionDialog.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2015 IBM Corporation and others.
+ * Copyright (c) 2000, 2022 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -40,6 +40,7 @@ import org.eclipse.ui.dialogs.TwoPaneElementSelector;
/**
* A dialog to select a type that extends <code>java.applet.Applet</code>.
*/
+@SuppressWarnings("deprecation")
public class AppletSelectionDialog extends TwoPaneElementSelector {
private IRunnableContext fRunnableContext;
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/MainMethodSearchEngine.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/MainMethodSearchEngine.java
index 956140b..f8e82d2 100644
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/MainMethodSearchEngine.java
+++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/MainMethodSearchEngine.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2015 IBM Corporation and others.
+ * Copyright (c) 2000, 2022 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -40,6 +40,7 @@ import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
import org.eclipse.jface.operation.IRunnableContext;
import org.eclipse.jface.operation.IRunnableWithProgress;
+@SuppressWarnings("deprecation")
public class MainMethodSearchEngine{
private class MethodCollector extends SearchRequestor {
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/SourceLookupBlock.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/SourceLookupBlock.java
index 05e81f8..4281430 100644
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/SourceLookupBlock.java
+++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/SourceLookupBlock.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2015 IBM Corporation and others.
+ * Copyright (c) 2000, 2022 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -57,6 +57,7 @@ import org.eclipse.swt.widgets.Label;
/**
* Control used to edit the source lookup path for a Java launch configuration.
*/
+@SuppressWarnings("deprecation")
public class SourceLookupBlock extends AbstractJavaClasspathTab implements ILaunchConfigurationTab {
protected ILaunchConfiguration fConfig;
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/search/LaunchConfigurationQueryParticipant.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/search/LaunchConfigurationQueryParticipant.java
index c6fe60f..d397ca0 100644
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/search/LaunchConfigurationQueryParticipant.java
+++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/search/LaunchConfigurationQueryParticipant.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2015 Ecliptical Software Inc. and others.
+ * Copyright (c) 2007, 2022 Ecliptical Software Inc. and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -56,6 +56,7 @@ import org.eclipse.ui.PartInitException;
*
* @since 3.4.0
*/
+@SuppressWarnings("deprecation")
public class LaunchConfigurationQueryParticipant implements IQueryParticipant {
/**
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/JavaSnippetCompletionProcessor.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/JavaSnippetCompletionProcessor.java
index 91440e4..fdba989 100644
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/JavaSnippetCompletionProcessor.java
+++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/JavaSnippetCompletionProcessor.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2019 IBM Corporation and others.
+ * Copyright (c) 2000, 2022 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -53,6 +53,7 @@ public class JavaSnippetCompletionProcessor implements IContentAssistProcessor {
public JavaSnippetCompletionProcessor(JavaSnippetEditor editor) {
fEditor= editor;
+ @SuppressWarnings("deprecation")
TemplateContextType contextType= JavaPlugin.getDefault().getTemplateContextRegistry().getContextType("java"); //$NON-NLS-1$
if (contextType != null) {
fTemplateEngine= new TemplateEngine(contextType);
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/JavaSnippetEditor.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/JavaSnippetEditor.java
index 9ed9c13..1229148 100644
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/JavaSnippetEditor.java
+++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/JavaSnippetEditor.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2015 IBM Corporation and others.
+ * Copyright (c) 2000, 2022 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -1447,6 +1447,7 @@ public class JavaSnippetEditor extends AbstractDecoratedTextEditor implements ID
public <T> T getAdapter(Class<T> required) {
if (required == IShowInTargetList.class) {
return (T) new IShowInTargetList() {
+ @SuppressWarnings("deprecation")
@Override
public String[] getShowInTargetIds() {
return new String[] { JavaUI.ID_PACKAGES, IPageLayout.ID_RES_NAV };
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/ScrapbookLauncher.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/ScrapbookLauncher.java
index 3ebf6e3..9bfd848 100644
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/ScrapbookLauncher.java
+++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/ScrapbookLauncher.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2015 IBM Corporation and others.
+ * Copyright (c) 2000, 2022 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -346,6 +346,7 @@ public class ScrapbookLauncher implements IDebugEventSetListener {
}
}
+ @SuppressWarnings("deprecation")
protected URL getEncodedURL(File file) throws MalformedURLException, UnsupportedEncodingException {
//looking at File.toURL the delimiter is always '/'
// NOT File.separatorChar
diff --git a/org.eclipse.jdt.debug/.options b/org.eclipse.jdt.debug/.options
index 3ef5cf6..7f3e82f 100644
--- a/org.eclipse.jdt.debug/.options
+++ b/org.eclipse.jdt.debug/.options
@@ -3,4 +3,5 @@ org.eclipse.jdt.debug/debug/jdiEvents=false
org.eclipse.jdt.debug/debug/jdiRequestTimes=false
org.eclipse.jdt.debug/debug/astEvaluations=false
org.eclipse.jdt.debug/debug/astEvaluations/callingThreads=false
-
+org.eclipse.jdt.debug/debug/jdi/verbose=false
+org.eclipse.jdt.debug/debug/jdi/verbose/file=
diff --git a/org.eclipse.jdt.debug/META-INF/MANIFEST.MF b/org.eclipse.jdt.debug/META-INF/MANIFEST.MF
index 0a710c9..5b689da 100644
--- a/org.eclipse.jdt.debug/META-INF/MANIFEST.MF
+++ b/org.eclipse.jdt.debug/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.jdt.debug; singleton:=true
-Bundle-Version: 3.20.0.qualifier
+Bundle-Version: 3.20.100.qualifier
Bundle-ClassPath: jdimodel.jar
Bundle-Activator: org.eclipse.jdt.internal.debug.core.JDIDebugPlugin
Bundle-Vendor: %providerName
diff --git a/org.eclipse.jdt.debug/eval/org/eclipse/jdt/internal/debug/eval/ast/engine/ASTEvaluationEngine.java b/org.eclipse.jdt.debug/eval/org/eclipse/jdt/internal/debug/eval/ast/engine/ASTEvaluationEngine.java
index bb76a66..486241e 100644
--- a/org.eclipse.jdt.debug/eval/org/eclipse/jdt/internal/debug/eval/ast/engine/ASTEvaluationEngine.java
+++ b/org.eclipse.jdt.debug/eval/org/eclipse/jdt/internal/debug/eval/ast/engine/ASTEvaluationEngine.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2020 IBM Corporation and others.
+ * Copyright (c) 2000, 2022 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -80,6 +80,7 @@ import org.eclipse.jdt.internal.debug.eval.ast.instructions.InstructionSequence;
import com.sun.jdi.InvocationException;
import com.sun.jdi.ObjectReference;
+@SuppressWarnings("restriction")
public class ASTEvaluationEngine implements IAstEvaluationEngine {
public static final String ANONYMOUS_VAR_PREFIX = "val$"; //$NON-NLS-1$
private static final int EVALUATION_DETAIL_BITMASK = DebugEvent.EVALUATION | DebugEvent.EVALUATION_IMPLICIT;
diff --git a/org.eclipse.jdt.debug/eval/org/eclipse/jdt/internal/debug/eval/ast/engine/ASTInstructionCompiler.java b/org.eclipse.jdt.debug/eval/org/eclipse/jdt/internal/debug/eval/ast/engine/ASTInstructionCompiler.java
index 231127e..d422adf 100644
--- a/org.eclipse.jdt.debug/eval/org/eclipse/jdt/internal/debug/eval/ast/engine/ASTInstructionCompiler.java
+++ b/org.eclipse.jdt.debug/eval/org/eclipse/jdt/internal/debug/eval/ast/engine/ASTInstructionCompiler.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2020 IBM Corporation and others.
+ * Copyright (c) 2000, 2022 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -2398,6 +2398,7 @@ public class ASTInstructionCompiler extends ASTVisitor {
return false;
}
+ @SuppressWarnings("unused")
private RemoteEvaluatorBuilder makeBuilder(ASTNode node) throws DebugException {
RemoteEvaluatorBuilder builder = new RemoteEvaluatorBuilder(fJavaProject, new ExpressionBinder() {
@Override
diff --git a/org.eclipse.jdt.debug/eval/org/eclipse/jdt/internal/debug/eval/ast/engine/EvaluationSourceGenerator.java b/org.eclipse.jdt.debug/eval/org/eclipse/jdt/internal/debug/eval/ast/engine/EvaluationSourceGenerator.java
index 4f6bbb4..f544357 100644
--- a/org.eclipse.jdt.debug/eval/org/eclipse/jdt/internal/debug/eval/ast/engine/EvaluationSourceGenerator.java
+++ b/org.eclipse.jdt.debug/eval/org/eclipse/jdt/internal/debug/eval/ast/engine/EvaluationSourceGenerator.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2021 IBM Corporation and others.
+ * Copyright (c) 2000, 2022 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -175,6 +175,7 @@ public class EvaluationSourceGenerator {
* <code>false</code> if the snippet does not require return to be added.
*/
+ @SuppressWarnings("deprecation")
private boolean needsReturn(String codeSnippet){
if ( codeSnippet.length() == 0) {
return false;
diff --git a/org.eclipse.jdt.debug/eval/org/eclipse/jdt/internal/debug/eval/ast/engine/SignatureExt.java b/org.eclipse.jdt.debug/eval/org/eclipse/jdt/internal/debug/eval/ast/engine/SignatureExt.java
index 8cc0c1b..2cbce4a 100644
--- a/org.eclipse.jdt.debug/eval/org/eclipse/jdt/internal/debug/eval/ast/engine/SignatureExt.java
+++ b/org.eclipse.jdt.debug/eval/org/eclipse/jdt/internal/debug/eval/ast/engine/SignatureExt.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2005, 2012 IBM Corporation and others.
+ * Copyright (c) 2005, 2022 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -19,14 +19,16 @@ import org.eclipse.jdt.core.Signature;
import org.eclipse.jdt.core.compiler.CharOperation;
import org.eclipse.jdt.internal.compiler.util.Util;
+@SuppressWarnings("restriction")
public class SignatureExt {
public static char[][] getTypeSuperClassInterfaces(char[] typeSignature)
throws IllegalArgumentException {
try {
int length = typeSignature.length;
- if (length == 0)
+ if (length == 0) {
return CharOperation.NO_CHAR_CHAR;
+ }
int i = 0;
if (typeSignature[0] == Signature.C_GENERIC_START) {
i++; // leading '<'
@@ -34,8 +36,9 @@ public class SignatureExt {
&& typeSignature[i] != Signature.C_GENERIC_END) {
i = CharOperation.indexOf(Signature.C_COLON, typeSignature,
i);
- if (i < 0 || i >= length)
+ if (i < 0 || i >= length) {
throw new IllegalArgumentException();
+ }
// iterate over bounds
nextBound: while (typeSignature[i] == ':') {
i++; // skip colon
@@ -46,8 +49,9 @@ public class SignatureExt {
i++; // position at start of next param if any
}
}
- if (i < 0 || i >= length)
+ if (i < 0 || i >= length) {
throw new IllegalArgumentException();
+ }
i++; // trailing '>'
}
ArrayList<char[]> superList = new ArrayList<>();
diff --git a/org.eclipse.jdt.debug/eval/org/eclipse/jdt/internal/debug/eval/ast/engine/SourceBasedSourceGenerator.java b/org.eclipse.jdt.debug/eval/org/eclipse/jdt/internal/debug/eval/ast/engine/SourceBasedSourceGenerator.java
index d53d0fb..825b1fd 100644
--- a/org.eclipse.jdt.debug/eval/org/eclipse/jdt/internal/debug/eval/ast/engine/SourceBasedSourceGenerator.java
+++ b/org.eclipse.jdt.debug/eval/org/eclipse/jdt/internal/debug/eval/ast/engine/SourceBasedSourceGenerator.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2017 IBM Corporation and others.
+ * Copyright (c) 2000, 2022 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -1035,6 +1035,7 @@ public class SourceBasedSourceGenerator extends ASTVisitor {
* the {@link Type}
* @return the parent {@link Type}
*/
+ @SuppressWarnings("deprecation")
private Type getParentType(Type type) {
if (type instanceof ArrayType) {
return getParentType(((ArrayType) type).getComponentType());
diff --git a/org.eclipse.jdt.debug/jdi/org/eclipse/jdi/Bootstrap.java b/org.eclipse.jdt.debug/jdi/org/eclipse/jdi/Bootstrap.java
index 0b223ad..e196095 100644
--- a/org.eclipse.jdt.debug/jdi/org/eclipse/jdi/Bootstrap.java
+++ b/org.eclipse.jdt.debug/jdi/org/eclipse/jdi/Bootstrap.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2012 IBM Corporation and others.
+ * Copyright (c) 2000, 2022 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -23,9 +23,11 @@ public class Bootstrap {
public Bootstrap() {
}
+ @SuppressWarnings("deprecation")
public static synchronized com.sun.jdi.VirtualMachineManager virtualMachineManager() {
- if (fVirtualMachineManager != null)
+ if (fVirtualMachineManager != null) {
return fVirtualMachineManager;
+ }
try {
IExtensionRegistry extensionRegistry = Platform
diff --git a/org.eclipse.jdt.debug/jdi/org/eclipse/jdi/internal/MirrorImpl.java b/org.eclipse.jdt.debug/jdi/org/eclipse/jdi/internal/MirrorImpl.java
index a01227f..596a5a6 100644
--- a/org.eclipse.jdt.debug/jdi/org/eclipse/jdi/internal/MirrorImpl.java
+++ b/org.eclipse.jdt.debug/jdi/org/eclipse/jdi/internal/MirrorImpl.java
@@ -22,6 +22,7 @@ import java.util.Date;
import java.util.Map;
import org.eclipse.jdi.Bootstrap;
+import org.eclipse.jdi.TimeoutException;
import org.eclipse.jdi.internal.jdwp.JdwpCommandPacket;
import org.eclipse.jdi.internal.jdwp.JdwpPacket;
import org.eclipse.jdi.internal.jdwp.JdwpReplyPacket;
@@ -68,10 +69,7 @@ public class MirrorImpl implements Mirror {
public MirrorImpl(String description) {
fDescription = description;
fVirtualMachineImpl = (VirtualMachineImpl) this;
- PrintWriter writer = ((VirtualMachineManagerImpl) org.eclipse.jdi.Bootstrap
- .virtualMachineManager()).verbosePrintWriter();
- if (writer != null)
- fVerboseWriter = new VerboseWriter(writer);
+ initVerboseWriter();
}
/**
@@ -80,10 +78,18 @@ public class MirrorImpl implements Mirror {
public MirrorImpl(String description, VirtualMachineImpl virtualMachineImpl) {
fVirtualMachineImpl = virtualMachineImpl;
fDescription = description;
- PrintWriter writer = ((VirtualMachineManagerImpl) org.eclipse.jdi.Bootstrap
- .virtualMachineManager()).verbosePrintWriter();
- if (writer != null)
+ initVerboseWriter();
+ }
+
+ private void initVerboseWriter() {
+ if (!VirtualMachineManagerImpl.isVerboseTracingEnabled()) {
+ return;
+ }
+ VirtualMachineManagerImpl machineManagerImpl = (VirtualMachineManagerImpl) org.eclipse.jdi.Bootstrap.virtualMachineManager();
+ PrintWriter writer = machineManagerImpl.verbosePrintWriter();
+ if (writer != null) {
fVerboseWriter = new VerboseWriter(writer);
+ }
}
/**
@@ -129,9 +135,16 @@ public class MirrorImpl implements Mirror {
/**
* Processing after each Jdwp Event.
*/
- public void handledJdwpEventSet() {
+ public void handledJdwpEventSet(Throwable t) {
if (fVerboseWriter != null) {
- fVerboseWriter.println();
+ if (t instanceof TimeoutException || t instanceof VMDisconnectedException) {
+ // do nothing
+ } else {
+ if (t != null) {
+ fVerboseWriter.printStackTrace(t);
+ }
+ fVerboseWriter.println();
+ }
fVerboseWriter.flush();
}
}
@@ -332,8 +345,9 @@ public class MirrorImpl implements Mirror {
*/
public void checkVM(Mirror mirror) throws VMMismatchException {
if (((MirrorImpl) mirror).virtualMachineImpl() != this
- .virtualMachineImpl())
+ .virtualMachineImpl()) {
throw new VMMismatchException();
+ }
}
/**
diff --git a/org.eclipse.jdt.debug/jdi/org/eclipse/jdi/internal/VerboseWriter.java b/org.eclipse.jdt.debug/jdi/org/eclipse/jdi/internal/VerboseWriter.java
index dc25fba..c7eaaed 100644
--- a/org.eclipse.jdt.debug/jdi/org/eclipse/jdi/internal/VerboseWriter.java
+++ b/org.eclipse.jdt.debug/jdi/org/eclipse/jdi/internal/VerboseWriter.java
@@ -14,9 +14,10 @@
package org.eclipse.jdi.internal;
import java.io.PrintWriter;
-import java.util.ArrayList;
+import java.io.StringWriter;
import java.util.List;
import java.util.Map;
+import java.util.Vector;
public class VerboseWriter {
/** Length of verbose description. */
@@ -30,16 +31,16 @@ public class VerboseWriter {
* Number extra verbose lines. These are caused by hex dumps that span more
* than one line.
*/
- int fExtraVerboseLines = 0;
+ volatile int fExtraVerboseLines = 0;
/** PrintWriter that is written to. */
- private PrintWriter fOutput;
+ private final PrintWriter fOutput;
/** Buffer for output: one StringBuilder entry per line. */
- private List<StringBuilder> fLineBuffer;
+ private final List<StringBuffer> fLineBuffer;
/** Position from where buffer is written to. */
- private int fPosition;
+ private volatile int fPosition;
/** True if the current line has not yet been written to. */
- private boolean fNewLine = true;
+ private volatile boolean fNewLine = true;
/**
* Creates new VerboseWriter that writes to the given PrintWriter. Output is
@@ -47,9 +48,9 @@ public class VerboseWriter {
*/
public VerboseWriter(PrintWriter out) {
fOutput = out;
- fLineBuffer = new ArrayList<>();
+ fLineBuffer = new Vector<>();
fPosition = 0;
- fLineBuffer.add(new StringBuilder());
+ fLineBuffer.add(new StringBuffer());
}
/**
@@ -57,7 +58,7 @@ public class VerboseWriter {
* autoflush is set and there are extra vebose lines caused by printHex,
* these lines are also printed.
*/
- public void println() {
+ public synchronized void println() {
while (fExtraVerboseLines > 0) {
fExtraVerboseLines--;
markLn();
@@ -69,7 +70,7 @@ public class VerboseWriter {
/**
* Prints verbose line.
*/
- public void println(String description, byte value) {
+ public synchronized void println(String description, byte value) {
printDescription(description);
printHex(value);
println();
@@ -78,7 +79,7 @@ public class VerboseWriter {
/**
* Prints verbose line.
*/
- public void println(String description, short value) {
+ public synchronized void println(String description, short value) {
printDescription(description);
printHex(value);
println();
@@ -87,7 +88,7 @@ public class VerboseWriter {
/**
* Prints verbose line.
*/
- public void println(String description, int value) {
+ public synchronized void println(String description, int value) {
printDescription(description);
printHex(value);
println();
@@ -96,7 +97,7 @@ public class VerboseWriter {
/**
* Prints verbose line.
*/
- public void println(String description, long value) {
+ public synchronized void println(String description, long value) {
printDescription(description);
printHex(value);
println();
@@ -105,7 +106,7 @@ public class VerboseWriter {
/**
* Prints verbose line.
*/
- public void println(String description, byte value, Map<Integer, String> valueToString) {
+ public synchronized void println(String description, byte value, Map<Integer, String> valueToString) {
printDescription(description);
printHex(value);
printValue(value, valueToString);
@@ -115,7 +116,7 @@ public class VerboseWriter {
/**
* Prints verbose line.
*/
- public void println(String description, short value, Map<Integer, String> valueToString) {
+ public synchronized void println(String description, short value, Map<Integer, String> valueToString) {
printDescription(description);
printHex(value);
printValue(value, valueToString);
@@ -125,7 +126,7 @@ public class VerboseWriter {
/**
* Prints verbose line.
*/
- public void println(String description, int value, Map<Integer, String> valueToString) {
+ public synchronized void println(String description, int value, Map<Integer, String> valueToString) {
printDescription(description);
printHex(value);
printValue(value, valueToString);
@@ -135,7 +136,7 @@ public class VerboseWriter {
/**
* Prints verbose line.
*/
- public void println(String description, byte value, String[] bitNames) {
+ public synchronized void println(String description, byte value, String[] bitNames) {
printDescription(description);
printHex(value);
printValue(value, bitNames);
@@ -145,7 +146,7 @@ public class VerboseWriter {
/**
* Prints verbose line.
*/
- public void println(String description, short value, String[] bitNames) {
+ public synchronized void println(String description, short value, String[] bitNames) {
printDescription(description);
printHex(value);
printValue(value, bitNames);
@@ -155,7 +156,7 @@ public class VerboseWriter {
/**
* Prints verbose line.
*/
- public void println(String description, int value, String[] bitNames) {
+ public synchronized void println(String description, int value, String[] bitNames) {
printDescription(description);
printHex(value);
printValue(value, bitNames);
@@ -165,7 +166,7 @@ public class VerboseWriter {
/**
* Prints verbose line.
*/
- public void println(String description, String value) {
+ public synchronized void println(String description, String value) {
printDescription(description);
printHex(value);
print(value);
@@ -175,7 +176,7 @@ public class VerboseWriter {
/**
* Prints verbose line.
*/
- public void println(String description, boolean value) {
+ public synchronized void println(String description, boolean value) {
printDescription(description);
printHex(value);
print(Boolean.valueOf(value).toString());
@@ -185,7 +186,7 @@ public class VerboseWriter {
/**
* Prints verbose line.
*/
- public void println(String description, char value) {
+ public synchronized void println(String description, char value) {
printDescription(description);
printHex(value);
print(value);
@@ -195,7 +196,7 @@ public class VerboseWriter {
/**
* Prints verbose line.
*/
- public void println(String description, double value) {
+ public synchronized void println(String description, double value) {
printDescription(description);
printHex(value);
print(Double.valueOf(value).toString());
@@ -205,7 +206,7 @@ public class VerboseWriter {
/**
* Prints verbose line.
*/
- public void println(String description, float value) {
+ public synchronized void println(String description, float value) {
printDescription(description);
printHex(value);
print(Float.valueOf(value).toString());
@@ -215,7 +216,7 @@ public class VerboseWriter {
/**
* Prints verbose line.
*/
- public void println(String description, byte[] value) {
+ public synchronized void println(String description, byte[] value) {
printDescription(description);
printHex(value);
println();
@@ -224,7 +225,7 @@ public class VerboseWriter {
/**
* Prints string with right size.
*/
- public void printWidth(String str, int width) {
+ public synchronized void printWidth(String str, int width) {
print(str);
int spaces = width - str.length();
if (spaces > 0) {
@@ -237,14 +238,14 @@ public class VerboseWriter {
/**
* Prints description string with right size plus its seperator spaces.
*/
- public void printDescription(String str) {
+ public synchronized void printDescription(String str) {
printWidth(str, VERBOSE_DESCRIPTION_LENGTH);
}
/**
* Prints hex substitution string with right size plus its seperator spaces.
*/
- public void printHexSubstitution(String str) {
+ public synchronized void printHexSubstitution(String str) {
// Note that bytes also start with a space.
print(' ');
printWidth(str, VERBOSE_HEX_WIDTH - 1);
@@ -288,7 +289,7 @@ public class VerboseWriter {
/**
* Prints hex representation of a byte.
*/
- public void printHex(byte b) {
+ public synchronized void printHex(byte b) {
char buffer[] = new char[VERBOSE_HEX_WIDTH];
appendHexByte(b, buffer, 0);
appendHexSpaces(buffer, 1);
@@ -298,10 +299,11 @@ public class VerboseWriter {
/**
* Prints hex representation of an int.
*/
- public void printHex(short s) {
+ public synchronized void printHex(short s) {
char buffer[] = new char[VERBOSE_HEX_WIDTH];
- for (int i = 1; i >= 0; i--)
+ for (int i = 1; i >= 0; i--) {
appendHexByte((byte) (s >>> i * 8), buffer, 1 - i);
+ }
appendHexSpaces(buffer, 2);
print(buffer);
}
@@ -309,10 +311,11 @@ public class VerboseWriter {
/**
* Prints hex representation of an int.
*/
- public void printHex(int integer) {
+ public synchronized void printHex(int integer) {
char buffer[] = new char[VERBOSE_HEX_WIDTH];
- for (int i = 3; i >= 0; i--)
+ for (int i = 3; i >= 0; i--) {
appendHexByte((byte) (integer >>> i * 8), buffer, 3 - i);
+ }
appendHexSpaces(buffer, 4);
print(buffer);
}
@@ -320,10 +323,11 @@ public class VerboseWriter {
/**
* Prints hex representation of a long.
*/
- public void printHex(long l) {
+ public synchronized void printHex(long l) {
char buffer[] = new char[VERBOSE_HEX_WIDTH];
- for (int i = 7; i >= 0; i--)
+ for (int i = 7; i >= 0; i--) {
appendHexByte((byte) (l >>> i * 8), buffer, 7 - i);
+ }
appendHexSpaces(buffer, 8);
print(buffer);
}
@@ -332,7 +336,7 @@ public class VerboseWriter {
* Prints hex representation of a long.
* @param b the boolean
*/
- public void printHex(boolean b) {
+ public synchronized void printHex(boolean b) {
printHexSubstitution("<boolean>"); //$NON-NLS-1$
}
@@ -340,7 +344,7 @@ public class VerboseWriter {
* Prints hex representation of a long.
* @param c the char
*/
- public void printHex(char c) {
+ public synchronized void printHex(char c) {
printHexSubstitution("<char>"); //$NON-NLS-1$
}
@@ -348,7 +352,7 @@ public class VerboseWriter {
* Prints hex representation of a long.
* @param d the double
*/
- public void printHex(double d) {
+ public synchronized void printHex(double d) {
printHexSubstitution("<double>"); //$NON-NLS-1$
}
@@ -356,7 +360,7 @@ public class VerboseWriter {
* Prints hex representation of a long.
* @param f the float
*/
- public void printHex(float f) {
+ public synchronized void printHex(float f) {
printHexSubstitution("<float>"); //$NON-NLS-1$
}
@@ -364,7 +368,7 @@ public class VerboseWriter {
* Prints hex representation of a String.
* @param str the string
*/
- public void printHex(String str) {
+ public synchronized void printHex(String str) {
printHexSubstitution("<string>"); //$NON-NLS-1$
}
@@ -374,7 +378,7 @@ public class VerboseWriter {
* Therefore, a println after a printHex can result in more than one line
* being printed to the PrintWriter.
*/
- public void printHex(byte[] bytes) {
+ public synchronized void printHex(byte[] bytes) {
int startPosition = position();
char linebuf[] = new char[VERBOSE_HEX_WIDTH];
int extraLines = 0;
@@ -408,7 +412,7 @@ public class VerboseWriter {
* Prints string representation of a value given a Map from values to
* strings.
*/
- public void printValue(int value, Map<Integer, String> valueToString) {
+ public synchronized void printValue(int value, Map<Integer, String> valueToString) {
Integer val = Integer.valueOf(value);
if (valueToString == null) {
print(val.toString());
@@ -426,7 +430,7 @@ public class VerboseWriter {
* Prints string representation of a value given a Vector with the names of
* the bits.
*/
- public void printValue(byte value, String[] bitNames) {
+ public synchronized void printValue(byte value, String[] bitNames) {
printValue(value & 0xff, bitNames);
}
@@ -434,7 +438,7 @@ public class VerboseWriter {
* Prints string representation of a value given a Vector with the names of
* the bits.
*/
- public void printValue(short value, String[] bitNames) {
+ public synchronized void printValue(short value, String[] bitNames) {
printValue(value & 0xffff, bitNames);
}
@@ -442,7 +446,7 @@ public class VerboseWriter {
* Prints string representation of a value given a Vector with the names of
* the bits.
*/
- public void printValue(int value, String[] bitNames) {
+ public synchronized void printValue(int value, String[] bitNames) {
Integer val = Integer.valueOf(value);
if (bitNames == null) {
print(val.toString());
@@ -483,7 +487,7 @@ public class VerboseWriter {
*/
private void checkForNewLine() {
if (fNewLine) {
- (fLineBuffer.get(fPosition)).setLength(0);
+ getCurrentBuffer().setLength(0);
fNewLine = false;
}
}
@@ -491,31 +495,46 @@ public class VerboseWriter {
/**
* Print a String.
*/
- public void print(String str) {
+ public synchronized void print(String str) {
checkForNewLine();
- (fLineBuffer.get(fPosition)).append(str);
+ getCurrentBuffer().append(str);
}
/**
* Print a Character.
*/
- public void print(char c) {
+ public synchronized void print(char c) {
checkForNewLine();
- (fLineBuffer.get(fPosition)).append(c);
+ getCurrentBuffer().append(c);
+ }
+
+ private StringBuffer getCurrentBuffer() {
+ return fLineBuffer.get(nextPosition());
+ }
+
+ private int nextPosition() {
+ int pos = fPosition;
+ if (pos >= fLineBuffer.size()) {
+ pos = fLineBuffer.size() - 1;
+ }
+ if (pos < 0) {
+ pos = 0;
+ }
+ return pos;
}
/**
* Print array of Characters.
*/
- public void print(char[] c) {
+ public synchronized void print(char[] c) {
checkForNewLine();
- (fLineBuffer.get(fPosition)).append(c);
+ getCurrentBuffer().append(c);
}
/**
* Print a String and then terminate the line.
*/
- public void println(String str) {
+ public synchronized void println(String str) {
print(str);
println();
}
@@ -524,44 +543,54 @@ public class VerboseWriter {
* Flush buffer. If autoflush is off, this method is synchronized on the
* PrintWriter given in the constructor.
*/
- public void flush() {
- synchronized (fOutput) {
- int bufSize = fLineBuffer.size();
-
- for (int i = 0; i < bufSize - 1; i++)
- fOutput.println(new String(fLineBuffer.get(i)));
+ public synchronized void flush() {
+ int bufSize = fLineBuffer.size();
+ StringWriter sw = new StringWriter();
+ PrintWriter pw = new PrintWriter(sw);
- // The last line should be printed without an extra newline
- StringBuilder lastLine = fLineBuffer.get(bufSize - 1);
- if (lastLine.length() > 0)
- fOutput.print(new String(lastLine));
+ for (int i = 0; i < bufSize - 1; i++) {
+ pw.println(fLineBuffer.get(i));
+ }
+ // The last line should be printed without an extra newline
+ StringBuffer lastLine = fLineBuffer.get(bufSize - 1);
+ if (lastLine.length() > 0) {
+ pw.print(lastLine);
+ }
+ fLineBuffer.clear();
+ fPosition = 0;
+ fLineBuffer.add(new StringBuffer());
+ // sync on fOutput to avoid writing from multiple writer instances
+ synchronized (fOutput) {
+ fOutput.print(sw.toString());
fOutput.flush();
- fLineBuffer.clear();
- fPosition = 0;
- fLineBuffer.add(new StringBuilder());
}
}
+ public synchronized void printStackTrace(Throwable t) {
+ t.printStackTrace(fOutput);
+ }
+
/**
* Go to the given position in the buffer. If the given position is smaller
* than the current position, subsequent print commands overwrite existing
* lines in the buffer. Else, new lines are added to the buffer.
*/
- public void gotoPosition(int pos) {
+ public synchronized void gotoPosition(int pos) {
int delta = pos - fPosition;
if (delta < 0) {
fPosition = pos;
} else {
- while (delta-- > 0)
+ while (delta-- > 0) {
println();
+ }
}
}
/**
* Prints given number of lines.
*/
- public void printLines(int lines) {
+ public synchronized void printLines(int lines) {
gotoPosition(fPosition + lines);
}
@@ -576,9 +605,9 @@ public class VerboseWriter {
* Terminate the current line by writing the line separator string, start at
* end of next line.
*/
- public void markLn() {
+ public synchronized void markLn() {
if (++fPosition == fLineBuffer.size()) {
- fLineBuffer.add(new StringBuilder());
+ fLineBuffer.add(new StringBuffer());
}
fNewLine = true;
diff --git a/org.eclipse.jdt.debug/jdi/org/eclipse/jdi/internal/VirtualMachineManagerImpl.java b/org.eclipse.jdt.debug/jdi/org/eclipse/jdi/internal/VirtualMachineManagerImpl.java
index 02dcd0b..b2bee5a 100644
--- a/org.eclipse.jdt.debug/jdi/org/eclipse/jdi/internal/VirtualMachineManagerImpl.java
+++ b/org.eclipse.jdt.debug/jdi/org/eclipse/jdi/internal/VirtualMachineManagerImpl.java
@@ -15,14 +15,11 @@ package org.eclipse.jdi.internal;
import java.io.FileOutputStream;
import java.io.IOException;
-import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
-import java.net.URL;
+import java.io.StringWriter;
import java.util.ArrayList;
import java.util.List;
-import java.util.MissingResourceException;
-import java.util.PropertyResourceBundle;
import org.eclipse.core.runtime.Platform;
import org.eclipse.core.runtime.preferences.IPreferencesService;
@@ -31,6 +28,8 @@ import org.eclipse.jdi.internal.connect.SocketLaunchingConnectorImpl;
import org.eclipse.jdi.internal.connect.SocketListeningConnectorImpl;
import org.eclipse.jdi.internal.connect.SocketRawLaunchingConnectorImpl;
import org.eclipse.jdt.debug.core.JDIDebugModel;
+import org.eclipse.jdt.internal.debug.core.JDIDebugOptions;
+import org.eclipse.jdt.internal.debug.core.JDIDebugPlugin;
import com.sun.jdi.VirtualMachine;
import com.sun.jdi.VirtualMachineManager;
@@ -56,10 +55,9 @@ public class VirtualMachineManagerImpl implements VirtualMachineManager {
private PrintWriter fVerbosePrintWriter = null;
/** List of all VMs that are currently connected. */
List<VirtualMachine> fConnectedVMs = new ArrayList<>();
- /** True if in verbose mode. */
- private boolean fVerbose = false;
+
/** Name of verbose file. */
- private String fVerboseFile = null;
+ private String fVerboseFile;
/**
* Creates new VirtualMachineManagerImpl.
@@ -69,23 +67,35 @@ public class VirtualMachineManagerImpl implements VirtualMachineManager {
getPreferences();
// See if verbose info must be given.
- if (fVerbose) {
- OutputStream out;
+ if (isVerboseTracingEnabled()) {
+ OutputStream out = null;
if (fVerboseFile != null && fVerboseFile.length() > 0) {
try {
out = new FileOutputStream(fVerboseFile);
} catch (IOException e) {
- out = System.out;
- System.out
- .println(JDIMessages.VirtualMachineManagerImpl_Could_not_open_verbose_file___1
+ JDIDebugPlugin.logError(JDIMessages.VirtualMachineManagerImpl_Could_not_open_verbose_file___1
+ fVerboseFile
+ JDIMessages.VirtualMachineManagerImpl_____2
- + e); //
+ , e); //
}
+ }
+ if (out == null) {
+ fVerbosePrintWriter = new PrintWriter(new StringWriter()) {
+ @Override
+ public void flush() {
+ super.flush();
+ StringWriter writer = new StringWriter();
+ synchronized (lock) {
+ JDIDebugOptions.trace(JDIDebugOptions.DEBUG_JDI_VERBOSE_FLAG, this.out.toString(), null);
+ this.out = writer;
+ this.lock = writer;
+ }
+ }
+ };
+
} else {
- out = System.out;
+ fVerbosePrintWriter = new PrintWriter(out);
}
- fVerbosePrintWriter = new PrintWriter(out);
}
}
@@ -105,33 +115,21 @@ public class VirtualMachineManagerImpl implements VirtualMachineManager {
return MINOR_INTERFACE_VERSION;
}
+ public static boolean isVerboseTracingEnabled() {
+ return JDIDebugOptions.DEBUG_JDI_VEBOSE;
+ }
+
+ static String getTracingFileName() {
+ return JDIDebugOptions.DEBUG_JDI_VEBOSE_FILE;
+ }
+
/**
- * Loads the user preferences from the jdi.ini file.
+ * Loads the user preferences from .options file
*/
private void getPreferences() {
- // Get jdi.ini info.
- URL url = getClass().getResource("/jdi.ini"); //$NON-NLS-1$
- if (url == null) {
- return;
- }
-
- try {
- InputStream stream = url.openStream();
- PropertyResourceBundle prefs = new PropertyResourceBundle(stream);
-
- try {
- fVerbose = Boolean.parseBoolean(prefs.getString("User.verbose")); //$NON-NLS-1$
- } catch (MissingResourceException e) {
- }
-
- try {
- fVerboseFile = prefs.getString("Verbose.out"); //$NON-NLS-1$
- } catch (MissingResourceException e) {
- }
-
- } catch (IOException e) {
+ if (isVerboseTracingEnabled()) {
+ fVerboseFile = getTracingFileName();
}
-
}
/**
diff --git a/org.eclipse.jdt.debug/jdi/org/eclipse/jdi/internal/event/EventQueueImpl.java b/org.eclipse.jdt.debug/jdi/org/eclipse/jdi/internal/event/EventQueueImpl.java
index b238ccd..a9046e7 100644
--- a/org.eclipse.jdt.debug/jdi/org/eclipse/jdi/internal/event/EventQueueImpl.java
+++ b/org.eclipse.jdt.debug/jdi/org/eclipse/jdi/internal/event/EventQueueImpl.java
@@ -72,22 +72,22 @@ public class EventQueueImpl extends MirrorImpl implements EventQueue {
JdwpCommandPacket.E_COMPOSITE, timeout);
initJdwpEventSet(packet);
set = EventSetImpl.read(this, packet.dataInStream());
- handledJdwpEventSet();
+ handledJdwpEventSet(null);
} while (set.isEmpty());
return set;
} catch (TimeoutException e) {
// Timeout in getCommand, JDI spec says return null.
- handledJdwpEventSet();
+ handledJdwpEventSet(e);
return null;
} catch (IOException e) {
// This means the already received data is invalid.
- handledJdwpEventSet();
+ handledJdwpEventSet(e);
defaultIOExceptionHandler(e);
return null;
} catch (VMDisconnectedException e) {
// JDI spec says that a VMDisconnectedException must always be
// preceeded by a VMDisconnectEvent.
- handledJdwpEventSet();
+ handledJdwpEventSet(e);
if (!genereatedVMDisconnectEvent) {
genereatedVMDisconnectEvent = true;
return new EventSetImpl(virtualMachineImpl(),
diff --git a/org.eclipse.jdt.debug/jdi/org/eclipse/jdi/internal/event/ExceptionEventImpl.java b/org.eclipse.jdt.debug/jdi/org/eclipse/jdi/internal/event/ExceptionEventImpl.java
index 0de9c1b..4266ef0 100644
--- a/org.eclipse.jdt.debug/jdi/org/eclipse/jdi/internal/event/ExceptionEventImpl.java
+++ b/org.eclipse.jdt.debug/jdi/org/eclipse/jdi/internal/event/ExceptionEventImpl.java
@@ -40,6 +40,8 @@ public class ExceptionEventImpl extends LocatableEventImpl implements
private ObjectReferenceImpl fException;
/** Location of catch, or 0 if not caught. */
private LocationImpl fCatchLocation;
+ /** Whether garbage collection has been re-enabled for the exception. */
+ private boolean fExceptionCollectionEnabled;
/**
* Creates new ExceptionEventImpl.
@@ -60,6 +62,8 @@ public class ExceptionEventImpl extends LocatableEventImpl implements
event.readThreadAndLocation(target, dataInStream);
event.fException = ObjectReferenceImpl.readObjectRefWithTag(target,
dataInStream);
+ event.fException.disableCollection();
+ event.fExceptionCollectionEnabled = false;
event.fCatchLocation = LocationImpl.read(target, dataInStream);
return event;
}
@@ -79,4 +83,14 @@ public class ExceptionEventImpl extends LocatableEventImpl implements
public ObjectReference exception() {
return fException;
}
+
+ /**
+ * Enables garbage collection for the exception in the event. GC for the exception is initially disabled, until the exception event is processed.
+ */
+ public void enableExceptionGC() {
+ if (!fExceptionCollectionEnabled && fException != null) {
+ fException.enableCollection();
+ fExceptionCollectionEnabled = true;
+ }
+ }
}
diff --git a/org.eclipse.jdt.debug/model/org/eclipse/jdt/debug/core/JDIDebugModel.java b/org.eclipse.jdt.debug/model/org/eclipse/jdt/debug/core/JDIDebugModel.java
index 09b5390..3837547 100644
--- a/org.eclipse.jdt.debug/model/org/eclipse/jdt/debug/core/JDIDebugModel.java
+++ b/org.eclipse.jdt.debug/model/org/eclipse/jdt/debug/core/JDIDebugModel.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2018 IBM Corporation and others.
+ * Copyright (c) 2000, 2022 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -64,6 +64,7 @@ import com.sun.jdi.VirtualMachine;
* @noinstantiate This class is not intended to be instantiated by clients.
* @noextend This class is not intended to be subclassed by clients.
*/
+@SuppressWarnings("deprecation")
public class JDIDebugModel {
/**
diff --git a/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/EventDispatcher.java b/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/EventDispatcher.java
index 48e1fe1..209c596 100644
--- a/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/EventDispatcher.java
+++ b/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/EventDispatcher.java
@@ -27,6 +27,7 @@ import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.debug.core.DebugEvent;
import org.eclipse.debug.core.DebugException;
import org.eclipse.debug.core.DebugPlugin;
+import org.eclipse.jdi.internal.event.ExceptionEventImpl;
import org.eclipse.jdt.debug.core.IJavaLineBreakpoint;
import org.eclipse.jdt.internal.debug.core.model.JDIDebugTarget;
@@ -153,7 +154,13 @@ public class EventDispatcher implements Runnable {
}
}
vote = true;
- resume = listener.handleEvent(event, fTarget, !resume, eventSet) && resume;
+ try {
+ resume = listener.handleEvent(event, fTarget, !resume, eventSet) && resume;
+ } catch (Throwable t) {
+ logHandleEventError(listener, event, t);
+ } finally {
+ enableGCForExceptionEvent(event);
+ }
continue;
}
@@ -187,7 +194,13 @@ public class EventDispatcher implements Runnable {
.get(event.request());
if (listener != null) {
vote = true;
- resume = listener.handleEvent(event, fTarget, !resume, eventSet) && resume;
+ try {
+ resume = listener.handleEvent(event, fTarget, !resume, eventSet) && resume;
+ } catch (Throwable t) {
+ logHandleEventError(listener, event, t);
+ } finally {
+ enableGCForExceptionEvent(event);
+ }
continue;
}
}
@@ -411,4 +424,17 @@ public class EventDispatcher implements Runnable {
}
}
+ private static void enableGCForExceptionEvent(Event event) {
+ if (event instanceof ExceptionEventImpl) {
+ try {
+ ((ExceptionEventImpl) event).enableExceptionGC();
+ } catch (Throwable t) {
+ JDIDebugPlugin.logError("Failed to enable GC for event: " + event, t); //$NON-NLS-1$
+ }
+ }
+ }
+
+ private static void logHandleEventError(IJDIEventListener listener, Event event, Throwable t) {
+ JDIDebugPlugin.logError("Exception occurred while notifying listener: " + listener + ", with event: " + event, t); //$NON-NLS-1$ //$NON-NLS-2$
+ }
}
diff --git a/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/JDIDebugOptions.java b/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/JDIDebugOptions.java
index a3cf0b1..8658eed 100644
--- a/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/JDIDebugOptions.java
+++ b/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/JDIDebugOptions.java
@@ -34,12 +34,16 @@ public class JDIDebugOptions implements DebugOptionsListener {
public static final String DEBUG_JDI_REQUEST_TIMES_FLAG = "org.eclipse.jdt.debug/debug/jdiRequestTimes"; //$NON-NLS-1$
public static final String DEBUG_JDI_EVENTS_FLAG = "org.eclipse.jdt.debug/debug/jdiEvents"; //$NON-NLS-1$
public static final String DEBUG_FLAG = "org.eclipse.jdt.debug/debug"; //$NON-NLS-1$
+ public static final String DEBUG_JDI_VERBOSE_FLAG = "org.eclipse.jdt.debug/debug/jdi/verbose"; //$NON-NLS-1$
+ public static final String DEBUG_JDI_VERBOSE_FILE = "org.eclipse.jdt.debug/debug/jdi/verbose/file"; //$NON-NLS-1$
public static boolean DEBUG = false;
public static boolean DEBUG_JDI_EVENTS = false;
public static boolean DEBUG_JDI_REQUEST_TIMES = false;
public static boolean DEBUG_AST_EVAL = false;
public static boolean DEBUG_AST_EVAL_THREAD_TRACE = false;
+ public static boolean DEBUG_JDI_VEBOSE;
+ public static String DEBUG_JDI_VEBOSE_FILE;
/**
* The {@link DebugTrace} object to print to OSGi tracing
@@ -70,24 +74,27 @@ public class JDIDebugOptions implements DebugOptionsListener {
DEBUG_JDI_REQUEST_TIMES = DEBUG && options.getBooleanOption(DEBUG_JDI_REQUEST_TIMES_FLAG, false);
DEBUG_AST_EVAL = DEBUG && options.getBooleanOption(DEBUG_AST_EVALUATIONS_FLAG, false);
DEBUG_AST_EVAL_THREAD_TRACE = DEBUG && options.getBooleanOption(DEBUG_AST_EVALUATIONS_CALLING_THREADS_FLAG, false);
+ DEBUG_JDI_VEBOSE = DEBUG && options.getBooleanOption(DEBUG_JDI_VERBOSE_FLAG, false);
+ if (DEBUG && DEBUG_JDI_VEBOSE) {
+ DEBUG_JDI_VEBOSE_FILE = options.getOption(DEBUG_JDI_VERBOSE_FILE);
+ }
}
/**
- * Prints the given message to System.out and to the OSGi tracing (if started)
+ * Prints the given message to the OSGi tracing (if started)
* @param option the option or <code>null</code>
* @param message the message to print or <code>null</code>
* @param throwable the {@link Throwable} or <code>null</code>
* @since 3.8
*/
public static void trace(String option, String message, Throwable throwable) {
- System.out.println(message);
if(fgDebugTrace != null) {
fgDebugTrace.trace(option, message, throwable);
}
}
/**
- * Prints the given message to System.out and to the OSGi tracing (if enabled)
+ * Prints the given message to the OSGi tracing (if enabled)
*
* @param message the message or <code>null</code>
* @since 3.8
diff --git a/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/JDIDebugPlugin.java b/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/JDIDebugPlugin.java
index b1ce079..9d209fd 100644
--- a/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/JDIDebugPlugin.java
+++ b/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/JDIDebugPlugin.java
@@ -401,7 +401,7 @@ public class JDIDebugPlugin extends Plugin implements IEclipsePreferences.IPrefe
*
* @param t {@link Throwable} to log
*/
- public static void log(Throwable t) {
+ public static void logError(String message, Throwable t) {
Throwable top = t;
if (t instanceof CoreException) {
CoreException de = (CoreException) t;
@@ -413,7 +413,17 @@ public class JDIDebugPlugin extends Plugin implements IEclipsePreferences.IPrefe
// this message is intentionally not internationalized, as an exception
// may be due to the resource bundle itself
log(new Status(IStatus.ERROR, getUniqueIdentifier(), INTERNAL_ERROR,
- "Internal error logged from JDI Debug: ", top)); //$NON-NLS-1$
+ message, top));
+ }
+
+ /**
+ * Logs the specified {@link Throwable} with this plug-in's log.
+ *
+ * @param t
+ * {@link Throwable} to log
+ */
+ public static void log(Throwable t) {
+ logError("Internal error logged from JDI Debug: ", t); //$NON-NLS-1$
}
/**
diff --git a/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/breakpoints/JavaBreakpoint.java b/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/breakpoints/JavaBreakpoint.java
index 6265a1e..42c1643 100644
--- a/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/breakpoints/JavaBreakpoint.java
+++ b/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/breakpoints/JavaBreakpoint.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2018 IBM Corporation and others.
+ * Copyright (c) 2000, 2022 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -471,7 +471,7 @@ public abstract class JavaBreakpoint extends Breakpoint implements IJavaBreakpoi
}
}
- protected void disableTriggerPoint(Event event) {
+ protected void disableTriggerPoint(@SuppressWarnings("unused") Event event) {
try{
if (isTriggerPoint() && isEnabled()) {
if (this instanceof JavaLineBreakpoint) {
diff --git a/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/logicalstructures/JavaLogicalStructure.java b/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/logicalstructures/JavaLogicalStructure.java
index 12655f7..e2b780c 100644
--- a/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/logicalstructures/JavaLogicalStructure.java
+++ b/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/logicalstructures/JavaLogicalStructure.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2004, 2015 IBM Corporation and others.
+ * Copyright (c) 2004, 2022 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -56,6 +56,7 @@ import org.eclipse.jdt.internal.debug.core.model.JDIValue;
import com.sun.jdi.VMDisconnectedException;
+@SuppressWarnings("restriction")
public class JavaLogicalStructure implements ILogicalStructureType, ILogicalStructureTypeDelegate3 {
private static IStatusHandler fgStackFrameProvider;
diff --git a/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/model/JDIStackFrame.java b/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/model/JDIStackFrame.java
index 778b2e9..0775179 100644
--- a/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/model/JDIStackFrame.java
+++ b/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/model/JDIStackFrame.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2020 IBM Corporation and others.
+ * Copyright (c) 2000, 2022 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -1574,6 +1574,7 @@ public class JDIStackFrame extends JDIDebugElement implements IJavaStackFrame {
/**
* @see org.eclipse.debug.core.model.IFilteredStep#stepWithFilters()
*/
+ @SuppressWarnings("deprecation")
@Override
public void stepWithFilters() throws DebugException {
((IJavaThread) getThread()).stepWithFilters();
diff --git a/org.eclipse.jdt.debug/pom.xml b/org.eclipse.jdt.debug/pom.xml
index b314372..91ca772 100644
--- a/org.eclipse.jdt.debug/pom.xml
+++ b/org.eclipse.jdt.debug/pom.xml
@@ -14,10 +14,10 @@
<parent>
<artifactId>eclipse.jdt.debug</artifactId>
<groupId>eclipse.jdt.debug</groupId>
- <version>4.26.0-SNAPSHOT</version>
+ <version>4.27.0-SNAPSHOT</version>
</parent>
<groupId>org.eclipse.jdt</groupId>
<artifactId>org.eclipse.jdt.debug</artifactId>
- <version>3.20.0-SNAPSHOT</version>
+ <version>3.20.100-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/org.eclipse.jdt.launching.macosx/pom.xml b/org.eclipse.jdt.launching.macosx/pom.xml
index d4346b8..8fdf0c8 100644
--- a/org.eclipse.jdt.launching.macosx/pom.xml
+++ b/org.eclipse.jdt.launching.macosx/pom.xml
@@ -14,7 +14,7 @@
<parent>
<artifactId>eclipse.jdt.debug</artifactId>
<groupId>eclipse.jdt.debug</groupId>
- <version>4.26.0-SNAPSHOT</version>
+ <version>4.27.0-SNAPSHOT</version>
</parent>
<groupId>org.eclipse.jdt</groupId>
<artifactId>org.eclipse.jdt.launching.macosx</artifactId>
diff --git a/org.eclipse.jdt.launching.ui.macosx/pom.xml b/org.eclipse.jdt.launching.ui.macosx/pom.xml
index c4c7668..f7382f4 100644
--- a/org.eclipse.jdt.launching.ui.macosx/pom.xml
+++ b/org.eclipse.jdt.launching.ui.macosx/pom.xml
@@ -14,7 +14,7 @@
<parent>
<artifactId>eclipse.jdt.debug</artifactId>
<groupId>eclipse.jdt.debug</groupId>
- <version>4.26.0-SNAPSHOT</version>
+ <version>4.27.0-SNAPSHOT</version>
</parent>
<groupId>org.eclipse.jdt</groupId>
<artifactId>org.eclipse.jdt.launching.ui.macosx</artifactId>
diff --git a/org.eclipse.jdt.launching/META-INF/MANIFEST.MF b/org.eclipse.jdt.launching/META-INF/MANIFEST.MF
index be059d2..15f53d1 100644
--- a/org.eclipse.jdt.launching/META-INF/MANIFEST.MF
+++ b/org.eclipse.jdt.launching/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.jdt.launching; singleton:=true
-Bundle-Version: 3.19.800.qualifier
+Bundle-Version: 3.19.900.qualifier
Bundle-Activator: org.eclipse.jdt.internal.launching.LaunchingPlugin
Bundle-Vendor: %providerName
Bundle-Localization: plugin
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/JavaLaunchableTester.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/JavaLaunchableTester.java
index 203146d..2a00e2d 100644
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/JavaLaunchableTester.java
+++ b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/JavaLaunchableTester.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2005, 2017 IBM Corporation and others.
+ * Copyright (c) 2005, 2022 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -424,6 +424,7 @@ public class JavaLaunchableTester extends PropertyTester {
return false;
}
+ @SuppressWarnings("deprecation")
private int readName(IScanner scanner, StringBuilder buf) throws InvalidInputException {
int tok= scanner.getNextToken();
while (tok == ITerminalSymbols.TokenNameIdentifier) {
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/SocketAttachConnector.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/SocketAttachConnector.java
index d03bb83..c024040 100644
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/SocketAttachConnector.java
+++ b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/SocketAttachConnector.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2015 IBM Corporation and others.
+ * Copyright (c) 2000, 2022 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -47,6 +47,7 @@ import com.sun.jdi.connect.IllegalConnectorArgumentsException;
/**
* A standard socket attaching connector
*/
+@SuppressWarnings("deprecation")
public class SocketAttachConnector implements IVMConnector {
/**
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/Standard11xVMRunner.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/Standard11xVMRunner.java
index 16758a9..e3dd0de 100644
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/Standard11xVMRunner.java
+++ b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/Standard11xVMRunner.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2012 IBM Corporation and others.
+ * Copyright (c) 2000, 2022 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -37,6 +37,7 @@ import org.eclipse.jdt.launching.VMRunnerConfiguration;
/**
* A 1.1.x VM runner
*/
+@SuppressWarnings("deprecation")
public class Standard11xVMRunner extends StandardVMRunner {
public Standard11xVMRunner(IVMInstall vmInstance) {
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/environments/ExecutionEnvironment.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/environments/ExecutionEnvironment.java
index 1b05fa8..1829439 100644
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/environments/ExecutionEnvironment.java
+++ b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/environments/ExecutionEnvironment.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2005, 2019 IBM Corporation and others.
+ * Copyright (c) 2005, 2022 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -447,6 +447,7 @@ class ExecutionEnvironment implements IExecutionEnvironment {
* @param path bundle relative path to properties file
* @return properties or <code>null</code> if none
*/
+ @SuppressWarnings("deprecation")
private Properties getJavaProfileProperties(Bundle bundle, String path) {
Properties profile = new Properties();
URL profileURL = bundle.getEntry(path);
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/sourcelookup/advanced/FileHashing.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/sourcelookup/advanced/FileHashing.java
index 87f3ea6..dda1889 100644
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/sourcelookup/advanced/FileHashing.java
+++ b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/sourcelookup/advanced/FileHashing.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2011-2016 Igor Fedorenko
+ * Copyright (c) 2011, 2022 Igor Fedorenko
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -128,7 +128,7 @@ public class FileHashing {
@SuppressWarnings("serial")
public HasherImpl(int cacheSize) {
- this.cache = new LinkedHashMap<CacheKey, HashCode>() {
+ this.cache = new LinkedHashMap<>() {
@Override
protected boolean removeEldestEntry(Map.Entry<CacheKey, HashCode> eldest) {
return size() > cacheSize;
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/JavaRuntime.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/JavaRuntime.java
index ead97d3..4093c90 100644
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/JavaRuntime.java
+++ b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/JavaRuntime.java
@@ -116,6 +116,7 @@ import org.xml.sax.SAXException;
* </p>
* @noinstantiate This class is not intended to be instantiated by clients.
*/
+@SuppressWarnings("deprecation")
public final class JavaRuntime {
/**
@@ -1769,7 +1770,6 @@ public final class JavaRuntime {
public static IVMInstall computeVMInstall(ILaunchConfiguration configuration) throws CoreException {
String jreAttr = configuration.getAttribute(IJavaLaunchConfigurationConstants.ATTR_JRE_CONTAINER_PATH, (String)null);
if (jreAttr == null) {
- @SuppressWarnings("deprecation")
String type = configuration.getAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_TYPE, (String)null);
if (type == null) {
IJavaProject proj = getJavaProject(configuration);
@@ -1780,7 +1780,6 @@ public final class JavaRuntime {
}
}
} else {
- @SuppressWarnings("deprecation")
String name = configuration.getAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_NAME, (String)null);
return resolveVM(type, name, configuration);
}
@@ -2514,7 +2513,6 @@ public final class JavaRuntime {
String jreAttr = configuration.getAttribute(IJavaLaunchConfigurationConstants.ATTR_JRE_CONTAINER_PATH, (String)null);
IPath containerPath = null;
if (jreAttr == null) {
- @SuppressWarnings("deprecation")
String type = configuration.getAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_TYPE, (String)null);
if (type == null) {
// default JRE for the launch configuration
@@ -2528,7 +2526,6 @@ public final class JavaRuntime {
return computeJREEntry(proj);
}
} else {
- @SuppressWarnings("deprecation")
String name = configuration.getAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_NAME, (String)null);
if (name != null) {
containerPath = newDefaultJREContainerPath().append(type).append(name);
@@ -2709,7 +2706,6 @@ public final class JavaRuntime {
* @return the preference store for the launching plug-in
* @since 2.0
*/
- @SuppressWarnings("deprecation")
public static Preferences getPreferences() {
return LaunchingPlugin.getDefault().getPluginPreferences();
}
diff --git a/org.eclipse.jdt.launching/pom.xml b/org.eclipse.jdt.launching/pom.xml
index 3508ed3..00687c2 100644
--- a/org.eclipse.jdt.launching/pom.xml
+++ b/org.eclipse.jdt.launching/pom.xml
@@ -14,11 +14,11 @@
<parent>
<artifactId>eclipse.jdt.debug</artifactId>
<groupId>eclipse.jdt.debug</groupId>
- <version>4.26.0-SNAPSHOT</version>
+ <version>4.27.0-SNAPSHOT</version>
</parent>
<groupId>org.eclipse.jdt</groupId>
<artifactId>org.eclipse.jdt.launching</artifactId>
- <version>3.19.800-SNAPSHOT</version>
+ <version>3.19.900-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
<build>
diff --git a/pom.xml b/pom.xml
index fad78c1..f44490b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -15,7 +15,7 @@
<parent>
<groupId>org.eclipse</groupId>
<artifactId>eclipse-platform-parent</artifactId>
- <version>4.26.0-SNAPSHOT</version>
+ <version>4.27.0-SNAPSHOT</version>
<relativePath>../eclipse-platform-parent</relativePath>
</parent>
Debdiff
[The following lists of changes regard files as different if they have different names, permissions or owners.]
Files in second set of .debs but not in first
-rw-r--r-- root/root /usr/share/java/eclipse-jdt-debug-3.20.100.jar -rw-r--r-- root/root /usr/share/java/eclipse-jdt-debug-ui-3.12.1000.jar -rw-r--r-- root/root /usr/share/java/eclipse-jdt-launching-3.19.900.jar -rw-r--r-- root/root /usr/share/maven-repo/org/eclipse/jdt/org.eclipse.jdt.debug.ui/3.12.1000/org.eclipse.jdt.debug.ui-3.12.1000.pom -rw-r--r-- root/root /usr/share/maven-repo/org/eclipse/jdt/org.eclipse.jdt.debug/3.20.100/org.eclipse.jdt.debug-3.20.100.pom -rw-r--r-- root/root /usr/share/maven-repo/org/eclipse/jdt/org.eclipse.jdt.launching/3.19.900/org.eclipse.jdt.launching-3.19.900.pom lrwxrwxrwx root/root /usr/lib/eclipse/plugins/org.eclipse.jdt.debug.ui_3.12.1000.jar -> ../../../share/java/eclipse-jdt-debug-ui.jar lrwxrwxrwx root/root /usr/lib/eclipse/plugins/org.eclipse.jdt.debug_3.20.100.jar -> ../../../share/java/eclipse-jdt-debug.jar lrwxrwxrwx root/root /usr/lib/eclipse/plugins/org.eclipse.jdt.launching_3.19.900.jar -> ../../../share/java/eclipse-jdt-launching.jar lrwxrwxrwx root/root /usr/share/java/eclipse-jdt-debug-ui.jar -> eclipse-jdt-debug-ui-3.12.1000.jar lrwxrwxrwx root/root /usr/share/java/eclipse-jdt-debug.jar -> eclipse-jdt-debug-3.20.100.jar lrwxrwxrwx root/root /usr/share/java/eclipse-jdt-launching.jar -> eclipse-jdt-launching-3.19.900.jar lrwxrwxrwx root/root /usr/share/maven-repo/org/eclipse/jdt/org.eclipse.jdt.debug.ui/3.12.1000/org.eclipse.jdt.debug.ui-3.12.1000.jar -> ../../../../../../java/eclipse-jdt-debug-ui-3.12.1000.jar lrwxrwxrwx root/root /usr/share/maven-repo/org/eclipse/jdt/org.eclipse.jdt.debug.ui/debian/org.eclipse.jdt.debug.ui-debian.jar -> ../../../../../../java/eclipse-jdt-debug-ui-3.12.1000.jar lrwxrwxrwx root/root /usr/share/maven-repo/org/eclipse/jdt/org.eclipse.jdt.debug/3.20.100/org.eclipse.jdt.debug-3.20.100.jar -> ../../../../../../java/eclipse-jdt-debug-3.20.100.jar lrwxrwxrwx root/root /usr/share/maven-repo/org/eclipse/jdt/org.eclipse.jdt.debug/debian/org.eclipse.jdt.debug-debian.jar -> ../../../../../../java/eclipse-jdt-debug-3.20.100.jar lrwxrwxrwx root/root /usr/share/maven-repo/org/eclipse/jdt/org.eclipse.jdt.launching/3.19.900/org.eclipse.jdt.launching-3.19.900.jar -> ../../../../../../java/eclipse-jdt-launching-3.19.900.jar lrwxrwxrwx root/root /usr/share/maven-repo/org/eclipse/jdt/org.eclipse.jdt.launching/debian/org.eclipse.jdt.launching-debian.jar -> ../../../../../../java/eclipse-jdt-launching-3.19.900.jar
Files in first set of .debs but not in second
-rw-r--r-- root/root /usr/share/java/eclipse-jdt-debug-3.20.0.jar -rw-r--r-- root/root /usr/share/java/eclipse-jdt-debug-ui-3.12.900.jar -rw-r--r-- root/root /usr/share/java/eclipse-jdt-launching-3.19.800.jar -rw-r--r-- root/root /usr/share/maven-repo/org/eclipse/jdt/org.eclipse.jdt.debug.ui/3.12.900/org.eclipse.jdt.debug.ui-3.12.900.pom -rw-r--r-- root/root /usr/share/maven-repo/org/eclipse/jdt/org.eclipse.jdt.debug/3.20.0/org.eclipse.jdt.debug-3.20.0.pom -rw-r--r-- root/root /usr/share/maven-repo/org/eclipse/jdt/org.eclipse.jdt.launching/3.19.800/org.eclipse.jdt.launching-3.19.800.pom lrwxrwxrwx root/root /usr/lib/eclipse/plugins/org.eclipse.jdt.debug.ui_3.12.900.jar -> ../../../share/java/eclipse-jdt-debug-ui.jar lrwxrwxrwx root/root /usr/lib/eclipse/plugins/org.eclipse.jdt.debug_3.20.0.jar -> ../../../share/java/eclipse-jdt-debug.jar lrwxrwxrwx root/root /usr/lib/eclipse/plugins/org.eclipse.jdt.launching_3.19.800.jar -> ../../../share/java/eclipse-jdt-launching.jar lrwxrwxrwx root/root /usr/share/java/eclipse-jdt-debug-ui.jar -> eclipse-jdt-debug-ui-3.12.900.jar lrwxrwxrwx root/root /usr/share/java/eclipse-jdt-debug.jar -> eclipse-jdt-debug-3.20.0.jar lrwxrwxrwx root/root /usr/share/java/eclipse-jdt-launching.jar -> eclipse-jdt-launching-3.19.800.jar lrwxrwxrwx root/root /usr/share/maven-repo/org/eclipse/jdt/org.eclipse.jdt.debug.ui/3.12.900/org.eclipse.jdt.debug.ui-3.12.900.jar -> ../../../../../../java/eclipse-jdt-debug-ui-3.12.900.jar lrwxrwxrwx root/root /usr/share/maven-repo/org/eclipse/jdt/org.eclipse.jdt.debug.ui/debian/org.eclipse.jdt.debug.ui-debian.jar -> ../../../../../../java/eclipse-jdt-debug-ui-3.12.900.jar lrwxrwxrwx root/root /usr/share/maven-repo/org/eclipse/jdt/org.eclipse.jdt.debug/3.20.0/org.eclipse.jdt.debug-3.20.0.jar -> ../../../../../../java/eclipse-jdt-debug-3.20.0.jar lrwxrwxrwx root/root /usr/share/maven-repo/org/eclipse/jdt/org.eclipse.jdt.debug/debian/org.eclipse.jdt.debug-debian.jar -> ../../../../../../java/eclipse-jdt-debug-3.20.0.jar lrwxrwxrwx root/root /usr/share/maven-repo/org/eclipse/jdt/org.eclipse.jdt.launching/3.19.800/org.eclipse.jdt.launching-3.19.800.jar -> ../../../../../../java/eclipse-jdt-launching-3.19.800.jar lrwxrwxrwx root/root /usr/share/maven-repo/org/eclipse/jdt/org.eclipse.jdt.launching/debian/org.eclipse.jdt.launching-debian.jar -> ../../../../../../java/eclipse-jdt-launching-3.19.800.jar
Control files of package libeclipse-jdt-debug-java: lines which differ (wdiff format)
Source: eclipse-jdt-debug (4.26-1~jan+control1) (20110909+git20230120.1.1860795+ds-1~jan+nus1)
Control files of package libeclipse-jdt-debug-ui-java: lines which differ (wdiff format)
Source: eclipse-jdt-debug (4.26-1~jan+control1) (20110909+git20230120.1.1860795+ds-1~jan+nus1)
Control files of package libeclipse-jdt-launching-java: lines which differ (wdiff format)
Source: eclipse-jdt-debug (4.26-1~jan+control1) (20110909+git20230120.1.1860795+ds-1~jan+nus1)