|
33 | 33 | import org.eclipse.debug.ui.IValueDetailListener; |
34 | 34 | import org.eclipse.jdt.core.IJavaProject; |
35 | 35 | import org.eclipse.jdt.core.IType; |
36 | | -import org.eclipse.jdt.core.JavaCore; |
37 | | -import org.eclipse.jdt.core.Signature; |
38 | 36 | import org.eclipse.jdt.debug.core.IEvaluationRunnable; |
39 | 37 | import org.eclipse.jdt.debug.core.IJavaArray; |
40 | 38 | import org.eclipse.jdt.debug.core.IJavaArrayType; |
|
43 | 41 | import org.eclipse.jdt.debug.core.IJavaInterfaceType; |
44 | 42 | import org.eclipse.jdt.debug.core.IJavaObject; |
45 | 43 | import org.eclipse.jdt.debug.core.IJavaPrimitiveValue; |
46 | | -import org.eclipse.jdt.debug.core.IJavaReferenceType; |
47 | 44 | import org.eclipse.jdt.debug.core.IJavaStackFrame; |
48 | 45 | import org.eclipse.jdt.debug.core.IJavaThread; |
49 | 46 | import org.eclipse.jdt.debug.core.IJavaType; |
@@ -457,12 +454,8 @@ private Expression getCompiledExpression(IJavaObject javaObject, IJavaDebugTarge |
457 | 454 | if (type instanceof IJavaClassType) { |
458 | 455 | snippet = getDetailFormatter((IJavaClassType) type); |
459 | 456 | } |
460 | | - if (type instanceof IJavaArrayType jArray) { |
461 | | - if (JavaCore.compareJavaVersions(debugTarget.getVersion(), JavaCore.VERSION_9) < 0) { |
462 | | - snippet = getArraySnippet((IJavaArray) javaObject); |
463 | | - } else { |
464 | | - snippet = getDetailFormatterFromArray(jArray); |
465 | | - } |
| 457 | + if (type instanceof IJavaArrayType javaArray) { |
| 458 | + snippet = getDetailFormatterFromArray(javaArray); |
466 | 459 | } |
467 | 460 | if (snippet != null) { |
468 | 461 | IJavaProject project = getJavaProject(javaObject, thread); |
@@ -510,10 +503,8 @@ private Expression getCompiledExpression(IJavaPrimitiveValue javaPM, IJavaDebugT |
510 | 503 | } |
511 | 504 | snippet = primitiveSnippets(snippet, jdiType.getName(), javaPM); |
512 | 505 | } |
513 | | - if (type instanceof IJavaArrayType) { |
514 | | - if (JavaCore.compareJavaVersions(debugTarget.getVersion(), JavaCore.VERSION_9) < 0) { |
515 | | - snippet = getArraySnippet((IJavaArray) javaPM); |
516 | | - } |
| 506 | + if (type instanceof IJavaArrayType javaArray) { |
| 507 | + snippet = getDetailFormatterFromArray(javaArray); |
517 | 508 | } |
518 | 509 | if (snippet != null) { |
519 | 510 | IJavaProject project = getJavaProject(javaPM, thread); |
@@ -576,39 +567,6 @@ private String primitiveSnippets(String snippet, String typeName, IJavaPrimitive |
576 | 567 |
|
577 | 568 | } |
578 | 569 |
|
579 | | - protected String getArraySnippet(IJavaArray value) throws DebugException { |
580 | | - String signature = value.getSignature(); |
581 | | - int nesting = Signature.getArrayCount(signature); |
582 | | - if (nesting > 1) { |
583 | | - // for nested primitive arrays, print everything |
584 | | - String sig = Signature.getElementType(signature); |
585 | | - if (sig.length() == 1 || "Ljava/lang/String;".equals(sig)) { //$NON-NLS-1$ |
586 | | - // return null so we get to "valueToString(IJavaValue)" for primitive and string types |
587 | | - return null; |
588 | | - } |
589 | | - } |
590 | | - if (((IJavaArrayType)value.getJavaType()).getComponentType() instanceof IJavaReferenceType) { |
591 | | - int length = value.getLength(); |
592 | | - // guestimate at max entries to print based on char/space/comma per entry |
593 | | - int maxLength = getMaxDetailLength(); |
594 | | - if (maxLength > 0){ |
595 | | - int maxEntries = (maxLength / 3) + 1; |
596 | | - if (length > maxEntries) { |
597 | | - StringBuilder snippet = new StringBuilder(); |
598 | | - snippet.append("Object[] shorter = new Object["); //$NON-NLS-1$ |
599 | | - snippet.append(maxEntries); |
600 | | - snippet.append("]; System.arraycopy(this, 0, shorter, 0, "); //$NON-NLS-1$ |
601 | | - snippet.append(maxEntries); |
602 | | - snippet.append("); "); //$NON-NLS-1$ |
603 | | - snippet.append("return java.util.Arrays.asList(shorter).toString();"); //$NON-NLS-1$ |
604 | | - return snippet.toString(); |
605 | | - } |
606 | | - } |
607 | | - return "java.util.Arrays.asList(this).toString()"; //$NON-NLS-1$ |
608 | | - } |
609 | | - return null; |
610 | | - } |
611 | | - |
612 | 570 | /** |
613 | 571 | * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(PropertyChangeEvent) |
614 | 572 | */ |
|
0 commit comments