From 166c0d9e223d63a036b4edbc97f27c3767d222da Mon Sep 17 00:00:00 2001 From: Alain Magloire Date: Mon, 27 Jun 2005 20:43:02 +0000 Subject: [PATCH] MI2 adjustements. --- .../debug/mi/core/output/MIVarUpdateInfo.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIVarUpdateInfo.java b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIVarUpdateInfo.java index 02455a9e0a6..66bf983cc5f 100644 --- a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIVarUpdateInfo.java +++ b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIVarUpdateInfo.java @@ -44,6 +44,8 @@ public class MIVarUpdateInfo extends MIInfo { MIValue value = results[i].getMIValue(); if (value instanceof MITuple) { parseChangeList((MITuple)value, aList); + } else if (value instanceof MIList) { + parseChangeList((MIList)value, aList); } } } @@ -52,6 +54,22 @@ public class MIVarUpdateInfo extends MIInfo { changeList = (MIVarChange[])aList.toArray(new MIVarChange[aList.size()]); } + /** + * For MI2 the format is now a MIList. + * @param tuple + * @param aList + */ + void parseChangeList(MIList miList, List aList) { + MIValue[] values = miList.getMIValues(); + for (int i = 0; i < values.length; ++i) { + if (values[i] instanceof MITuple) { + parseChangeList((MITuple)values[i], aList); + } else if (values[i] instanceof MIList) { + parseChangeList((MIList)values[i], aList); + } + } + } + void parseChangeList(MITuple tuple, List aList) { MIResult[] results = tuple.getMIResults(); MIVarChange change = null;