-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'develop' into error/fix-morph-resizing
- Loading branch information
Showing
88 changed files
with
361 additions
and
139 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,10 +1,10 @@ | ||
OrderedDictionary { | ||
'packages/BaselineOfBabylonianProgramming.package' : #SquotCypressCodeSerializer, | ||
'packages/Babylonian-Core.package' : #SquotCypressCodeSerializer, | ||
'packages/Babylonian-Demo.package' : #SquotCypressCodeSerializer, | ||
'packages/Babylonian-ExampleMining.package' : #SquotCypressCodeSerializer, | ||
'packages/Babylonian-ProbeLog.package' : #SquotCypressCodeSerializer, | ||
'packages/Babylonian-Compiler.package' : #SquotCypressCodeSerializer, | ||
'packages/Babylonian-Core.package' : #SquotCypressCodeSerializer, | ||
'packages/Babylonian-Tests.package' : #SquotCypressCodeSerializer, | ||
'packages/Babylonian-UI.package' : #SquotCypressCodeSerializer, | ||
'packages/BaselineOfBabylonianProgramming.package' : #SquotCypressCodeSerializer, | ||
'packages/Babylonian-ProbeLog.package' : #SquotCypressCodeSerializer, | ||
'packages/Babylonian-ExampleMining.package' : #SquotCypressCodeSerializer | ||
'packages/Babylonian-Tests.package' : #SquotCypressCodeSerializer | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
7 changes: 3 additions & 4 deletions
7
packages/Babylonian-Core.package/BPAbstractExample.class/instance/startWatchdog..st
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,6 @@ | ||
private | ||
startWatchdog: watchdogBlock | ||
|
||
| watchdog | | ||
watchdog := watchdogBlock newProcess. | ||
watchdog priority: Processor timingPriority-1. | ||
watchdog resume. | ||
watchdogBlock | ||
forkAt: Processor timingPriority-1 | ||
named: 'watchdog for ' , self exampleName. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 1 addition & 1 deletion
2
packages/Babylonian-Core.package/BPExample.class/instance/timeout.st
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
accessing | ||
timeout | ||
|
||
^ timeout ifNil: [timeout := 30000] | ||
^ timeout ifNil: [timeout := 5000] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
4 changes: 4 additions & 0 deletions
4
...ges/Babylonian-Core.package/BPExampleRunState.class/instance/hasBindingThatBeginsWith..st
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
binding | ||
hasBindingThatBeginsWith: aString | ||
|
||
^ state keys anySatisfy: [:key | key isString and: [key beginsWith: aString]] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
5 changes: 5 additions & 0 deletions
5
packages/Babylonian-Core.package/BPExampleTraceInformation.class/instance/releaseProcess.st
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
process control | ||
releaseProcess | ||
|
||
self assert: (self tracingProcessAndDescendants allSatisfy: [:p | p isTerminated]). | ||
tracingProcess := nil. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
8 changes: 8 additions & 0 deletions
8
packages/Babylonian-Core.package/BPExamples.class/instance/update.with..st
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
change notifications | ||
update: anAspect with: anObject | ||
|
||
anAspect = #exampleIsActive ifTrue: [ | ||
^ self changed: #activeExamples]. | ||
|
||
anAspect = #newTrace ifTrue: [ | ||
^ self changed: #tracesChanged]. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
12 changes: 9 additions & 3 deletions
12
packages/Babylonian-Core.package/BPMethodExample.class/instance/argumentNames.st
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,13 @@ | ||
accessing | ||
argumentNames | ||
"Caches argument names as parsing them requires accessing the source files, which is expensive." | ||
|
||
| parts | | ||
parts := self method methodClass formalHeaderPartsFor: self method selector. | ||
^ (1 to: self method selector numArgs) collect: [:anIndex | | ||
parts at: (4 * anIndex)] | ||
(cachedArgumentNames isNil or: [cachedArgNamesKey ~~ self method]) ifTrue: [ | ||
parts := self method methodClass formalHeaderPartsFor: self method selector. | ||
cachedArgumentNames := (1 to: self method selector numArgs) collect: [:anIndex | | ||
parts at: (4 * anIndex)]. | ||
cachedArgNamesKey := self method]. | ||
^ cachedArgumentNames | ||
|
||
|
6 changes: 6 additions & 0 deletions
6
packages/Babylonian-Core.package/BPMethodExample.class/instance/method..st
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
accessing | ||
method: aCompiledMethod | ||
|
||
super method: aCompiledMethod. | ||
"Force cache invalidation" | ||
self argumentNames. |
6 changes: 1 addition & 5 deletions
6
packages/Babylonian-Core.package/BPMethodExample.class/instance/newArguments.st
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,4 @@ | ||
accessing | ||
newArguments | ||
|
||
^ (argumentScripts first: self argumentNames size) | ||
collect: [:script | | ||
script isLiveSpecimenReference | ||
ifTrue: [self resolveLiveSpecimen: script] | ||
ifFalse: [Compiler evaluate: script for: self method methodClass]] | ||
^ self newArgumentsIn: BPMethodExampleRunConfiguration new |
4 changes: 1 addition & 3 deletions
4
packages/Babylonian-Core.package/BPMethodExample.class/instance/newArgumentsDictionary.st
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,4 @@ | ||
accessing | ||
newArgumentsDictionary | ||
|
||
^ OrderedDictionary newFrom: (self argumentNames | ||
with: (self newArguments first: self argumentNames size) | ||
collect: [:name :value | name asSymbol -> value]) | ||
^ self newArgumentsDictionaryIn: BPMethodExampleRunConfiguration new |
6 changes: 6 additions & 0 deletions
6
packages/Babylonian-Core.package/BPMethodExample.class/instance/newArgumentsDictionaryIn..st
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
accessing | ||
newArgumentsDictionaryIn: aMethodExampleState | ||
|
||
^ OrderedDictionary newFrom: (self argumentNames | ||
with: ((self newArgumentsIn: aMethodExampleState) first: self argumentNames size) | ||
collect: [:name :value | name asSymbol -> value]) |
11 changes: 11 additions & 0 deletions
11
packages/Babylonian-Core.package/BPMethodExample.class/instance/newArgumentsIn..st
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
accessing | ||
newArgumentsIn: aMethodExampleRunState | ||
|
||
^ (argumentScripts first: self argumentNames size) | ||
collect: [:script | | ||
script isLiveSpecimenReference | ||
ifTrue: [self resolveLiveSpecimen: script] | ||
ifFalse: [Compiler | ||
evaluate: script | ||
for: self method methodClass | ||
notifying: aMethodExampleRunState]] |
13 changes: 1 addition & 12 deletions
13
packages/Babylonian-Core.package/BPMethodExample.class/instance/newReceiver.st
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,15 +1,4 @@ | ||
accessing | ||
newReceiver | ||
|
||
| result | | ||
^ self receiverConstructor isEmptyOrNil | ||
ifFalse: [ | ||
self receiverConstructor isSymbol ifTrue: [ | ||
^ self method methodClass perform: self receiverConstructor]. | ||
self receiverConstructor isLiveSpecimenReference ifTrue: [ | ||
^ self resolveLiveSpecimen: self receiverConstructor]. | ||
result := Compiler evaluate: self receiverConstructor for: self method methodClass. | ||
result isSymbol | ||
ifTrue: [self method methodClass perform: result] | ||
ifFalse: [result]] | ||
ifTrue: [self method methodClass new]. | ||
^ self newReceiverIn: BPMethodExampleRunConfiguration new |
18 changes: 18 additions & 0 deletions
18
packages/Babylonian-Core.package/BPMethodExample.class/instance/newReceiverIn..st
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
accessing | ||
newReceiverIn: aMethodExampleState | ||
|
||
| result | | ||
^ self receiverConstructor isEmptyOrNil | ||
ifFalse: [ | ||
self receiverConstructor isSymbol ifTrue: [ | ||
^ self method methodClass perform: self receiverConstructor]. | ||
self receiverConstructor isLiveSpecimenReference ifTrue: [ | ||
^ self resolveLiveSpecimen: self receiverConstructor]. | ||
result := Compiler | ||
evaluate: self receiverConstructor | ||
for: self method methodClass | ||
notifying: aMethodExampleState. | ||
result isSymbol | ||
ifTrue: [self method methodClass perform: result] | ||
ifFalse: [result]] | ||
ifTrue: [self method methodClass new]. |
8 changes: 3 additions & 5 deletions
8
packages/Babylonian-Core.package/BPMethodExample.class/instance/prepareRunState.st
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,6 @@ | ||
tracing | ||
prepareRunState | ||
|
||
#bpInstrumented withoutLayerDo: [ | ||
^ BPMethodExampleRunConfiguration new | ||
receiver: self newReceiver; | ||
arguments: self newArgumentsDictionary; | ||
yourself]. | ||
#bpInstrumented withoutLayerDo: [ | newState | | ||
newState := BPMethodExampleRunConfiguration new. | ||
^ newState]. |
4 changes: 4 additions & 0 deletions
4
packages/Babylonian-Core.package/BPMethodExample.class/instance/runOn..st
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,10 @@ | ||
tracing | ||
runOn: aState | ||
|
||
#bpInstrumented withoutLayerDo: [ | ||
aState receiver: (self newReceiverIn: aState). | ||
aState arguments: (self newArgumentsDictionaryIn: aState).]. | ||
|
||
^ aState receiver | ||
perform: self method selector | ||
withArguments: aState arguments |
Oops, something went wrong.