From 0e98d98601891d9d9c83cc6bea2ea4cc9efd3af4 Mon Sep 17 00:00:00 2001 From: Alain Magloire Date: Mon, 27 Jun 2005 19:34:33 +0000 Subject: [PATCH] 2005-06-27 Alain Magloire Fix PR 100069 * cdi/org/eclipse/cdt/debug/mi/core/cdi/Location.java * cdi/org/eclipse/cdt/debug/mi/core/cdi/Locator.java * cdi/org/eclipse/cdt/debug/mi/core/cdi/model/StackFrame.java --- debug/org.eclipse.cdt.debug.mi.core/ChangeLog | 6 ++++++ .../eclipse/cdt/debug/mi/core/cdi/Location.java | 2 +- .../org/eclipse/cdt/debug/mi/core/cdi/Locator.java | 2 +- .../cdt/debug/mi/core/cdi/model/StackFrame.java | 14 +++++++++++--- 4 files changed, 19 insertions(+), 5 deletions(-) diff --git a/debug/org.eclipse.cdt.debug.mi.core/ChangeLog b/debug/org.eclipse.cdt.debug.mi.core/ChangeLog index 8b5e627e166..0abda3dfe05 100644 --- a/debug/org.eclipse.cdt.debug.mi.core/ChangeLog +++ b/debug/org.eclipse.cdt.debug.mi.core/ChangeLog @@ -1,3 +1,9 @@ +2005-06-27 Alain Magloire + Fix PR 100069 + * cdi/org/eclipse/cdt/debug/mi/core/cdi/Location.java + * cdi/org/eclipse/cdt/debug/mi/core/cdi/Locator.java + * cdi/org/eclipse/cdt/debug/mi/core/cdi/model/StackFrame.java + 2005-06-27 Alain Magloire Refactor the class extending CLICommand to CLIXXXX for more clarity. Pass the MIVersion in all of the class extending MICommand, this is diff --git a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/Location.java b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/Location.java index 9920ec7a69e..c9d282043da 100644 --- a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/Location.java +++ b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/Location.java @@ -20,7 +20,7 @@ import org.eclipse.cdt.debug.core.cdi.ICDILocation; /** */ -public class Location /*implements ICDIFunctionLocation, ICDIAddressLocation */{ +public abstract class Location { BigInteger fAddress = null; String fFile = null; diff --git a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/Locator.java b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/Locator.java index cf4db4ed5cb..53a19daf91b 100644 --- a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/Locator.java +++ b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/Locator.java @@ -43,7 +43,7 @@ public class Locator extends Location implements ICDILocator { return false; } - boolean equalString(String f1, String f2) { + public static boolean equalString(String f1, String f2) { if (f1 != null && f1.length() > 0 && f2 != null && f2.length() > 0) { return f1.equals(f2); } else if ((f1 == null || f1.length() == 0) && (f2 == null || f2.length() == 0)) { diff --git a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/StackFrame.java b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/StackFrame.java index b9e0783ee6e..e7b7a16648d 100644 --- a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/StackFrame.java +++ b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/StackFrame.java @@ -143,10 +143,18 @@ public class StackFrame extends CObject implements ICDIStackFrame { public boolean equals(ICDIStackFrame stackframe) { if (stackframe instanceof StackFrame) { StackFrame stack = (StackFrame)stackframe; - return cthread != null && + boolean equal = cthread != null && cthread.equals(stack.getThread()) && - getLevel() == stack.getLevel() && - getLocator().equals(stack.getLocator()); + getLevel() == stack.getLevel(); + if (equal) { + ICDILocator otherLocator = stack.getLocator(); + ICDILocator myLocator = getLocator(); + if (Locator.equalString(myLocator.getFile(), otherLocator.getFile())) { + if (Locator.equalString(myLocator.getFunction(), otherLocator.getFunction())) { + return true; + } + } + } } return super.equals(stackframe); }