diff --git a/.project b/.project index 5e7754f..7c4006d 100644 --- a/.project +++ b/.project @@ -1,3 +1,3 @@ { - 'srcDirectory' : '' -} \ No newline at end of file + 'srcDirectory' : 'src' +} diff --git a/.smalltalk.all.ston b/.smalltalk.all.ston index b129b2a..e1cb0f9 100644 --- a/.smalltalk.all.ston +++ b/.smalltalk.all.ston @@ -2,7 +2,7 @@ SmalltalkCISpec { #loading : [ SCIMetacelloLoadSpec { #baseline : 'Sindarin', - #directory : '.', + #directory : 'src', #load : 'default', #onConflict : #useIncoming, #onUpgrade : #useIncoming, diff --git a/.smalltalk.release.ston b/.smalltalk.release.ston index 38788f3..1e93f5a 100644 --- a/.smalltalk.release.ston +++ b/.smalltalk.release.ston @@ -2,7 +2,7 @@ SmalltalkCISpec { #loading : [ SCIMetacelloLoadSpec { #baseline : 'Sindarin', - #directory : '.', + #directory : 'src', #onConflict : #useIncoming, #onUpgrade : #useIncoming, #ignoreImage : true diff --git a/.smalltalk.ston b/.smalltalk.ston index 4c1e1f3..94dd110 100644 --- a/.smalltalk.ston +++ b/.smalltalk.ston @@ -2,7 +2,7 @@ SmalltalkCISpec { #loading : [ SCIMetacelloLoadSpec { #baseline : 'Sindarin', - #directory : '.', + #directory : 'src', #load : 'default', #onConflict : #useIncoming, #onUpgrade : #useIncoming, diff --git a/LowLevelAPI.md b/doc/LowLevelAPI.md similarity index 100% rename from LowLevelAPI.md rename to doc/LowLevelAPI.md diff --git a/doc/README.md b/doc/README.md new file mode 100644 index 0000000..29c50d9 --- /dev/null +++ b/doc/README.md @@ -0,0 +1,25 @@ +# Sindarin +Instanciate a UI-less debugger on your execution, allowing you to manipulate and inspect it via scripting. +The API is on the `SindarinDebugger` class. + +- Original author: **Thomas Dupriez** (dupriezt on github) +- Research paper: [Sindarin: A Versatile Scripting API for the Pharo Debugger](https://hal.archives-ouvertes.fr/hal-02280915) + +## Usage + +```Smalltalk +dbg := SindarinDebugger debug: []. +"Manipulate and inspect the debugged execution by sending messages to dbg" +dbg step; stepOver. +dbg context inspect. +dbg currentNode inspect. +... +``` + +## Install +```Smalltalk +Metacello new + baseline: 'Sindarin'; + repository: 'github://dupriezt/ScriptableDebugger'; + load. +``` diff --git a/SindarinInterpreterAPI.md b/doc/SindarinInterpreterAPI.md similarity index 100% rename from SindarinInterpreterAPI.md rename to doc/SindarinInterpreterAPI.md diff --git a/src/.DS_Store b/src/.DS_Store new file mode 100644 index 0000000..cadea09 Binary files /dev/null and b/src/.DS_Store differ diff --git a/BaselineOfSindarin/BaselineOfSindarin.class.st b/src/BaselineOfSindarin/BaselineOfSindarin.class.st similarity index 100% rename from BaselineOfSindarin/BaselineOfSindarin.class.st rename to src/BaselineOfSindarin/BaselineOfSindarin.class.st diff --git a/BaselineOfSindarin/package.st b/src/BaselineOfSindarin/package.st similarity index 100% rename from BaselineOfSindarin/package.st rename to src/BaselineOfSindarin/package.st diff --git a/Sindarin-Demo/SindarinDemo.class.st b/src/Sindarin-Demo/SindarinDemo.class.st similarity index 100% rename from Sindarin-Demo/SindarinDemo.class.st rename to src/Sindarin-Demo/SindarinDemo.class.st diff --git a/Sindarin-Demo/SindarinDemo_GoldDigger.class.st b/src/Sindarin-Demo/SindarinDemo_GoldDigger.class.st similarity index 100% rename from Sindarin-Demo/SindarinDemo_GoldDigger.class.st rename to src/Sindarin-Demo/SindarinDemo_GoldDigger.class.st diff --git a/Sindarin-Demo/SindarinDemo_SkipNextException.class.st b/src/Sindarin-Demo/SindarinDemo_SkipNextException.class.st similarity index 100% rename from Sindarin-Demo/SindarinDemo_SkipNextException.class.st rename to src/Sindarin-Demo/SindarinDemo_SkipNextException.class.st diff --git a/Sindarin-Demo/SindarinDemo_StepToNextIteration.class.st b/src/Sindarin-Demo/SindarinDemo_StepToNextIteration.class.st similarity index 100% rename from Sindarin-Demo/SindarinDemo_StepToNextIteration.class.st rename to src/Sindarin-Demo/SindarinDemo_StepToNextIteration.class.st diff --git a/Sindarin-Demo/package.st b/src/Sindarin-Demo/package.st similarity index 100% rename from Sindarin-Demo/package.st rename to src/Sindarin-Demo/package.st diff --git a/Sindarin-Experiments/Bug_TestPassesWhenRanAloneButFailsWhenRanFromTheClass.class.st b/src/Sindarin-Experiments/Bug_TestPassesWhenRanAloneButFailsWhenRanFromTheClass.class.st similarity index 100% rename from Sindarin-Experiments/Bug_TestPassesWhenRanAloneButFailsWhenRanFromTheClass.class.st rename to src/Sindarin-Experiments/Bug_TestPassesWhenRanAloneButFailsWhenRanFromTheClass.class.st diff --git a/Sindarin-Experiments/ExampleExecutionStackTransform1.class.st b/src/Sindarin-Experiments/ExampleExecutionStackTransform1.class.st similarity index 100% rename from Sindarin-Experiments/ExampleExecutionStackTransform1.class.st rename to src/Sindarin-Experiments/ExampleExecutionStackTransform1.class.st diff --git a/Sindarin-Experiments/ExampleExecutionStackTransform2.class.st b/src/Sindarin-Experiments/ExampleExecutionStackTransform2.class.st similarity index 100% rename from Sindarin-Experiments/ExampleExecutionStackTransform2.class.st rename to src/Sindarin-Experiments/ExampleExecutionStackTransform2.class.st diff --git a/Sindarin-Experiments/Scenario1SetBreakpointWhenAGivenFieldIsAssignedAGivenValue.class.st b/src/Sindarin-Experiments/Scenario1SetBreakpointWhenAGivenFieldIsAssignedAGivenValue.class.st similarity index 100% rename from Sindarin-Experiments/Scenario1SetBreakpointWhenAGivenFieldIsAssignedAGivenValue.class.st rename to src/Sindarin-Experiments/Scenario1SetBreakpointWhenAGivenFieldIsAssignedAGivenValue.class.st diff --git a/Sindarin-Experiments/Scenario2SetBreakpointsOnMethodsCallingAGivenMethoWithAGivenArgument.class.st b/src/Sindarin-Experiments/Scenario2SetBreakpointsOnMethodsCallingAGivenMethoWithAGivenArgument.class.st similarity index 100% rename from Sindarin-Experiments/Scenario2SetBreakpointsOnMethodsCallingAGivenMethoWithAGivenArgument.class.st rename to src/Sindarin-Experiments/Scenario2SetBreakpointsOnMethodsCallingAGivenMethoWithAGivenArgument.class.st diff --git a/Sindarin-Experiments/package.st b/src/Sindarin-Experiments/package.st similarity index 100% rename from Sindarin-Experiments/package.st rename to src/Sindarin-Experiments/package.st diff --git a/Sindarin-Scripts-Tests/SindarinCommandBuilderTest.class.st b/src/Sindarin-Scripts-Tests/SindarinCommandBuilderTest.class.st similarity index 100% rename from Sindarin-Scripts-Tests/SindarinCommandBuilderTest.class.st rename to src/Sindarin-Scripts-Tests/SindarinCommandBuilderTest.class.st diff --git a/Sindarin-Scripts-Tests/SindarinScriptBuilderTest.class.st b/src/Sindarin-Scripts-Tests/SindarinScriptBuilderTest.class.st similarity index 100% rename from Sindarin-Scripts-Tests/SindarinScriptBuilderTest.class.st rename to src/Sindarin-Scripts-Tests/SindarinScriptBuilderTest.class.st diff --git a/Sindarin-Scripts-Tests/SindarinScriptTest.class.st b/src/Sindarin-Scripts-Tests/SindarinScriptTest.class.st similarity index 100% rename from Sindarin-Scripts-Tests/SindarinScriptTest.class.st rename to src/Sindarin-Scripts-Tests/SindarinScriptTest.class.st diff --git a/Sindarin-Scripts-Tests/SindarinTDebuggerTest.class.st b/src/Sindarin-Scripts-Tests/SindarinTDebuggerTest.class.st similarity index 100% rename from Sindarin-Scripts-Tests/SindarinTDebuggerTest.class.st rename to src/Sindarin-Scripts-Tests/SindarinTDebuggerTest.class.st diff --git a/Sindarin-Scripts-Tests/SindarinTestDebugger.class.st b/src/Sindarin-Scripts-Tests/SindarinTestDebugger.class.st similarity index 100% rename from Sindarin-Scripts-Tests/SindarinTestDebugger.class.st rename to src/Sindarin-Scripts-Tests/SindarinTestDebugger.class.st diff --git a/Sindarin-Scripts-Tests/SindarinTestDebuggerScript.class.st b/src/Sindarin-Scripts-Tests/SindarinTestDebuggerScript.class.st similarity index 100% rename from Sindarin-Scripts-Tests/SindarinTestDebuggerScript.class.st rename to src/Sindarin-Scripts-Tests/SindarinTestDebuggerScript.class.st diff --git a/Sindarin-Scripts-Tests/package.st b/src/Sindarin-Scripts-Tests/package.st similarity index 100% rename from Sindarin-Scripts-Tests/package.st rename to src/Sindarin-Scripts-Tests/package.st diff --git a/Sindarin-Scripts/SindarinPointcut.class.st b/src/Sindarin-Scripts/SindarinPointcut.class.st similarity index 100% rename from Sindarin-Scripts/SindarinPointcut.class.st rename to src/Sindarin-Scripts/SindarinPointcut.class.st diff --git a/Sindarin-Scripts/SindarinPointcutException.class.st b/src/Sindarin-Scripts/SindarinPointcutException.class.st similarity index 100% rename from Sindarin-Scripts/SindarinPointcutException.class.st rename to src/Sindarin-Scripts/SindarinPointcutException.class.st diff --git a/Sindarin-Scripts/SindarinScript.class.st b/src/Sindarin-Scripts/SindarinScript.class.st similarity index 100% rename from Sindarin-Scripts/SindarinScript.class.st rename to src/Sindarin-Scripts/SindarinScript.class.st diff --git a/Sindarin-Scripts/SindarinScriptBuilder.class.st b/src/Sindarin-Scripts/SindarinScriptBuilder.class.st similarity index 100% rename from Sindarin-Scripts/SindarinScriptBuilder.class.st rename to src/Sindarin-Scripts/SindarinScriptBuilder.class.st diff --git a/Sindarin-Scripts/SindarinScriptPointcutsExamples.class.st b/src/Sindarin-Scripts/SindarinScriptPointcutsExamples.class.st similarity index 100% rename from Sindarin-Scripts/SindarinScriptPointcutsExamples.class.st rename to src/Sindarin-Scripts/SindarinScriptPointcutsExamples.class.st diff --git a/Sindarin-Scripts/StepToNextDoIterationDbgScript.class.st b/src/Sindarin-Scripts/StepToNextDoIterationDbgScript.class.st similarity index 100% rename from Sindarin-Scripts/StepToNextDoIterationDbgScript.class.st rename to src/Sindarin-Scripts/StepToNextDoIterationDbgScript.class.st diff --git a/Sindarin-Scripts/StepUntilAboutToSignalExceptionDbgScript.class.st b/src/Sindarin-Scripts/StepUntilAboutToSignalExceptionDbgScript.class.st similarity index 100% rename from Sindarin-Scripts/StepUntilAboutToSignalExceptionDbgScript.class.st rename to src/Sindarin-Scripts/StepUntilAboutToSignalExceptionDbgScript.class.st diff --git a/Sindarin-Scripts/TDebuggerScript.trait.st b/src/Sindarin-Scripts/TDebuggerScript.trait.st similarity index 100% rename from Sindarin-Scripts/TDebuggerScript.trait.st rename to src/Sindarin-Scripts/TDebuggerScript.trait.st diff --git a/Sindarin-Scripts/TSindarinScriptInterpreter.trait.st b/src/Sindarin-Scripts/TSindarinScriptInterpreter.trait.st similarity index 100% rename from Sindarin-Scripts/TSindarinScriptInterpreter.trait.st rename to src/Sindarin-Scripts/TSindarinScriptInterpreter.trait.st diff --git a/Sindarin-Scripts/package.st b/src/Sindarin-Scripts/package.st similarity index 100% rename from Sindarin-Scripts/package.st rename to src/Sindarin-Scripts/package.st diff --git a/Sindarin-Tests/SindarinDebugSessionMock.class.st b/src/Sindarin-Tests/SindarinDebugSessionMock.class.st similarity index 100% rename from Sindarin-Tests/SindarinDebugSessionMock.class.st rename to src/Sindarin-Tests/SindarinDebugSessionMock.class.st diff --git a/Sindarin-Tests/SindarinDebugSessionTest.class.st b/src/Sindarin-Tests/SindarinDebugSessionTest.class.st similarity index 100% rename from Sindarin-Tests/SindarinDebugSessionTest.class.st rename to src/Sindarin-Tests/SindarinDebugSessionTest.class.st diff --git a/Sindarin-Tests/SindarinDebuggerTest.class.st b/src/Sindarin-Tests/SindarinDebuggerTest.class.st similarity index 100% rename from Sindarin-Tests/SindarinDebuggerTest.class.st rename to src/Sindarin-Tests/SindarinDebuggerTest.class.st diff --git a/Sindarin-Tests/package.st b/src/Sindarin-Tests/package.st similarity index 100% rename from Sindarin-Tests/package.st rename to src/Sindarin-Tests/package.st diff --git a/Sindarin/Context.extension.st b/src/Sindarin/Context.extension.st similarity index 100% rename from Sindarin/Context.extension.st rename to src/Sindarin/Context.extension.st diff --git a/Sindarin/ContextNotOnStack.class.st b/src/Sindarin/ContextNotOnStack.class.st similarity index 100% rename from Sindarin/ContextNotOnStack.class.st rename to src/Sindarin/ContextNotOnStack.class.st diff --git a/Sindarin/DebugSession.extension.st b/src/Sindarin/DebugSession.extension.st similarity index 100% rename from Sindarin/DebugSession.extension.st rename to src/Sindarin/DebugSession.extension.st diff --git a/Sindarin/DebuggedExecutionException.class.st b/src/Sindarin/DebuggedExecutionException.class.st similarity index 100% rename from Sindarin/DebuggedExecutionException.class.st rename to src/Sindarin/DebuggedExecutionException.class.st diff --git a/Sindarin/DebuggedExecutionIsFinished.class.st b/src/Sindarin/DebuggedExecutionIsFinished.class.st similarity index 100% rename from Sindarin/DebuggedExecutionIsFinished.class.st rename to src/Sindarin/DebuggedExecutionIsFinished.class.st diff --git a/Sindarin/InstructionStream.extension.st b/src/Sindarin/InstructionStream.extension.st similarity index 100% rename from Sindarin/InstructionStream.extension.st rename to src/Sindarin/InstructionStream.extension.st diff --git a/Sindarin/NodeNotInASTError.class.st b/src/Sindarin/NodeNotInASTError.class.st similarity index 100% rename from Sindarin/NodeNotInASTError.class.st rename to src/Sindarin/NodeNotInASTError.class.st diff --git a/Sindarin/NotValidPcError.class.st b/src/Sindarin/NotValidPcError.class.st similarity index 100% rename from Sindarin/NotValidPcError.class.st rename to src/Sindarin/NotValidPcError.class.st diff --git a/Sindarin/OCBytecodeToASTCache.extension.st b/src/Sindarin/OCBytecodeToASTCache.extension.st similarity index 100% rename from Sindarin/OCBytecodeToASTCache.extension.st rename to src/Sindarin/OCBytecodeToASTCache.extension.st diff --git a/Sindarin/Object.extension.st b/src/Sindarin/Object.extension.st similarity index 100% rename from Sindarin/Object.extension.st rename to src/Sindarin/Object.extension.st diff --git a/Sindarin/Process.extension.st b/src/Sindarin/Process.extension.st similarity index 100% rename from Sindarin/Process.extension.st rename to src/Sindarin/Process.extension.st diff --git a/Sindarin/RBAssignmentNode.extension.st b/src/Sindarin/RBAssignmentNode.extension.st similarity index 100% rename from Sindarin/RBAssignmentNode.extension.st rename to src/Sindarin/RBAssignmentNode.extension.st diff --git a/Sindarin/RBBlockDefinitionSearchingVisitor.class.st b/src/Sindarin/RBBlockDefinitionSearchingVisitor.class.st similarity index 100% rename from Sindarin/RBBlockDefinitionSearchingVisitor.class.st rename to src/Sindarin/RBBlockDefinitionSearchingVisitor.class.st diff --git a/Sindarin/RBBlockNode.extension.st b/src/Sindarin/RBBlockNode.extension.st similarity index 100% rename from Sindarin/RBBlockNode.extension.st rename to src/Sindarin/RBBlockNode.extension.st diff --git a/Sindarin/RBMessageNode.extension.st b/src/Sindarin/RBMessageNode.extension.st similarity index 100% rename from Sindarin/RBMessageNode.extension.st rename to src/Sindarin/RBMessageNode.extension.st diff --git a/Sindarin/RBMethodNode.extension.st b/src/Sindarin/RBMethodNode.extension.st similarity index 100% rename from Sindarin/RBMethodNode.extension.st rename to src/Sindarin/RBMethodNode.extension.st diff --git a/Sindarin/RBProgramNode.extension.st b/src/Sindarin/RBProgramNode.extension.st similarity index 100% rename from Sindarin/RBProgramNode.extension.st rename to src/Sindarin/RBProgramNode.extension.st diff --git a/Sindarin/RBReturnNode.extension.st b/src/Sindarin/RBReturnNode.extension.st similarity index 100% rename from Sindarin/RBReturnNode.extension.st rename to src/Sindarin/RBReturnNode.extension.st diff --git a/Sindarin/SindarinDebugSession.class.st b/src/Sindarin/SindarinDebugSession.class.st similarity index 100% rename from Sindarin/SindarinDebugSession.class.st rename to src/Sindarin/SindarinDebugSession.class.st diff --git a/Sindarin/SindarinDebugger.class.st b/src/Sindarin/SindarinDebugger.class.st similarity index 100% rename from Sindarin/SindarinDebugger.class.st rename to src/Sindarin/SindarinDebugger.class.st diff --git a/Sindarin/SindarinSkippingReturnWarning.class.st b/src/Sindarin/SindarinSkippingReturnWarning.class.st similarity index 100% rename from Sindarin/SindarinSkippingReturnWarning.class.st rename to src/Sindarin/SindarinSkippingReturnWarning.class.st diff --git a/Sindarin/SindarinUILessDebugger.class.st b/src/Sindarin/SindarinUILessDebugger.class.st similarity index 100% rename from Sindarin/SindarinUILessDebugger.class.st rename to src/Sindarin/SindarinUILessDebugger.class.st diff --git a/Sindarin/SteppingATerminatingProcess.class.st b/src/Sindarin/SteppingATerminatingProcess.class.st similarity index 100% rename from Sindarin/SteppingATerminatingProcess.class.st rename to src/Sindarin/SteppingATerminatingProcess.class.st diff --git a/Sindarin/UnhandledExceptionSignalledByADebuggedExecution.class.st b/src/Sindarin/UnhandledExceptionSignalledByADebuggedExecution.class.st similarity index 100% rename from Sindarin/UnhandledExceptionSignalledByADebuggedExecution.class.st rename to src/Sindarin/UnhandledExceptionSignalledByADebuggedExecution.class.st diff --git a/Sindarin/package.st b/src/Sindarin/package.st similarity index 100% rename from Sindarin/package.st rename to src/Sindarin/package.st