From 3466c20a0848784c75b96442c7376f39c5bb6c7d Mon Sep 17 00:00:00 2001 From: Gabriel-Darbord Date: Fri, 26 Jun 2026 14:47:58 +0200 Subject: [PATCH 1/2] Add debugger implementor surface hooks Co-authored-by: Codex --- .../PharoCompatibilityP13SurfacePharo12Test.class.st | 7 +++++++ .../PharoCompatibility.extension.st | 6 ++++++ .../PharoCompatibilityP13SurfacePharo13Test.class.st | 8 ++++++++ .../PharoCompatibility.extension.st | 6 ++++++ .../PharoCompatibilityP13SurfacePharo14Test.class.st | 8 ++++++++ .../PharoCompatibility.extension.st | 6 ++++++ 6 files changed, 41 insertions(+) diff --git a/src/PharoCompatibility-Pharo13Surface-Pharo12-Tests/PharoCompatibilityP13SurfacePharo12Test.class.st b/src/PharoCompatibility-Pharo13Surface-Pharo12-Tests/PharoCompatibilityP13SurfacePharo12Test.class.st index cdad086..45d27e4 100644 --- a/src/PharoCompatibility-Pharo13Surface-Pharo12-Tests/PharoCompatibilityP13SurfacePharo12Test.class.st +++ b/src/PharoCompatibility-Pharo13Surface-Pharo12-Tests/PharoCompatibilityP13SurfacePharo12Test.class.st @@ -9,6 +9,13 @@ Class { #tag : 'Tests' } +{ #category : 'tests' } +PharoCompatibilityP13SurfacePharo12Test >> testDebuggerMethodImplementorForSession [ + + self assert: + (PharoCompatibility debuggerMethodImplementorForSession: nil) isNil +] + { #category : 'tests' } PharoCompatibilityP13SurfacePharo12Test >> testInstallPharo13SurfacePreservesP13Globals [ diff --git a/src/PharoCompatibility-Pharo13Surface-Pharo12/PharoCompatibility.extension.st b/src/PharoCompatibility-Pharo13Surface-Pharo12/PharoCompatibility.extension.st index f76da28..0d7d815 100644 --- a/src/PharoCompatibility-Pharo13Surface-Pharo12/PharoCompatibility.extension.st +++ b/src/PharoCompatibility-Pharo13Surface-Pharo12/PharoCompatibility.extension.st @@ -1,5 +1,11 @@ Extension { #name : 'PharoCompatibility' } +{ #category : '*PharoCompatibility-Pharo13Surface-Pharo12' } +PharoCompatibility class >> debuggerMethodImplementorForSession: aDebugSession [ + + ^ nil +] + { #category : '*PharoCompatibility-Pharo13Surface-Pharo12' } PharoCompatibility class >> refactoringChangeManagerClass [ diff --git a/src/PharoCompatibility-Pharo13Surface-Pharo13-Tests/PharoCompatibilityP13SurfacePharo13Test.class.st b/src/PharoCompatibility-Pharo13Surface-Pharo13-Tests/PharoCompatibilityP13SurfacePharo13Test.class.st index 7beaf75..dbbd597 100644 --- a/src/PharoCompatibility-Pharo13Surface-Pharo13-Tests/PharoCompatibilityP13SurfacePharo13Test.class.st +++ b/src/PharoCompatibility-Pharo13Surface-Pharo13-Tests/PharoCompatibilityP13SurfacePharo13Test.class.st @@ -9,6 +9,14 @@ Class { #tag : 'Tests' } +{ #category : 'tests' } +PharoCompatibilityP13SurfacePharo13Test >> testDebuggerMethodImplementorForSession [ + + self + assert: (PharoCompatibility debuggerMethodImplementorForSession: nil) class + equals: StDebuggerMethodImplementor +] + { #category : 'tests' } PharoCompatibilityP13SurfacePharo13Test >> testRefactoringChangeManagerClass [ diff --git a/src/PharoCompatibility-Pharo13Surface-Pharo13/PharoCompatibility.extension.st b/src/PharoCompatibility-Pharo13Surface-Pharo13/PharoCompatibility.extension.st index f6037a9..2f683ac 100644 --- a/src/PharoCompatibility-Pharo13Surface-Pharo13/PharoCompatibility.extension.st +++ b/src/PharoCompatibility-Pharo13Surface-Pharo13/PharoCompatibility.extension.st @@ -1,5 +1,11 @@ Extension { #name : 'PharoCompatibility' } +{ #category : '*PharoCompatibility-Pharo13Surface-Pharo13' } +PharoCompatibility class >> debuggerMethodImplementorForSession: aDebugSession [ + + ^ StDebuggerMethodImplementor forSession: aDebugSession +] + { #category : '*PharoCompatibility-Pharo13Surface-Pharo13' } PharoCompatibility class >> refactoringChangeManagerClass [ diff --git a/src/PharoCompatibility-Pharo13Surface-Pharo14-Tests/PharoCompatibilityP13SurfacePharo14Test.class.st b/src/PharoCompatibility-Pharo13Surface-Pharo14-Tests/PharoCompatibilityP13SurfacePharo14Test.class.st index 6be49eb..9989bef 100644 --- a/src/PharoCompatibility-Pharo13Surface-Pharo14-Tests/PharoCompatibilityP13SurfacePharo14Test.class.st +++ b/src/PharoCompatibility-Pharo13Surface-Pharo14-Tests/PharoCompatibilityP13SurfacePharo14Test.class.st @@ -25,6 +25,14 @@ PharoCompatibilityP13SurfacePharo14Test >> removePackageNamed: aPackageName [ PackageOrganizer default removePackage: aPackageName ] ] +{ #category : 'tests' } +PharoCompatibilityP13SurfacePharo14Test >> testDebuggerMethodImplementorForSession [ + + self + assert: (PharoCompatibility debuggerMethodImplementorForSession: nil) class + equals: StDebuggerMethodImplementor +] + { #category : 'tests' } PharoCompatibilityP13SurfacePharo14Test >> testInstallPharo13SurfacePreservesP13Globals [ diff --git a/src/PharoCompatibility-Pharo13Surface-Pharo14/PharoCompatibility.extension.st b/src/PharoCompatibility-Pharo13Surface-Pharo14/PharoCompatibility.extension.st index 9ee03fe..fb4902e 100644 --- a/src/PharoCompatibility-Pharo13Surface-Pharo14/PharoCompatibility.extension.st +++ b/src/PharoCompatibility-Pharo13Surface-Pharo14/PharoCompatibility.extension.st @@ -1,5 +1,11 @@ Extension { #name : 'PharoCompatibility' } +{ #category : '*PharoCompatibility-Pharo13Surface-Pharo14' } +PharoCompatibility class >> debuggerMethodImplementorForSession: aDebugSession [ + + ^ StDebuggerMethodImplementor forSession: aDebugSession +] + { #category : '*PharoCompatibility-Pharo13Surface-Pharo14' } PharoCompatibility class >> refactoringChangeManagerClass [ From efaee70333446106d0a4eb9e7d083be588f015e6 Mon Sep 17 00:00:00 2001 From: Gabriel-Darbord Date: Fri, 26 Jun 2026 15:12:36 +0200 Subject: [PATCH 2/2] Document Pharo 12 debugger implementor fallback Co-authored-by: Codex --- .../PharoCompatibility.extension.st | 1 + 1 file changed, 1 insertion(+) diff --git a/src/PharoCompatibility-Pharo13Surface-Pharo12/PharoCompatibility.extension.st b/src/PharoCompatibility-Pharo13Surface-Pharo12/PharoCompatibility.extension.st index 0d7d815..d3f3eeb 100644 --- a/src/PharoCompatibility-Pharo13Surface-Pharo12/PharoCompatibility.extension.st +++ b/src/PharoCompatibility-Pharo13Surface-Pharo12/PharoCompatibility.extension.st @@ -2,6 +2,7 @@ Extension { #name : 'PharoCompatibility' } { #category : '*PharoCompatibility-Pharo13Surface-Pharo12' } PharoCompatibility class >> debuggerMethodImplementorForSession: aDebugSession [ + "Pharo 12 does not provide the Pharo 13 debugger method implementor. Answer nil so callers keep their explicit fallback path instead of probing runtime globals." ^ nil ]