Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[cdt-patch] MI plugin StackFrame.getArguments()

Index: ChangeLog
===================================================================
RCS file: /home/tools/org.eclipse.cdt.debug.mi.core/ChangeLog,v
retrieving revision 1.28
diff -u -r1.28 ChangeLog
--- ChangeLog	5 Nov 2002 16:21:30 -0000	1.28
+++ ChangeLog	6 Nov 2002 20:11:31 -0000
@@ -1,3 +1,9 @@
+2002-11-06 Alain Magloire
+
+	* src/.../mi/core/cdti/StackFrame.java (getArguments):
+	If an exception was throw, the array may contain null
+	entries.  Use and a List and catch the exception.
+
 2002-11-05 Alain Magloire
 
 	* src/.../mi/core/cdi/Register.java (setValue): Fire a
Index: src/org/eclipse/cdt/debug/mi/core/cdi/StackFrame.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/StackFrame.java,v
retrieving revision 1.11
diff -u -r1.11 StackFrame.java
--- src/org/eclipse/cdt/debug/mi/core/cdi/StackFrame.java	3 Oct 2002 02:34:36 -0000	1.11
+++ src/org/eclipse/cdt/debug/mi/core/cdi/StackFrame.java	6 Nov 2002 20:11:32 -0000
@@ -5,6 +5,9 @@
  */
 package org.eclipse.cdt.debug.mi.core.cdi;
 
+import java.util.ArrayList;
+import java.util.List;
+
 import org.eclipse.cdt.debug.core.cdi.CDIException;
 import org.eclipse.cdt.debug.core.cdi.ICDILocation;
 import org.eclipse.cdt.debug.core.cdi.model.ICDIArgument;
@@ -45,7 +48,7 @@
 	 * @see org.eclipse.cdt.debug.core.cdi.model.ICDIStackFrame#getArguments()
 	 */
 	public ICDIArgument[] getArguments() throws CDIException {
-		ICDIArgument[] cdiArgs = null;
+		List cdiList = new ArrayList();
 		if (frame != null) {
 			CSession session = getCTarget().getCSession();
 			VariableManager mgr = (VariableManager)session.getVariableManager();
@@ -68,13 +71,12 @@
 					args = miFrames[0].getArgs();
 				}
 				if (args != null) {
-					cdiArgs = new ICDIArgument[args.length];
-					for (int i = 0; i < cdiArgs.length; i++) {
-						cdiArgs[i] =
-							mgr.createArgument(this, args[i].getName());
+					for (int i = 0; i < args.length; i++) {
+						try {
+							cdiList.add(mgr.createArgument(this, args[i].getName()));
+						} catch (CDIException e) {
+						}
 					}
-				} else {
-					cdiArgs = new ICDIArgument[0];
 				}
 			} catch (MIException e) {
 				//throw new CDIException(e.getMessage());
@@ -84,10 +86,7 @@
 				//System.err.println(e);
 			}
 		}
-		if (cdiArgs == null) {
-			cdiArgs = new ICDIArgument[0];
-		}
-		return cdiArgs;
+		return (ICDIArgument[])cdiList.toArray(new ICDIArgument[0]);
 	}
 
 	/**




Back to the top