From b5249bcdb605f7d542affef8eb44d6217bfc57a6 Mon Sep 17 00:00:00 2001 From: NEETHIKA SUMESH Date: Tue, 21 Apr 2026 11:19:35 +0530 Subject: [PATCH] Use instanceof pattern matching use java 16 instaceof pattern matching by automatic code clean-up in JDT Debug.ui packages. --- .../debug/ui/launchConfigurations/JavaJRETab.java | 3 +-- .../ui/launchConfigurations/JavaLaunchShortcut.java | 3 +-- .../internal/debug/ui/JDIElementImageDescriptor.java | 3 +-- .../jdt/internal/debug/ui/JDIImageDescriptor.java | 3 +-- .../jdt/internal/debug/ui/JDIModelPresentation.java | 12 ++++-------- .../eclipse/jdt/internal/debug/ui/LambdaUtils.java | 3 +-- .../jdt/internal/debug/ui/MemberActionFilter.java | 6 ++---- .../debug/ui/console/JavaExceptionHyperLink.java | 3 +-- .../internal/debug/ui/jres/JREsPreferencePage.java | 6 ++---- .../debug/ui/jres/LibraryContentProvider.java | 3 +-- .../internal/debug/ui/jres/LibraryLabelProvider.java | 6 ++---- .../jdt/internal/debug/ui/jres/LibraryStandin.java | 3 +-- .../search/LaunchConfigurationQueryParticipant.java | 12 ++++-------- .../JavaVariableColumnPresentationFactory.java | 3 +-- .../debug/ui/variables/JavaVariableEditor.java | 3 +-- 15 files changed, 24 insertions(+), 48 deletions(-) diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/launchConfigurations/JavaJRETab.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/launchConfigurations/JavaJRETab.java index 6d00ae6d8d..ca46d2e31e 100644 --- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/launchConfigurations/JavaJRETab.java +++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/launchConfigurations/JavaJRETab.java @@ -326,8 +326,7 @@ private IStatus checkCompliance() { vm = JavaRuntime.getVMInstall(vmPath); } String environmentId = JavaRuntime.getExecutionEnvironmentId(vmPath); - if(vm instanceof AbstractVMInstall) { - AbstractVMInstall install = (AbstractVMInstall) vm; + if(vm instanceof AbstractVMInstall install) { String vmver = install.getJavaVersion(); if(vmver != null) { int val = JavaCore.compareJavaVersions(compliance, vmver); diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/launchConfigurations/JavaLaunchShortcut.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/launchConfigurations/JavaLaunchShortcut.java index 8e04815379..3d359f76e6 100644 --- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/launchConfigurations/JavaLaunchShortcut.java +++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/launchConfigurations/JavaLaunchShortcut.java @@ -289,8 +289,7 @@ public IResource getLaunchableResource(IEditorPart editorpart) { @Override public IResource getLaunchableResource(ISelection selection) { - if (selection instanceof IStructuredSelection) { - IStructuredSelection ss = (IStructuredSelection) selection; + if (selection instanceof IStructuredSelection ss) { if (ss.size() == 1) { Object element = ss.getFirstElement(); if (element instanceof IAdaptable) { diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JDIElementImageDescriptor.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JDIElementImageDescriptor.java index a1a5416b9b..64411a4570 100644 --- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JDIElementImageDescriptor.java +++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JDIElementImageDescriptor.java @@ -73,10 +73,9 @@ protected Point getSize() { */ @Override public boolean equals(Object object) { - if (!(object instanceof JDIElementImageDescriptor)) { + if (!(object instanceof JDIElementImageDescriptor other)) { return false; } - JDIElementImageDescriptor other = (JDIElementImageDescriptor) object; return (fBaseImage.equals(other.fBaseImage) && fFlags == other.fFlags); } diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JDIImageDescriptor.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JDIImageDescriptor.java index 02a2086f47..f464e9f721 100644 --- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JDIImageDescriptor.java +++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JDIImageDescriptor.java @@ -99,11 +99,10 @@ protected Point getSize() { */ @Override public boolean equals(Object object) { - if (!(object instanceof JDIImageDescriptor)){ + if (!(object instanceof JDIImageDescriptor other)){ return false; } - JDIImageDescriptor other= (JDIImageDescriptor)object; return (getBaseImage().equals(other.getBaseImage()) && getFlags() == other.getFlags()); } 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 72ce3215ea..9cb943c110 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 @@ -401,8 +401,7 @@ protected String getThreadText(IJavaThread thread, boolean qualified) throws Cor if (exName != null) { args = new String[] { thread.getName(), exName }; } - } else if (breakpoint instanceof IJavaWatchpoint) { - IJavaWatchpoint wp = (IJavaWatchpoint)breakpoint; + } else if (breakpoint instanceof IJavaWatchpoint wp) { String fieldName = wp.getFieldName(); args = new String[] {thread.getName(), fieldName, typeName}; if (wp.isAccessSuspend(thread.getDebugTarget())) { @@ -410,8 +409,7 @@ protected String getThreadText(IJavaThread thread, boolean qualified) throws Cor } else { key.append("_fieldmodification"); //$NON-NLS-1$ } - } else if (breakpoint instanceof IJavaMethodBreakpoint) { - IJavaMethodBreakpoint me= (IJavaMethodBreakpoint)breakpoint; + } else if (breakpoint instanceof IJavaMethodBreakpoint me) { String methodName= me.getMethodName(); args = new String[] {thread.getName(), methodName, typeName}; if (me.isEntrySuspend(thread.getDebugTarget())) { @@ -419,8 +417,7 @@ protected String getThreadText(IJavaThread thread, boolean qualified) throws Cor } else { key.append("_methodexit"); //$NON-NLS-1$ } - } else if (breakpoint instanceof IJavaLineBreakpoint) { - IJavaLineBreakpoint jlbp = (IJavaLineBreakpoint)breakpoint; + } else if (breakpoint instanceof IJavaLineBreakpoint jlbp) { int lineNumber= jlbp.getLineNumber(); if (lineNumber > -1) { args = new String[] {thread.getName(), String.valueOf(lineNumber), typeName}; @@ -1021,9 +1018,8 @@ protected Image getExpressionImage(Object expression) { */ private int computeJDIAdornmentFlags(Object element) { try { - if (element instanceof IJavaThread) { + if (element instanceof IJavaThread javaThread) { int flag= 0; - IJavaThread javaThread = ((IJavaThread)element); if (ThreadMonitorManager.getDefault().isInDeadlock(javaThread)) { flag= JDIImageDescriptor.IN_DEADLOCK; } diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/LambdaUtils.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/LambdaUtils.java index 9aadc2369b..b7e113f2cf 100644 --- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/LambdaUtils.java +++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/LambdaUtils.java @@ -98,10 +98,9 @@ public static IVariable findLocalVariableFromLambdaScope(IJavaStackFrame frame, } private static List getArgumentTypeNames(IJavaElement parent) throws CoreException { - if (!(parent instanceof IMethod)) { + if (!(parent instanceof IMethod method)) { return null; } - IMethod method = (IMethod) parent; IType type = method.getDeclaringType(); if (type == null) { return null; diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/MemberActionFilter.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/MemberActionFilter.java index 7aeb4aa14d..7bfe0ce7fd 100644 --- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/MemberActionFilter.java +++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/MemberActionFilter.java @@ -39,8 +39,7 @@ public class MemberActionFilter implements IActionFilter { @Override public boolean testAttribute(Object target, String name, String value) { if (name.equals("MemberActionFilter")) { //$NON-NLS-1$ - if (target instanceof IMember) { - IMember member = (IMember) target; + if (target instanceof IMember member) { if (value.equals("isRemote")) { //$NON-NLS-1$ IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow(); if(window != null) { @@ -95,8 +94,7 @@ public boolean testAttribute(Object target, String name, String value) { IAdaptable adapt = DebugUITools.getDebugContext(); if(adapt != null) { IDebugTarget adapter = adapt.getAdapter(IDebugTarget.class); - if(adapter instanceof IJavaDebugTarget) { - IJavaDebugTarget dtarget = (IJavaDebugTarget) adapter; + if(adapter instanceof IJavaDebugTarget dtarget) { return dtarget.supportsInstanceRetrieval(); } } diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/console/JavaExceptionHyperLink.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/console/JavaExceptionHyperLink.java index 2bcbe90664..4f7d2de8c4 100644 --- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/console/JavaExceptionHyperLink.java +++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/console/JavaExceptionHyperLink.java @@ -67,8 +67,7 @@ public void linkActivated() { IBreakpoint[] breakpoints = DebugPlugin.getDefault().getBreakpointManager().getBreakpoints(JDIDebugModel.getPluginIdentifier()); for (int i = 0; i < breakpoints.length; i++) { IBreakpoint breakpoint = breakpoints[i]; - if (breakpoint instanceof IJavaExceptionBreakpoint) { - IJavaExceptionBreakpoint exceptionBreakpoint = (IJavaExceptionBreakpoint) breakpoint; + if (breakpoint instanceof IJavaExceptionBreakpoint exceptionBreakpoint) { if (fExceptionName.equals(exceptionBreakpoint.getTypeName())) { // reset enabled setting to true but save original value to reset if user cancels dialog exceptionBreakpoint.getMarker().setAttribute(JavaBreakpointPage.ATTR_ENABLED_SETTING_ON_CANCEL, Boolean.toString(exceptionBreakpoint.isEnabled())); diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/jres/JREsPreferencePage.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/jres/JREsPreferencePage.java index 30fdef7ac1..99f5f17f89 100644 --- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/jres/JREsPreferencePage.java +++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/jres/JREsPreferencePage.java @@ -199,8 +199,7 @@ private void validateComplianceAndJRE(IVMInstall vmInstall) { else { String latest = JavaCore.getAllJavaSourceVersionsSupportedByCompiler().last(); String vmver = null; - if (vmInstall instanceof AbstractVMInstall) { - AbstractVMInstall vm = (AbstractVMInstall) vmInstall; + if (vmInstall instanceof AbstractVMInstall vm) { vmver = vm.getJavaVersion(); } if (vmver == null) { @@ -255,8 +254,7 @@ private String getCurrentCompilerCompliance() { * @since 3.3 */ private boolean supportsCurrentCompliance(IVMInstall vm, String compliance) { - if(vm instanceof AbstractVMInstall) { - AbstractVMInstall install = (AbstractVMInstall) vm; + if(vm instanceof AbstractVMInstall install) { String vmver = install.getJavaVersion(); if(vmver == null) { vmver = getVersionFromRealVM(vm); diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/jres/LibraryContentProvider.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/jres/LibraryContentProvider.java index ab850c5db4..bc798012a9 100644 --- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/jres/LibraryContentProvider.java +++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/jres/LibraryContentProvider.java @@ -117,8 +117,7 @@ public Object[] getElements(Object inputElement) { */ @Override public Object[] getChildren(Object parentElement) { - if (parentElement instanceof LibraryStandin) { - LibraryStandin standin= (LibraryStandin) parentElement; + if (parentElement instanceof LibraryStandin standin) { Object[] children= fChildren.get(standin); if (children == null) { children = new Object[] { new SubElement(standin, SubElement.SOURCE_PATH), new SubElement(standin, SubElement.JAVADOC_URL), diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/jres/LibraryLabelProvider.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/jres/LibraryLabelProvider.java index cbd11438f4..3fd51cd40c 100644 --- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/jres/LibraryLabelProvider.java +++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/jres/LibraryLabelProvider.java @@ -44,8 +44,7 @@ public class LibraryLabelProvider extends LabelProvider { public Image getImage(Object element) { String key = null; IStatus status = Status.OK_STATUS; - if (element instanceof LibraryStandin) { - LibraryStandin library= (LibraryStandin) element; + if (element instanceof LibraryStandin library) { IPath sourcePath= library.getSystemLibrarySourcePath(); if (sourcePath != null && !Path.EMPTY.equals(sourcePath)) { key = ISharedImages.IMG_OBJS_EXTERNAL_ARCHIVE_WITH_SOURCE; @@ -88,8 +87,7 @@ public Image getImage(Object element) { public String getText(Object element) { if (element instanceof LibraryStandin) { return ((LibraryStandin)element).getSystemLibraryPath().toOSString(); - } else if (element instanceof SubElement) { - SubElement subElement= (SubElement) element; + } else if (element instanceof SubElement subElement) { StringBuilder text= new StringBuilder(); switch (subElement.getType()) { case SubElement.SOURCE_PATH: diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/jres/LibraryStandin.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/jres/LibraryStandin.java index b3eeaf4e96..8471285c27 100644 --- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/jres/LibraryStandin.java +++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/jres/LibraryStandin.java @@ -108,8 +108,7 @@ void setPackageRootPath(IPath path) { */ @Override public boolean equals(Object obj) { - if (obj instanceof LibraryStandin) { - LibraryStandin lib = (LibraryStandin)obj; + if (obj instanceof LibraryStandin lib) { return getSystemLibraryPath().equals(lib.getSystemLibraryPath()) && equals(getSystemLibrarySourcePath(), lib.getSystemLibrarySourcePath()) && equals(getPackageRootPath(), lib.getPackageRootPath()) 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 4ba855bd2d..838560909f 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 @@ -96,11 +96,9 @@ public void search(ISearchRequestor requestor, QuerySpecification query, IProgre SubMonitor subMon = SubMonitor.convert(monitor, 8); try { Pattern pattern = null; - if (query instanceof ElementQuerySpecification) { - ElementQuerySpecification elementQuery = (ElementQuerySpecification) query; + if (query instanceof ElementQuerySpecification elementQuery) { IJavaElement element = elementQuery.getElement(); - if(element instanceof IMember) { - IMember member = (IMember) element; + if(element instanceof IMember member) { IType type = null; if(member.getElementType() == IJavaElement.TYPE) { type = (IType) member; @@ -121,8 +119,7 @@ else if(member.getElementType() == IJavaElement.METHOD) { return; } } - if (query instanceof PatternQuerySpecification) { - PatternQuerySpecification patternQuery = (PatternQuerySpecification) query; + if (query instanceof PatternQuerySpecification patternQuery) { int flags = patternQuery.isCaseSensitive() ? 0 : Pattern.CASE_INSENSITIVE; String quotedPattern = quotePattern(patternQuery.getPattern()); @@ -197,8 +194,7 @@ private boolean isValid(QuerySpecification query) { IJavaElement element = ((ElementQuerySpecification) query).getElement(); return element.getElementType() == IJavaElement.TYPE || element.getElementType() == IJavaElement.METHOD; } - if (query instanceof PatternQuerySpecification) { - PatternQuerySpecification patternQuery = (PatternQuerySpecification) query; + if (query instanceof PatternQuerySpecification patternQuery) { switch (patternQuery.getSearchFor()) { case IJavaSearchConstants.UNKNOWN: case IJavaSearchConstants.TYPE: diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/variables/JavaVariableColumnPresentationFactory.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/variables/JavaVariableColumnPresentationFactory.java index 5a7fcb75a4..47a8c63c6b 100644 --- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/variables/JavaVariableColumnPresentationFactory.java +++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/variables/JavaVariableColumnPresentationFactory.java @@ -50,8 +50,7 @@ public String getColumnPresentationId(IPresentationContext context, Object eleme private boolean isApplicable(IPresentationContext context, Object element) { IJavaStackFrame frame = null; if (IDebugUIConstants.ID_VARIABLE_VIEW.equals(context.getId())) { - if (element instanceof IAdaptable) { - IAdaptable adaptable = (IAdaptable)element; + if (element instanceof IAdaptable adaptable) { frame = adaptable.getAdapter(IJavaStackFrame.class); } } diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/variables/JavaVariableEditor.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/variables/JavaVariableEditor.java index 78713bb7e9..498d0c5166 100644 --- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/variables/JavaVariableEditor.java +++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/variables/JavaVariableEditor.java @@ -42,8 +42,7 @@ public ICellModifier getCellModifier(IPresentationContext context, Object elemen */ @Override public CellEditor getCellEditor(IPresentationContext context, String columnId, Object element, Composite parent) { - if (element instanceof IJavaVariable) { - IJavaVariable var = (IJavaVariable) element; + if (element instanceof IJavaVariable var) { if (JavaVariableCellModifier.isBoolean(var)) { return new ComboBoxCellEditor(parent, new String[]{Boolean.toString(true), Boolean.toString(false)}, SWT.READ_ONLY); }