Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDarin Swanson2004-04-28 21:40:11 +0000
committerDarin Swanson2004-04-28 21:40:11 +0000
commit9ee53cc7a28e94f7eeed89e809ecc3269a438915 (patch)
tree5d78a0f9b8c62f4eea488f6886e60e8eda30ab76 /org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/HexRenderer.java
parentc3b52cbfe456b46bae9d2eee209f86de13451aa2 (diff)
downloadeclipse.platform.debug-9ee53cc7a28e94f7eeed89e809ecc3269a438915.tar.gz
eclipse.platform.debug-9ee53cc7a28e94f7eeed89e809ecc3269a438915.tar.xz
eclipse.platform.debug-9ee53cc7a28e94f7eeed89e809ecc3269a438915.zip
Bug 60254 - Change required in AbstractMemoryRenderer
Diffstat (limited to 'org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/HexRenderer.java')
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/HexRenderer.java59
1 files changed, 34 insertions, 25 deletions
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/HexRenderer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/HexRenderer.java
index b59a9417c..b689683b3 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/HexRenderer.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/HexRenderer.java
@@ -11,6 +11,7 @@
package org.eclipse.debug.internal.ui.views.memory;
import java.math.BigInteger;
+import org.eclipse.debug.internal.core.memory.MemoryByte;
/**
@@ -21,28 +22,39 @@ import java.math.BigInteger;
public class HexRenderer extends AbstractMemoryRenderer implements IFixedLengthOutputRenderer {
/* (non-Javadoc)
- * @see org.eclipse.debug.ui.AbstractMemoryRenderer#getString(java.lang.String, java.math.BigInteger, byte[])
+ * @see org.eclipse.debug.internal.ui.views.memory.AbstractMemoryRenderer#getString(java.lang.String, java.math.BigInteger, org.eclipse.debug.internal.core.memory.MemoryByte[], java.lang.String)
*/
public String getString(
String dataType,
BigInteger address,
- byte[] data) {
+ MemoryByte[] data, String paddedStr) {
- String str;
- str = convertByteArrayToHexString(data);
- str = str.toUpperCase();
+ StringBuffer strBuffer = new StringBuffer();
+
+ for (int i=0; i<data.length; i++)
+ {
+ if ((data[i].flags & MemoryByte.VALID) != 0)
+ {
+ strBuffer.append(new String(convertByteToCharArray(data[i].value)));
+ }
+ else
+ {
+ // pad with padded string
+ strBuffer.append(paddedStr);
+ }
+ }
- return str;
+ return strBuffer.toString().toUpperCase();
}
/* (non-Javadoc)
- * @see org.eclipse.debug.ui.AbstractMemoryRenderer#getBytes(java.lang.String, java.math.BigInteger, java.lang.String)
+ * @see org.eclipse.debug.internal.ui.views.memory.AbstractMemoryRenderer#getBytes(java.lang.String, java.math.BigInteger, org.eclipse.debug.internal.core.memory.MemoryByte[], java.lang.String)
*/
public byte[] getBytes(
String dataType,
BigInteger address,
- byte[] currentValues, String data) {
+ MemoryByte[] currentValues, String data) {
byte[] bytes = convertHexStringToByteArray(data);
@@ -50,18 +62,7 @@ public class HexRenderer extends AbstractMemoryRenderer implements IFixedLengthO
}
/* (non-Javadoc)
- * @see org.eclipse.debug.ui.FixedLengthDataRenderer#getString(java.lang.String, java.math.BigInteger, byte[], int)
- */
- public String getString(String renderingId, BigInteger address, byte[] data, int columnSize) {
- String str;
- str = convertByteArrayToHexString(data);
- str = str.toUpperCase();
-
- return str;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.ui.FixedLengthDataRenderer#getNumCharPerByte()
+ * @see org.eclipse.debug.internal.ui.views.memory.IFixedLengthOutputRenderer#getNumCharPerByte()
*/
public int getNumCharPerByte() {
return 2;
@@ -75,19 +76,27 @@ public class HexRenderer extends AbstractMemoryRenderer implements IFixedLengthO
static public String convertByteArrayToHexString(byte[] byteArray)
{
StringBuffer strBuffer = new StringBuffer();
- char charArray[] = new char[2];
+ char charArray[];
for (int i=0; i<byteArray.length;i ++)
{
- int val = byteArray[i];
- if (val < 0) val += 256;
- charArray[0] = Character.forDigit(val / 16, 16);
- charArray[1] = Character.forDigit(val % 16, 16);
+ charArray = convertByteToCharArray(byteArray[i]);
strBuffer.append(charArray);
}
return strBuffer.toString();
}
+
+ static private char[] convertByteToCharArray(byte aByte)
+ {
+ char charArray[] = new char[2];
+ int val = aByte;
+ if (val<0) val += 256;
+ charArray[0] = Character.forDigit(val/16, 16);
+ charArray[1] = Character.forDigit(val%16, 16);
+
+ return charArray;
+ }
/**
* Convert raw memory datat to byte array

Back to the top