Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIFrame.java')
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIFrame.java152
1 files changed, 0 insertions, 152 deletions
diff --git a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIFrame.java b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIFrame.java
deleted file mode 100644
index 383ed84fc12..00000000000
--- a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIFrame.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2012 QNX Software Systems and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * QNX Software Systems - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.cdt.debug.mi.core.output;
-
-/**
- * GDB/MI Frame tuple parsing.
- */
-public class MIFrame {
-
- int level;
- String addr;
- String func = ""; //$NON-NLS-1$
- String file = ""; //$NON-NLS-1$
- // since gdb 6.4
- String fullname = ""; //$NON-NLS-1$
- int line;
- MIArg[] args = new MIArg[0];
-
- public MIFrame(MITuple tuple) {
- parse(tuple);
- }
-
- public MIArg[] getArgs() {
- return args;
- }
-
- public String getFile() {
- String fname = getFullname();
- return ( fname.length() != 0 ) ? fname : file;
- }
-
- public String getFullname() {
- return fullname;
- }
-
- public String getFunction() {
- return func;
- }
-
- public int getLine() {
- return line;
- }
-
- public String getAddress() {
- return addr;
- }
-
- public int getLevel() {
- return level;
- }
-
- @Override
- public String toString() {
- StringBuffer buffer = new StringBuffer();
- buffer.append("level=\"" + level + "\""); //$NON-NLS-1$//$NON-NLS-2$
- buffer.append(",addr=\"" + addr + "\""); //$NON-NLS-1$//$NON-NLS-2$
- buffer.append(",func=\"" + func + "\""); //$NON-NLS-1$//$NON-NLS-2$
- buffer.append(",file=\"" + file + "\""); //$NON-NLS-1$//$NON-NLS-2$
- buffer.append(",line=\"").append(line).append('"'); //$NON-NLS-1$
- buffer.append(",args=["); //$NON-NLS-1$
- for (int i = 0; i < args.length; i++) {
- if (i != 0) {
- buffer.append(',');
- }
- buffer.append("{name=\"" + args[i].getName() + "\"");//$NON-NLS-1$//$NON-NLS-2$
- buffer.append(",value=\"" + args[i].getValue() + "\"}");//$NON-NLS-1$//$NON-NLS-2$
- }
- buffer.append(']');
- return buffer.toString();
- }
-
- void parse(MITuple tuple) {
- MIResult[] results = tuple.getMIResults();
- for (int i = 0; i < results.length; i++) {
- String var = results[i].getVariable();
- MIValue value = results[i].getMIValue();
- String str = ""; //$NON-NLS-1$
- if (value != null && value instanceof MIConst) {
- str = ((MIConst)value).getCString();
- }
-
- if (var.equals("level")) { //$NON-NLS-1$
- try {
- level = Integer.parseInt(str.trim());
- } catch (NumberFormatException e) {
- }
- } else if (var.equals("addr")) { //$NON-NLS-1$
- try {
- addr = str.trim();
- } catch (NumberFormatException e) {
- }
- } else if (var.equals("func")) { //$NON-NLS-1$
- func = null;
- if ( str != null ) {
- str = str.trim();
- if ( str.equals( "??" ) ) //$NON-NLS-1$
- func = ""; //$NON-NLS-1$
- else {
- func = str;
- // In some situations gdb returns the function names that include parameter types.
- // To make the presentation consistent truncate the parameters. PR 46592
- // However PR180059: only cut it if it is last brackets represent parameters,
- // because gdb can return: func="(anonymous namespace)::func2((anonymous namespace)::Test*)"
- int closing = str.lastIndexOf(')');
- if (closing == str.length() - 1) {
- int end = getMatchingBracketIndex(str, closing - 1);
- if (end >= 0) {
- func = str.substring(0, end);
- }
- }
- }
- }
- } else if (var.equals("file")) { //$NON-NLS-1$
- file = str;
- } else if (var.equals("fullname")) { //$NON-NLS-1$
- fullname = str;
- } else if (var.equals("line")) { //$NON-NLS-1$
- try {
- line = Integer.parseInt(str.trim());
- } catch (NumberFormatException e) {
- }
- } else if (var.equals("args")) { //$NON-NLS-1$
- if (value instanceof MIList) {
- args = MIArg.getMIArgs((MIList)value);
- } else if (value instanceof MITuple) {
- args = MIArg.getMIArgs((MITuple)value);
- }
- }
- }
- }
-
- private int getMatchingBracketIndex(String str, int end) {
- int depth = 1;
- for (;end>=0;end--) {
- int c = str.charAt(end);
- if (c=='(') {
- depth--;
- if (depth==0) break;
- } else if (c==')')
- depth++;
- }
- return end;
- }
-}

Back to the top