|
From: <mba...@us...> - 2007-05-01 13:09:41
|
Revision: 2399
http://svn.sourceforge.net/rubyeclipse/?rev=2399&view=rev
Author: mbarchfe
Date: 2007-05-01 06:09:38 -0700 (Tue, 01 May 2007)
Log Message:
-----------
Applied patch from Martin Krauskopf: added forced step/next; use finish for step return
Modified Paths:
--------------
trunk/org.rubypeople.rdt.debug.core/src/org/rubypeople/rdt/internal/debug/core/ClassicDebuggerCommandFactory.java
trunk/org.rubypeople.rdt.debug.core/src/org/rubypeople/rdt/internal/debug/core/ICommandFactory.java
trunk/org.rubypeople.rdt.debug.core/src/org/rubypeople/rdt/internal/debug/core/RubyDebugCommandFactory.java
Modified: trunk/org.rubypeople.rdt.debug.core/src/org/rubypeople/rdt/internal/debug/core/ClassicDebuggerCommandFactory.java
===================================================================
--- trunk/org.rubypeople.rdt.debug.core/src/org/rubypeople/rdt/internal/debug/core/ClassicDebuggerCommandFactory.java 2007-04-30 14:48:33 UTC (rev 2398)
+++ trunk/org.rubypeople.rdt.debug.core/src/org/rubypeople/rdt/internal/debug/core/ClassicDebuggerCommandFactory.java 2007-05-01 13:09:38 UTC (rev 2399)
@@ -1,75 +1,85 @@
-package org.rubypeople.rdt.internal.debug.core;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.rubypeople.rdt.internal.debug.core.model.RubyStackFrame;
-import org.rubypeople.rdt.internal.debug.core.model.RubyThread;
-import org.rubypeople.rdt.internal.debug.core.model.RubyVariable;
-
-public class ClassicDebuggerCommandFactory implements ICommandFactory {
-
- public String createReadFrames(RubyThread thread) {
- return "th " + thread.getId() + " ; w" ;
- }
-
- public String createReadLocalVariables(RubyStackFrame frame) {
- return "th " + ((RubyThread) frame.getThread()).getId() + " ; frame " + frame.getIndex() + " ; v l " ;
- }
-
- public String createReadInstanceVariable(RubyVariable variable) {
- return "th " + ((RubyThread) variable.getStackFrame().getThread()).getId() + " ; v i " + variable.getStackFrame().getIndex() + " " + variable.getObjectId();
- }
-
- public String createStepOver(RubyStackFrame stackFrame) {
- return "th " + ((RubyThread) stackFrame.getThread()).getId() + " ; next";
- }
-
- public String createStepReturn(RubyStackFrame stackFrame) {
- return "th " + ((RubyThread) stackFrame.getThread()).getId() + " ; next " + (stackFrame.getLineNumber() + 1);
- }
-
- public String createStepInto(RubyStackFrame stackFrame) {
- return "th " + ((RubyThread) stackFrame.getThread()).getId() + " ; step";
- }
-
- public String createReadThreads() {
- return "th l";
- }
-
- public String createLoad(String filename) {
- return "load " + filename;
- }
-
- public String createInspect(RubyStackFrame frame, String expression) {
- return "th " + ((RubyThread) frame.getThread()).getId() + " ; v inspect " + frame.getIndex() + " " + expression;
- }
-
- public String createResume(RubyThread thread) {
- return "th " + thread.getId() + ";cont";
- }
-
- public String createAddBreakpoint(String file, int line) {
- StringBuffer setBreakPointCommand = new StringBuffer();
- setBreakPointCommand.append("b ") ;
- setBreakPointCommand.append(file);
- setBreakPointCommand.append(":");
- setBreakPointCommand.append(line);
- return setBreakPointCommand.toString();
- }
-
- public String createRemoveBreakpoint(int index) {
- return "delete " + index ;
- }
-
- public String createCatchOff() {
- return "catch off";
- }
-
- public String createCatchOn(IBreakpoint breakpoint) throws CoreException {
- return "catch " + ((RubyExceptionBreakpoint) breakpoint).getException();
- }
-
- public String createThreadStop(RubyThread thread) {
- return "th stop " +thread.getId() ;
- }
-}
+package org.rubypeople.rdt.internal.debug.core;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.debug.core.model.IBreakpoint;
+import org.rubypeople.rdt.internal.debug.core.model.RubyStackFrame;
+import org.rubypeople.rdt.internal.debug.core.model.RubyThread;
+import org.rubypeople.rdt.internal.debug.core.model.RubyVariable;
+
+public class ClassicDebuggerCommandFactory implements ICommandFactory {
+
+ public String createReadFrames(RubyThread thread) {
+ return "th " + thread.getId() + " ; w" ;
+ }
+
+ public String createReadLocalVariables(RubyStackFrame frame) {
+ return "th " + ((RubyThread) frame.getThread()).getId() + " ; frame " + frame.getIndex() + " ; v l " ;
+ }
+
+ public String createReadInstanceVariable(RubyVariable variable) {
+ return "th " + ((RubyThread) variable.getStackFrame().getThread()).getId() + " ; v i " + variable.getStackFrame().getIndex() + " " + variable.getObjectId();
+ }
+
+ public String createStepOver(RubyStackFrame stackFrame) {
+ return "th " + ((RubyThread) stackFrame.getThread()).getId() + " ; next";
+ }
+
+ public String createForcedStepOver(RubyStackFrame stackFrame) {
+ // not supported by Classic Debugger
+ return createStepOver(stackFrame);
+ }
+
+ public String createStepReturn(RubyStackFrame stackFrame) {
+ return "th " + ((RubyThread) stackFrame.getThread()).getId() + " ; next " + (stackFrame.getLineNumber() + 1);
+ }
+
+ public String createStepInto(RubyStackFrame stackFrame) {
+ return "th " + ((RubyThread) stackFrame.getThread()).getId() + " ; step";
+ }
+
+ public String createForcedStepInto(RubyStackFrame stackFrame) {
+ // not supported by Classic Debugger
+ return createStepInto(stackFrame);
+ }
+
+ public String createReadThreads() {
+ return "th l";
+ }
+
+ public String createLoad(String filename) {
+ return "load " + filename;
+ }
+
+ public String createInspect(RubyStackFrame frame, String expression) {
+ return "th " + ((RubyThread) frame.getThread()).getId() + " ; v inspect " + frame.getIndex() + " " + expression;
+ }
+
+ public String createResume(RubyThread thread) {
+ return "th " + thread.getId() + ";cont";
+ }
+
+ public String createAddBreakpoint(String file, int line) {
+ StringBuffer setBreakPointCommand = new StringBuffer();
+ setBreakPointCommand.append("b ") ;
+ setBreakPointCommand.append(file);
+ setBreakPointCommand.append(":");
+ setBreakPointCommand.append(line);
+ return setBreakPointCommand.toString();
+ }
+
+ public String createRemoveBreakpoint(int index) {
+ return "delete " + index ;
+ }
+
+ public String createCatchOff() {
+ return "catch off";
+ }
+
+ public String createCatchOn(IBreakpoint breakpoint) throws CoreException {
+ return "catch " + ((RubyExceptionBreakpoint) breakpoint).getException();
+ }
+
+ public String createThreadStop(RubyThread thread) {
+ return "th stop " +thread.getId() ;
+ }
+}
Modified: trunk/org.rubypeople.rdt.debug.core/src/org/rubypeople/rdt/internal/debug/core/ICommandFactory.java
===================================================================
--- trunk/org.rubypeople.rdt.debug.core/src/org/rubypeople/rdt/internal/debug/core/ICommandFactory.java 2007-04-30 14:48:33 UTC (rev 2398)
+++ trunk/org.rubypeople.rdt.debug.core/src/org/rubypeople/rdt/internal/debug/core/ICommandFactory.java 2007-05-01 13:09:38 UTC (rev 2399)
@@ -1,40 +1,44 @@
-package org.rubypeople.rdt.internal.debug.core;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.rubypeople.rdt.internal.debug.core.model.RubyStackFrame;
-import org.rubypeople.rdt.internal.debug.core.model.RubyThread;
-import org.rubypeople.rdt.internal.debug.core.model.RubyVariable;
-
-public interface ICommandFactory {
-
- public String createReadFrames(RubyThread thread);
-
- public String createReadLocalVariables(RubyStackFrame frame);
-
- public String createReadInstanceVariable(RubyVariable variable);
-
- public String createStepOver(RubyStackFrame stackFrame);
-
- public String createStepReturn(RubyStackFrame stackFrame);
-
- public String createStepInto(RubyStackFrame stackFrame);
-
- public String createReadThreads();
-
- public String createThreadStop(RubyThread thread);
-
- public String createInspect(RubyStackFrame frame, String expression);
-
- public String createResume(RubyThread thread);
-
- public String createAddBreakpoint(String file, int line);
-
- public String createRemoveBreakpoint(int index);
-
- public String createCatchOff();
-
- public String createCatchOn(IBreakpoint breakpoint) throws CoreException;
-
- public String createLoad(String filename);
-}
\ No newline at end of file
+package org.rubypeople.rdt.internal.debug.core;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.debug.core.model.IBreakpoint;
+import org.rubypeople.rdt.internal.debug.core.model.RubyStackFrame;
+import org.rubypeople.rdt.internal.debug.core.model.RubyThread;
+import org.rubypeople.rdt.internal.debug.core.model.RubyVariable;
+
+public interface ICommandFactory {
+
+ public String createReadFrames(RubyThread thread);
+
+ public String createReadLocalVariables(RubyStackFrame frame);
+
+ public String createReadInstanceVariable(RubyVariable variable);
+
+ public String createStepOver(RubyStackFrame stackFrame);
+
+ public String createForcedStepOver(RubyStackFrame stackFrame);
+
+ public String createStepReturn(RubyStackFrame stackFrame);
+
+ public String createStepInto(RubyStackFrame stackFrame);
+
+ public String createForcedStepInto(RubyStackFrame stackFrame);
+
+ public String createReadThreads();
+
+ public String createThreadStop(RubyThread thread);
+
+ public String createInspect(RubyStackFrame frame, String expression);
+
+ public String createResume(RubyThread thread);
+
+ public String createAddBreakpoint(String file, int line);
+
+ public String createRemoveBreakpoint(int index);
+
+ public String createCatchOff();
+
+ public String createCatchOn(IBreakpoint breakpoint) throws CoreException;
+
+ public String createLoad(String filename);
+}
Modified: trunk/org.rubypeople.rdt.debug.core/src/org/rubypeople/rdt/internal/debug/core/RubyDebugCommandFactory.java
===================================================================
--- trunk/org.rubypeople.rdt.debug.core/src/org/rubypeople/rdt/internal/debug/core/RubyDebugCommandFactory.java 2007-04-30 14:48:33 UTC (rev 2398)
+++ trunk/org.rubypeople.rdt.debug.core/src/org/rubypeople/rdt/internal/debug/core/RubyDebugCommandFactory.java 2007-05-01 13:09:38 UTC (rev 2399)
@@ -1,75 +1,83 @@
-package org.rubypeople.rdt.internal.debug.core;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.rubypeople.rdt.internal.debug.core.model.RubyStackFrame;
-import org.rubypeople.rdt.internal.debug.core.model.RubyThread;
-import org.rubypeople.rdt.internal.debug.core.model.RubyVariable;
-
-public class RubyDebugCommandFactory implements ICommandFactory {
-
- public String createReadFrames(RubyThread thread) {
- return "w" ;
- }
-
- public String createReadLocalVariables(RubyStackFrame frame) {
- return "frame " + frame.getIndex() + " ; v l " ;
- }
-
- public String createReadInstanceVariable(RubyVariable variable) {
- return "frame " + variable.getStackFrame().getIndex() + " ; v i " + variable.getObjectId();
- }
-
- public String createStepOver(RubyStackFrame frame) {
- return "frame " + frame.getIndex() + " ; next" ;
- }
-
- public String createStepReturn(RubyStackFrame frame) {
- return "frame " + frame.getIndex() + " ; next 1 " + (frame.getIndex() + 1) ;
- }
-
- public String createStepInto(RubyStackFrame frame) {
- return "frame " + frame.getIndex() + " ; step";
- }
-
- public String createReadThreads() {
- return "th l";
- }
-
- public String createLoad(String filename) {
- return "load " + filename;
- }
-
- public String createInspect(RubyStackFrame frame, String expression) {
- return "frame " + frame.getIndex() + " ; v inspect " + expression.replaceAll(";", "\\;");
- }
-
- public String createResume(RubyThread thread) {
- return "cont";
- }
-
- public String createAddBreakpoint(String file, int line) {
- StringBuffer setBreakPointCommand = new StringBuffer();
- setBreakPointCommand.append("b ") ;
- setBreakPointCommand.append(file);
- setBreakPointCommand.append(":");
- setBreakPointCommand.append(line);
- return setBreakPointCommand.toString();
- }
-
- public String createRemoveBreakpoint(int index) {
- return "delete " + index ;
- }
-
- public String createCatchOff() {
- return "catch off";
- }
-
- public String createCatchOn(IBreakpoint breakpoint) throws CoreException {
- return "catch " + ((RubyExceptionBreakpoint) breakpoint).getException();
- }
-
- public String createThreadStop(RubyThread thread) {
- return "thread stop " + thread.getId();
- }
-}
+package org.rubypeople.rdt.internal.debug.core;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.debug.core.model.IBreakpoint;
+import org.rubypeople.rdt.internal.debug.core.model.RubyStackFrame;
+import org.rubypeople.rdt.internal.debug.core.model.RubyThread;
+import org.rubypeople.rdt.internal.debug.core.model.RubyVariable;
+
+public class RubyDebugCommandFactory implements ICommandFactory {
+
+ public String createReadFrames(RubyThread thread) {
+ return "w" ;
+ }
+
+ public String createReadLocalVariables(RubyStackFrame frame) {
+ return "frame " + frame.getIndex() + " ; v l " ;
+ }
+
+ public String createReadInstanceVariable(RubyVariable variable) {
+ return "frame " + variable.getStackFrame().getIndex() + " ; v i " + variable.getObjectId();
+ }
+
+ public String createStepOver(RubyStackFrame frame) {
+ return "frame " + frame.getIndex() + " ; next" ;
+ }
+
+ public String createForcedStepOver(RubyStackFrame frame) {
+ return "frame " + frame.getIndex() + " ; next+";
+ }
+
+ public String createStepReturn(RubyStackFrame frame) {
+ return "frame " + frame.getIndex() + "; finish";
+ }
+
+ public String createStepInto(RubyStackFrame frame) {
+ return "frame " + frame.getIndex() + " ; step";
+ }
+
+ public String createForcedStepInto(RubyStackFrame frame) {
+ return "frame " + frame.getIndex() + " ; step+";
+ }
+
+ public String createReadThreads() {
+ return "th l";
+ }
+
+ public String createLoad(String filename) {
+ return "load " + filename;
+ }
+
+ public String createInspect(RubyStackFrame frame, String expression) {
+ return "frame " + frame.getIndex() + " ; v inspect " + expression.replaceAll(";", "\\;");
+ }
+
+ public String createResume(RubyThread thread) {
+ return "cont";
+ }
+
+ public String createAddBreakpoint(String file, int line) {
+ StringBuffer setBreakPointCommand = new StringBuffer();
+ setBreakPointCommand.append("b ") ;
+ setBreakPointCommand.append(file);
+ setBreakPointCommand.append(":");
+ setBreakPointCommand.append(line);
+ return setBreakPointCommand.toString();
+ }
+
+ public String createRemoveBreakpoint(int index) {
+ return "delete " + index ;
+ }
+
+ public String createCatchOff() {
+ return "catch off";
+ }
+
+ public String createCatchOn(IBreakpoint breakpoint) throws CoreException {
+ return "catch " + ((RubyExceptionBreakpoint) breakpoint).getException();
+ }
+
+ public String createThreadStop(RubyThread thread) {
+ return "thread stop " + thread.getId();
+ }
+}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|