Merge remote-tracking branch 'origin/master' into BETA_JAVA16

Change-Id: I1a4b6784554665b84936a66afcd4f5dae3789cbe
diff --git a/org.eclipse.jdt.debug.tests/test.xml b/org.eclipse.jdt.debug.tests/test.xml
index 0fb0feb..ae0ce5e 100644
--- a/org.eclipse.jdt.debug.tests/test.xml
+++ b/org.eclipse.jdt.debug.tests/test.xml
@@ -24,6 +24,7 @@
   <target name="suite">
     <property name="jdt-folder" 
               value="${eclipse-home}/jdt_folder"/>
+  	<property name="org.eclipse.urischeme/skipAutoRegistration" value="true"></property>
     <delete dir="${jdt-folder}" quiet="true"/>
     <ant target="ui-test" antfile="${library-file}" dir="${eclipse-home}">
       <property name="data-dir" value="${jdt-folder}"/>
diff --git a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/AbstractDebugTest.java b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/AbstractDebugTest.java
index 6ad4b65..a6f1483 100644
--- a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/AbstractDebugTest.java
+++ b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/AbstractDebugTest.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2020 IBM Corporation and others.
+ * Copyright (c) 2000, 2021 IBM Corporation and others.
  *
  * This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License 2.0
@@ -318,6 +318,11 @@
 	        	node.putBoolean(ResourcesPlugin.PREF_LIGHTWEIGHT_AUTO_REFRESH, true);
 	        	node.flush();
 	        }
+
+			IEclipsePreferences prefs = InstanceScope.INSTANCE.getNode("org.eclipse.urischeme");
+			if (prefs != null) {
+				prefs.putBoolean("skipAutoRegistration", true);
+			}
 	        loadedPrefs = true;
 		}
     }
diff --git a/org.eclipse.jdt.debug.ui/.settings/.api_filters b/org.eclipse.jdt.debug.ui/.settings/.api_filters
index 2a6baac..0d462e6 100644
--- a/org.eclipse.jdt.debug.ui/.settings/.api_filters
+++ b/org.eclipse.jdt.debug.ui/.settings/.api_filters
@@ -8,6 +8,15 @@
             </message_arguments>
         </filter>
     </resource>
+    <resource path="ui/org/eclipse/jdt/internal/debug/ui/actions/ToggleBreakpointAdapter.java" type="org.eclipse.jdt.internal.debug.ui.actions.ToggleBreakpointAdapter">
+        <filter comment="For Java 15" id="640712815">
+            <message_arguments>
+                <message_argument value="IType"/>
+                <message_argument value="ToggleBreakpointAdapter"/>
+                <message_argument value="isRecord()"/>
+            </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>
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 6802a03..afed9b4 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, 2019 IBM Corporation and others.
+ * Copyright (c) 2000, 2021 IBM Corporation and others.
  *
  * This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License 2.0
@@ -1283,6 +1283,9 @@
 			if (e instanceof IMember) {
 				m = (IMember) e;
 			}
+			if (m != null && m.getParent() instanceof IType && ((IType) m.getParent()).isRecord()) {
+				m = (IMember) m.getParent();
+			}
 		}
 		if (m != null) {
 			return new StructuredSelection(m);