>From 2655c83089385b8b0cf9971ae84b5bc1a039552a Mon Sep 17 00:00:00 2001
From: Gwenael Casaccio
Date: Wed, 21 Aug 2013 14:06:05 +0200
Subject: [PATCH] Split debug tools package using the one class one file
pattern.
---
packages/debug/ChangeLog | 6 +++
packages/debug/DebugTools.st | 72 ------------------------------
packages/debug/DebuggerReentered.st | 50 +++++++++++++++++++++
packages/debug/Extensions.st | 87 +++++++++++++++++++++++++++++++++++++
packages/debug/package.xml | 2 +
5 files changed, 145 insertions(+), 72 deletions(-)
create mode 100644 packages/debug/DebuggerReentered.st
create mode 100644 packages/debug/Extensions.st
diff --git a/packages/debug/ChangeLog b/packages/debug/ChangeLog
index cffb9b4..8d393f4 100644
--- a/packages/debug/ChangeLog
+++ b/packages/debug/ChangeLog
@@ -1,3 +1,9 @@
+2013-08-20 Gwenael Casaccio
+
+ * DebugTools.st: Split DebugTools file.
+ * Extensions.st: New.
+ * DebuggerReentered.st: New
+
2011-07-27 Paolo Bonzini
* DebugTools.st: Improve 2011-07-15 change to fix testsuite failures.
diff --git a/packages/debug/DebugTools.st b/packages/debug/DebugTools.st
index 49033bd..7e52cb6 100644
--- a/packages/debug/DebugTools.st
+++ b/packages/debug/DebugTools.st
@@ -311,75 +311,3 @@ pointer bytecodes to line numbers.'>
]
]
-
-
-Namespace current: SystemExceptions [
-
-Notification subclass: DebuggerReentered [
-
-
-
-
- description [
- "Answer a textual description of the exception."
-
-
- ^'the debugger was started on an already debugged process'
- ]
-]
-
-]
-
-
-
-ContextPart extend [
-
- currentLine [
- "Answer the 1-based number of the line that is pointed to by the receiver's
- instruction pointer."
-
-
- ^Debugger currentLineIn: self
- ]
-
- debugger [
- "Answer the debugger that is attached to the given context. It
- is always nil unless the DebugTools package is loaded."
-
-
- | ctx home |
- ctx := self.
- [ctx isNil] whileFalse:
- [home := ctx home.
- (home notNil
- and: [(home method attributeAt: #debugging: ifAbsent: [nil]) notNil])
- ifTrue: [^ctx receiver].
- ctx := ctx parentContext].
- ^nil
- ]
-
-]
-
-
-
-BlockClosure extend [
-
- forkDebugger [
- "Suspend the currently running process and fork the receiver into a new
- process, passing a Debugger object that controls the currently running
- process."
-
-
- | process |
- process := Processor activeProcess.
-
- [process suspend.
- Processor activeProcess priority: process priority.
- self value: (Debugger on: process)]
- forkAt: Processor unpreemptedPriority
- ]
-
-]
-
diff --git a/packages/debug/DebuggerReentered.st b/packages/debug/DebuggerReentered.st
new file mode 100644
index 0000000..9e4c439
--- /dev/null
+++ b/packages/debug/DebuggerReentered.st
@@ -0,0 +1,50 @@
+"======================================================================
+|
+| Inferior process control
+|
+|
+ ======================================================================"
+
+"======================================================================
+|
+| Copyright 2002, 2006, 2007 Free Software Foundation, Inc.
+| Written by Paolo Bonzini.
+|
+| This file is part of GNU Smalltalk.
+|
+| GNU Smalltalk is free software; you can redistribute it and/or modify it
+| under the terms of the GNU General Public License as published by the Free
+| Software Foundation; either version 2, or (at your option) any later version.
+|
+| GNU Smalltalk is distributed in the hope that it will be useful, but WITHOUT
+| ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+| FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+| details.
+|
+| You should have received a copy of the GNU General Public License along with
+| GNU Smalltalk; see the file COPYING. If not, write to the Free Software
+| Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+|
+ ======================================================================"
+
+
+
+Namespace current: SystemExceptions [
+
+Notification subclass: DebuggerReentered [
+
+
+
+
+ description [
+ "Answer a textual description of the exception."
+
+
+ ^'the debugger was started on an already debugged process'
+ ]
+]
+
+]
+
diff --git a/packages/debug/Extensions.st b/packages/debug/Extensions.st
new file mode 100644
index 0000000..d7be530
--- /dev/null
+++ b/packages/debug/Extensions.st
@@ -0,0 +1,87 @@
+"======================================================================
+|
+| Inferior process control
+|
+|
+ ======================================================================"
+
+"======================================================================
+|
+| Copyright 2002, 2006, 2007 Free Software Foundation, Inc.
+| Written by Paolo Bonzini.
+|
+| This file is part of GNU Smalltalk.
+|
+| GNU Smalltalk is free software; you can redistribute it and/or modify it
+| under the terms of the GNU General Public License as published by the Free
+| Software Foundation; either version 2, or (at your option) any later version.
+|
+| GNU Smalltalk is distributed in the hope that it will be useful, but WITHOUT
+| ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+| FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+| details.
+|
+| You should have received a copy of the GNU General Public License along with
+| GNU Smalltalk; see the file COPYING. If not, write to the Free Software
+| Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+|
+ ======================================================================"
+
+
+
+ContextPart extend [
+
+ currentLine [
+ "Answer the 1-based number of the line that is pointed to by the receiver's
+ instruction pointer."
+
+
+ ^Debugger currentLineIn: self
+ ]
+
+ debugger [
+ "Answer the debugger that is attached to the given context. It
+ is always nil unless the DebugTools package is loaded."
+
+
+ | ctx home |
+ ctx := self.
+ [ctx isNil] whileFalse:
+ [home := ctx home.
+ (home notNil
+ and: [(home method attributeAt: #debugging: ifAbsent: [nil]) notNil])
+ ifTrue: [^ctx receiver].
+ ctx := ctx parentContext].
+ ^nil
+ ]
+
+]
+
+
+
+BlockClosure extend [
+
+ forkDebugger [
+ "Suspend the currently running process and fork the receiver into a new
+ process, passing a Debugger object that controls the currently running
+ process."
+
+
+ | process |
+ process := Processor activeProcess.
+
+ [process suspend.
+ Processor activeProcess priority: process priority.
+ self value: (Debugger on: process)]
+ forkAt: Processor unpreemptedPriority
+ ]
+
+ debug [
+
+
+
+ self class debuggerClass debug: 'Debugger'.
+ self value
+ ]
+]
+
diff --git a/packages/debug/package.xml b/packages/debug/package.xml
index 9108e83..6f38685 100644
--- a/packages/debug/package.xml
+++ b/packages/debug/package.xml
@@ -6,6 +6,8 @@
debugtests.st
+ Extensions.st
+ DebuggerReentered.st
DebugTools.st
ChangeLog
--
1.8.1.2