diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/variables/JavaVariableLabelProvider.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/variables/JavaVariableLabelProvider.java index b16df18053..31c5ec9592 100644 --- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/variables/JavaVariableLabelProvider.java +++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/variables/JavaVariableLabelProvider.java @@ -16,6 +16,7 @@ import java.util.HashMap; import java.util.Map; +import org.eclipse.core.runtime.Assert; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.Platform; import org.eclipse.core.runtime.jobs.ISchedulingRule; @@ -55,7 +56,7 @@ */ public class JavaVariableLabelProvider extends VariableLabelProvider implements IPreferenceChangeListener { - private final static JDIModelPresentation fLabelProvider = new JDIModelPresentation(); + private static JDIModelPresentation fLabelProvider = new JDIModelPresentation(); /** * Map of view id to qualified name setting @@ -80,20 +81,14 @@ public JavaVariableLabelProvider() { } } - /* (non-Javadoc) - * @see org.eclipse.debug.internal.ui.elements.adapters.VariableLabelAdapter#getValueText(org.eclipse.debug.core.model.IVariable, org.eclipse.debug.core.model.IValue) - */ @Override protected String getValueText(IVariable variable, IValue value, IPresentationContext context) throws CoreException { - if (value instanceof IJavaValue) { - return fLabelProvider.getFormattedValueText((IJavaValue) value); + if (value instanceof IJavaValue javaValue) { + return fLabelProvider.getFormattedValueText(javaValue); } return super.getValueText(variable, value, context); } - /* (non-Javadoc) - * @see org.eclipse.debug.internal.ui.elements.adapters.VariableLabelAdapter#getValueTypeName(org.eclipse.debug.core.model.IVariable, org.eclipse.debug.core.model.IValue) - */ @Override protected String getValueTypeName(IVariable variable, IValue value, IPresentationContext context) throws CoreException { String typeName= DebugUIMessages.JDIModelPresentation_unknown_type__2; @@ -113,19 +108,15 @@ protected FontData getFontData(TreePath elementPath, IPresentationContext presen return result; } var element = elementPath.getLastSegment(); - if (element instanceof IJavaVariable) { - var variable = (IJavaVariable) element; + if (element instanceof IJavaVariable variable) { var value = variable.getValue(); - if (value instanceof IJavaObject && ((IJavaObject) value).getLabel() != null) { + if (value instanceof IJavaObject javaObject && javaObject.getLabel() != null) { return new FontData(result.getName(), result.getHeight(), result.getStyle() ^ SWT.BOLD); } } return result; } - /* (non-Javadoc) - * @see org.eclipse.debug.internal.ui.elements.adapters.VariableLabelAdapter#getVariableTypeName(org.eclipse.debug.core.model.IVariable) - */ @Override protected String getVariableTypeName(IVariable variable, IPresentationContext context) throws CoreException { String typeName= DebugUIMessages.JDIModelPresentation_unknown_type__2; @@ -142,7 +133,7 @@ protected String getVariableTypeName(IVariable variable, IPresentationContext co * Returns if the the specified presentation context is showing qualified names or not * @return true if the presentation context is showing qualified names, false otherwise */ - private Boolean isShowQualfiiedNames(IPresentationContext context) { + private Boolean isShowQualifiedNames(IPresentationContext context) { Boolean qualified = fQualifiedNameSettings.get(context.getId()); if (qualified == null) { qualified = Boolean.valueOf(Platform.getPreferencesService().getBoolean( @@ -155,14 +146,11 @@ private Boolean isShowQualfiiedNames(IPresentationContext context) { return qualified; } - /* (non-Javadoc) - * @see org.eclipse.debug.internal.ui.elements.adapters.VariableLabelAdapter#getColumnText(org.eclipse.debug.core.model.IVariable, org.eclipse.debug.core.model.IValue, java.lang.String, org.eclipse.debug.internal.ui.viewers.provisional.IPresentationContext) - */ @Override protected String getColumnText(IVariable variable, IValue value, IPresentationContext context, String columnId) throws CoreException { if (JavaVariableColumnPresentation.COLUMN_INSTANCE_ID.equals(columnId)) { - if (value instanceof JDIObjectValue) { - long uniqueId = ((JDIObjectValue)value).getUniqueId(); + if (value instanceof JDIObjectValue objectValue) { + long uniqueId = objectValue.getUniqueId(); if (uniqueId >= 0) { StringBuilder buffer = new StringBuilder(); buffer.append(uniqueId); @@ -172,28 +160,26 @@ protected String getColumnText(IVariable variable, IValue value, IPresentationCo return ""; //$NON-NLS-1$ } if (JavaVariableColumnPresentation.COLUMN_INSTANCE_COUNT.equals(columnId)) { - if (value instanceof IJavaObject) { - IJavaType jType = ((IJavaObject)value).getJavaType(); - if (jType == null && variable instanceof IJavaVariable) { - jType = ((IJavaVariable)variable).getJavaType(); + if (value instanceof IJavaObject javaObject) { + IJavaType jType = javaObject.getJavaType(); + if (jType == null && variable instanceof IJavaVariable javaVariable) { + jType = javaVariable.getJavaType(); } - if (jType instanceof IJavaReferenceType) { - if (!(jType instanceof IJavaInterfaceType)) { - long count = ((IJavaReferenceType)jType).getInstanceCount(); - if (count == -1) { - return DebugUIMessages.JavaVariableLabelProvider_0; - } - StringBuilder buffer = new StringBuilder(); - buffer.append(count); - return buffer.toString(); + if (jType instanceof IJavaReferenceType refType && !(jType instanceof IJavaInterfaceType)) { + long count = refType.getInstanceCount(); + if (count == -1) { + return DebugUIMessages.JavaVariableLabelProvider_0; } + StringBuilder buffer = new StringBuilder(); + buffer.append(count); + return buffer.toString(); } } return ""; //$NON-NLS-1$ } if (JavaVariableColumnPresentation.COLUMN_LABEL.equals(columnId)) { - if (value instanceof IJavaObject) { - String label = ((IJavaObject) value).getLabel(); + if (value instanceof IJavaObject javaObject) { + String label = javaObject.getLabel(); if (label != null) { return label; } @@ -208,7 +194,7 @@ protected String getColumnText(IVariable variable, IValue value, IPresentationCo */ @Override protected void retrieveLabel(ILabelUpdate update) throws CoreException { - Boolean showQ = isShowQualfiiedNames(update.getPresentationContext()); + Boolean showQ = isShowQualifiedNames(update.getPresentationContext()); fQualifiedNames = showQ.booleanValue(); fLabelProvider.setAttribute(JDIModelPresentation.DISPLAY_QUALIFIED_NAMES, showQ); super.retrieveLabel(update); @@ -229,9 +215,6 @@ private void determineSerializationMode(String value) { } } - /* (non-Javadoc) - * @see org.eclipse.debug.internal.ui.model.elements.VariableLabelProvider#getLabel(org.eclipse.jface.viewers.TreePath, org.eclipse.debug.internal.ui.viewers.model.provisional.IPresentationContext, java.lang.String) - */ @Override protected String getLabel(TreePath elementPath, IPresentationContext context, String columnId) throws CoreException { if (columnId == null) { @@ -244,9 +227,6 @@ protected String getLabel(TreePath elementPath, IPresentationContext context, St return super.getLabel(elementPath, context, columnId); } - /* (non-Javadoc) - * @see org.eclipse.debug.internal.ui.model.elements.ElementLabelProvider#getRule(org.eclipse.debug.internal.ui.viewers.model.provisional.ILabelUpdate) - */ @Override protected ISchedulingRule getRule(ILabelUpdate update) { IJavaStackFrame frame = null; @@ -259,11 +239,11 @@ protected ISchedulingRule getRule(ILabelUpdate update) { break; case SERIALIZE_SOME: Object element = update.getElement(); - if (element instanceof IJavaVariable) { + if (element instanceof IJavaVariable javaVariable) { try { - IValue value = ((IJavaVariable)element).getValue(); - if (value instanceof IJavaValue) { - if (!fLabelProvider.isShowLabelDetails((IJavaValue)value)) { + IValue value = javaVariable.getValue(); + if (value instanceof IJavaValue javaValue) { + if (!fLabelProvider.isShowLabelDetails(javaValue)) { input = update.getViewerInput(); frame = (IJavaStackFrame) DebugPlugin.getAdapter(input, IJavaStackFrame.class); } @@ -279,9 +259,6 @@ protected ISchedulingRule getRule(ILabelUpdate update) { return null; } - /* (non-Javadoc) - * @see org.eclipse.core.runtime.preferences.IEclipsePreferences.IPreferenceChangeListener#preferenceChange(org.eclipse.core.runtime.preferences.IEclipsePreferences.PreferenceChangeEvent) - */ @Override public void preferenceChange(PreferenceChangeEvent event) { if (event.getKey().endsWith(IJDIPreferencesConstants.PREF_SHOW_QUALIFIED_NAMES)) { @@ -290,4 +267,22 @@ public void preferenceChange(PreferenceChangeEvent event) { determineSerializationMode((String) event.getNewValue()); } } + + /** + * @return the model presentation used to display Java elements, never {@code null} + */ + protected static JDIModelPresentation getModelPresentation() { + return fLabelProvider; + } + + /** + * Sets the model presentation used by this label provider to the specified object. + * + * @param presentation + * the new presentation, may not be {@code null} + */ + protected static void setModelPresentation(final JDIModelPresentation presentation) { + Assert.isNotNull(presentation); + fLabelProvider = presentation; + } } \ No newline at end of file