Skip to content

Commit bc5be74

Browse files
committed
Merge branch 'develop'
2 parents cf95f12 + 00fe364 commit bc5be74

File tree

417 files changed

+1979
-486
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

417 files changed

+1979
-486
lines changed

README.md

Lines changed: 3 additions & 1 deletion
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
private
22
keywords
33

4-
^ #(bpProbe bpReplace bpAssert exampleNamed)
4+
^ #(bpProbe bpReplace bpAssert bpProfilingProbe bpTypeProbe exampleNamed)
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
private
22
parse: code
33

4-
^ BPSmalltalkGrammar
4+
^ PEGParserBPSmalltalk new
55
match: code
66
startingFrom: #MethodDeclaration

packages/Babylonian-Compiler.package/BPCompiler.class/methodProperties.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88
"backgroundCompileInstrumentedVersionOf:basedOn:" : "pre 10/12/2020 15:36",
99
"compileCue:noPattern:ifFail:" : "pre 7/20/2022 16:41",
1010
"compileInstrumentedVersionOf:" : "jb 9/9/2021 17:31",
11-
"keywords" : "pre 7/26/2019 14:00",
11+
"keywords" : "pre 11/30/2022 09:33",
1212
"methodSourceRequiresBPLayers:" : "pre 11/11/2019 15:49",
13-
"parse:" : "pre 1/11/2021 15:51",
13+
"parse:" : "pre 5/3/2021 15:01",
1414
"rewriteToSource:" : "pre 8/17/2020 08:54",
1515
"rewriter" : "jb 12/7/2020 18:03" } }

packages/Babylonian-Compiler.package/BPExtractAnnotations.class/instance/Pragma.with.with.with..st

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ rules
22
Pragma: aNode with: literal with: values with: anotherLiteral
33

44
| exampleName |
5-
(BPExample bpExamplePragmaPrefixes anySatisfy: [:prefix | values children first interval contents beginsWith: prefix]) ifTrue: [
5+
(BPAbstractExample bpExamplePragmaPrefixes anySatisfy: [:prefix | values children first interval contents beginsWith: prefix]) ifTrue: [
66
exampleName := self value: values children first children first.
77
annotations add: (BPExampleAnnotation new
88
exampleName: exampleName;

packages/Babylonian-Compiler.package/BPExtractAnnotations.class/methodProperties.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
"KeywordPragma:with:with:" : "pre 7/23/2019 12:10",
1717
"MethodDeclaration:with:and:and:" : "pre 7/23/2022 20:12",
1818
"MethodHeader:with:" : "pre 7/23/2022 16:19",
19-
"Pragma:with:with:with:" : "pre 9/6/2022 11:12",
19+
"Pragma:with:with:with:" : "pre 1/11/2023 14:38",
2020
"Pragmas:pragmas:" : "jb 12/7/2020 18:01",
2121
"defaultExpression:" : "jb 12/7/2020 18:01",
2222
"initialize" : "pre 3/24/2020 09:39",
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
as yet unclassified
2+
Reference: aNode with: identifier
3+
4+
^ (argumentNames includes: identifier interval contents asSymbol)
5+
ifTrue: [self value: identifier]
6+
ifFalse: ['(self bpResolveReferenceDynamically: #' , identifier interval contents , ' in: thisContext)']
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
as yet unclassified
2+
blockArgument: aNode with: some and: more and: moree and: evenMore
3+
argumentNames add: aNode interval contents copyWithoutFirst asSymbol.
4+
^ aNode interval contents

packages/Babylonian-Core.package/BPSpecimenRegistry.class/instance/initialize.st renamed to packages/Babylonian-Compiler.package/BPReferenceRewriter.class/instance/initialize.st

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@ initialize-release
22
initialize
33

44
super initialize.
5-
dictionary := IdentityDictionary new.
5+
argumentNames := Set new.
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"class" : {
3+
},
4+
"instance" : {
5+
"Reference:with:" : "pre 1/10/2023 17:50",
6+
"blockArgument:with:and:and:and:" : "pre 1/10/2023 17:51",
7+
"initialize" : "pre 1/10/2023 17:37" } }
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{
2+
"category" : "Babylonian-Compiler",
3+
"classinstvars" : [
4+
],
5+
"classvars" : [
6+
],
7+
"commentStamp" : "",
8+
"instvars" : [
9+
"argumentNames" ],
10+
"name" : "BPReferenceRewriter",
11+
"pools" : [
12+
],
13+
"super" : "OhmSmalltalkSourceRewriter",
14+
"type" : "normal" }
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
rewrite rules
2+
bpProfilingProbe: annotation with: originalExpressionSourceNode
3+
4+
^ annotation instrumentationCallFor: (self value: originalExpressionSourceNode)
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
rewrite rules
2+
bpTypeProbe: annotation with: originalExpressionSourceNode
3+
4+
^ annotation instrumentationCallFor: (self value: originalExpressionSourceNode)

packages/Babylonian-Compiler.package/BPSourceRewriter.class/methodProperties.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,11 @@
1717
"MethodHeader:with:" : "pre 9/25/2020 11:14",
1818
"bpAssert:with:" : "pre 9/25/2020 11:20",
1919
"bpProbe:with:" : "pre 9/25/2020 11:20",
20+
"bpProfilingProbe:with:" : "pre 11/29/2022 16:45",
2021
"bpReplace:with:" : "pre 9/25/2020 11:20",
2122
"bpSlider:with:" : "pre 9/1/2022 20:51",
2223
"bpTemporaryProbe:with:" : "pre 9/2/2022 15:03",
24+
"bpTypeProbe:with:" : "pre 11/30/2022 09:34",
2325
"expressionAnnotationStart:with:and:and:and:and:and:and:" : "pre 8/6/2021 18:49",
2426
"initialize" : "pre 7/23/2022 15:23",
2527
"nextBlockId" : "pre 1/27/2020 09:17",
Lines changed: 3 additions & 0 deletions
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
constants
2+
bpExamplePragmaPrefix
3+
"Should be overridden by subclasses"
4+
^ 'noExample'
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
constants
2+
exampleColors
3+
4+
"These are color brewer colors: https://colorbrewer2.org"
5+
^ #('a6cee3'
6+
'1f78b4'
7+
'b2df8a'
8+
'33a02c'
9+
'fb9a99'
10+
'e31a1c'
11+
'fdbf6f'
12+
'ff7f00'
13+
'cab2d6'
14+
'6a3d9a')
15+
collect: [:colorHexString |
16+
Color fromString: colorHexString]

packages/Babylonian-Core.package/BPExample.class/instance/asPragma.st renamed to packages/Babylonian-Core.package/BPAbstractExample.class/instance/asPragma.st

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@ serialization
22
asPragma
33

44
<bpRelevantMethod>
5-
^ self subclassResponsibility
5+
self subclassResponsibility.
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
tracing
2+
currentTrace
3+
4+
^ self traceInformation trace
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
tracing
2+
ensureTerminatedProcess
3+
self traceInformation terminateTracingProcess.
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
accessing
2+
exampleName: aStringOrText
3+
4+
self subclassResponsibility.
5+
6+
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
accessing
2+
exampleName
3+
4+
self subclassResponsibility.
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
accessing
2+
expectedResult: aString
3+
self subclassResponsibility.
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
accessing
2+
expectedResult
3+
self subclassResponsibility.

packages/Babylonian-Core.package/BPExample.class/instance/isActive..st renamed to packages/Babylonian-Core.package/BPAbstractExample.class/instance/isActive..st

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
accessing
22
isActive: aBoolean
33

4-
aBoolean ~= isActive ifTrue: [
5-
isActive := aBoolean.
4+
aBoolean ~= self isActive ifTrue: [
5+
self setIsActive: aBoolean.
66
aBoolean
77
ifTrue: [
88
self liveSpecimen do: [:aSpecimen |
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
accessing
2+
isActive
3+
4+
self subclassResponsibility.
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
accessing
2+
method: anObject
3+
4+
self subclassResponsibility.
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
accessing
2+
method
3+
4+
self subclassResponsibility.
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
ui
2+
morphClass
3+
4+
self subclassResponsibility.

packages/Babylonian-Core.package/BPExample.class/instance/newExpectedResultObject.st renamed to packages/Babylonian-Core.package/BPAbstractExample.class/instance/newExpectedResultObject.st

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ newExpectedResultObject
44
| result |
55
self expectedResult isSymbol ifTrue: [
66
^ self method methodClass perform: self expectedResult].
7-
(self isLiveSpecimenReference: self expectedResult) ifTrue: [
7+
self expectedResult isLiveSpecimenReference ifTrue: [
88
^ self resolveLiveSpecimen: self expectedResult].
99

1010
result := Compiler evaluate: self expectedResult.

packages/Babylonian-Core.package/BPExample.class/instance/removeTrace.st renamed to packages/Babylonian-Core.package/BPAbstractExample.class/instance/removeTrace.st

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@ tracing
22
removeTrace
33

44
self ensureTerminatedProcess.
5-
traceInformation trace: nil.
5+
self traceInformation trace: nil.
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
tracing
2+
resumeTracing
3+
^ self traceInformation resumeProcess
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
executing
22
runOn: initialState
33

4-
^ self subclassResponsibility
4+
self subclassResponsibility.
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
executing
2+
runWithTimeoutOn: initialState
3+
| complete semaphore |
4+
semaphore := Semaphore new.
5+
complete := false.
6+
7+
self startWatchdog: [
8+
semaphore waitTimeoutMSecs: self timeout.
9+
"We sadly cannot simply ask self tracingIsStillRunning as the values rely
10+
on this method's return value which is not done at this point. So uglyish complete workaround"
11+
complete ifFalse: [self suspendTracingProcess]].
12+
13+
[ ^ self runOn: initialState] ensure: [
14+
complete := true.
15+
semaphore signal]
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
accessing
2+
setIsActive: aBoolean
3+
4+
self subclassResponsibility.
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
accessing
2+
setUpScript: aStringOrSymbol
3+
4+
self subclassResponsibility.
5+
6+
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
accessing
2+
setUpScript
3+
4+
self subclassResponsibility.
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
private
2+
startWatchdog: watchdogBlock
3+
4+
| watchdog |
5+
watchdog := watchdogBlock newProcess.
6+
watchdog priority: Processor timingPriority-1.
7+
watchdog resume.
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
tracing
2+
suspendTracingProcess
3+
4+
^ self traceInformation suspendProcess
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
accessing
2+
tearDownScript: aStringOrSymbol
3+
4+
self subclassResponsibility.
5+
6+
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
accessing
2+
tearDownScript
3+
4+
self subclassResponsibility.
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
accessing
2+
timeout: aMSNumber
3+
4+
self subclassResponsibility.
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
accessing
2+
timeout
3+
4+
self subclassResponsibility.
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
tracing
2+
trace
3+
4+
<bpRelevantMethod>
5+
^ self traceInformation trace: ([self execute] bpTraceForExample: self)
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
tracing
2+
traceInBackground
3+
4+
<bpRelevantMethod>
5+
| traceAndProcess |
6+
self ensureTerminatedProcess.
7+
8+
traceAndProcess := [self execute] bpTraceInBackgroundForExample: self.
9+
self traceInformation
10+
trace: traceAndProcess first;
11+
tracingProcess: traceAndProcess second.
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
accessing
2+
traceInformation
3+
4+
self subclassResponsibility.
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
tracing
2+
tracingIsStillRunning
3+
4+
^ self traceInformation tracingIsStillRunning
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
tracing
2+
tracingProcessIsSuspended
3+
4+
^ self traceInformation isProcessSuspended

0 commit comments

Comments
 (0)