private void parse() { if (isDone()) { MIOutput out = getMIOutput(); MIResultRecord rr = out.getMIResultRecord(); if (rr != null) { MIResult[] results = rr.getMIResults(); for (int i = 0; i < results.length; i++) { String var = results[i].getVariable(); if (var.equals("groups")) { // $NON-NLS-1$ MIValue val = results[i].getMIValue(); if (val instanceof MIList) { parseGroups((MIList) val); } } else if (var.equals("threads")) { // $NON-NLS-1$ // Re-use the MIThreadInfoInfo parsing fThreadInfo = new MIThreadInfoInfo(out); } } } } if (fGroupList == null) { fGroupList = new IThreadGroupInfo[0]; } if (fThreadInfo == null) { fThreadInfo = new MIThreadInfoInfo(null); } }
void parse() { if (isDone()) { MIOutput out = getMIOutput(); MIOOBRecord[] oobs = out.getMIOOBRecords(); for (int i = 0; i < oobs.length; i++) { if (oobs[i] instanceof MIConsoleStreamOutput) { MIStreamRecord cons = (MIStreamRecord) oobs[i]; String str = cons.getString(); // We are interested in the signal info parseLine(str); } } } }
/** sample output: Catchpoint 3 (catch) */ protected void parse() { List aList = new ArrayList(); try { if (isDone()) { MIOutput out = getMIOutput(); MIOOBRecord[] oobs = out.getMIOOBRecords(); for (int i = 0; i < oobs.length; i++) { if (oobs[i] instanceof MIConsoleStreamOutput) { MIStreamRecord cons = (MIStreamRecord) oobs[i]; String str = cons.getString(); // We are interested in the signal info if (parseCatchpoint(str.trim(), aList)) break; } } } } finally { breakpoints = (MIBreakpoint[]) aList.toArray(new MIBreakpoint[aList.size()]); } }