1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-23 14:42:11 +02:00

Still not working, more work to be done.

This commit is contained in:
Alain Magloire 2002-09-25 20:00:31 +00:00
parent 6725ba2595
commit 3e1694d249
2 changed files with 25 additions and 1 deletions

View file

@ -70,16 +70,28 @@ public class MIAsm {
MIValue value = results[i].getMIValue(); MIValue value = results[i].getMIValue();
String str = ""; String str = "";
// Recurse.
if (value instanceof MITuple) { if (value instanceof MITuple) {
parse((MITuple)value); parse((MITuple)value);
continue; continue;
} }
if (value != null && value instanceof MIConst) { if (value != null && value instanceof MIConst) {
str = ((MIConst)value).getCString(); str = ((MIConst)value).getCString();
} }
if (var.equals("address")) { if (var.equals("line_asm_insn")) {
if (value instanceof MIList) {
MIList l = (MIList)value;
MIValue[] values = l.getMIValues();
for (int j = 0; j < values.length; j++) {
if (values[j] instanceof MITuple) {
parse((MITuple)values[j]);
}
}
}
} else if (var.equals("address")) {
try { try {
address = Long.decode(str.trim()).longValue(); address = Long.decode(str.trim()).longValue();
} catch (NumberFormatException e) { } catch (NumberFormatException e) {

View file

@ -26,6 +26,15 @@ public class MIDataDisassembleInfo extends MIInfo {
return asms; return asms;
} }
public String toString() {
MIAsm[] asms = getAsm();
StringBuffer buffer = new StringBuffer();
for (int i = 0; i < asms.length; i++) {
buffer.append(asms[i].toString());
}
return buffer.toString();
}
void parse() { void parse() {
List aList = new ArrayList(); List aList = new ArrayList();
if (isDone()) { if (isDone()) {
@ -49,6 +58,8 @@ public class MIDataDisassembleInfo extends MIInfo {
void parse(MIList list, List aList) { void parse(MIList list, List aList) {
// src and assenbly is different // src and assenbly is different
// Mixed mode.
MIResult[] results = list.getMIResults(); MIResult[] results = list.getMIResults();
if (results != null && results.length > 0) { if (results != null && results.length > 0) {
for (int i = 0; i < results.length; i++) { for (int i = 0; i < results.length; i++) {
@ -62,6 +73,7 @@ public class MIDataDisassembleInfo extends MIInfo {
} }
} }
// Non Mixed with source
MIValue[] values = list.getMIValues(); MIValue[] values = list.getMIValues();
if (values != null && values.length > 0) { if (values != null && values.length > 0) {
for (int i = 0; i < values.length; i++) { for (int i = 0; i < values.length; i++) {