Skip to content

Commit c052d93

Browse files
committedAug 21, 2024
adding a couple helper methods
1 parent 0dd9611 commit c052d93

4 files changed

+26
-12
lines changed
 

‎src/SmaCC_Rewrite_Engine/SmaCCAbstractRewrite.class.st

+11-1
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,19 @@ Class {
55
'parent',
66
'properties'
77
],
8-
#category : 'SmaCC_Rewrite_Engine'
8+
#category : #'SmaCC_Rewrite_Engine'
99
}
1010

11+
{ #category : #accessing }
12+
SmaCCAbstractRewrite >> allParents [
13+
| parents current |
14+
parents := OrderedCollection new.
15+
current := self.
16+
[ current := current parent.
17+
current notNil ] whileTrue: [ parents addFirst: current ].
18+
^ parents
19+
]
20+
1121
{ #category : #changing }
1222
SmaCCAbstractRewrite >> changed: aSymbol [
1323
super changed: aSymbol.

‎src/SmaCC_Rewrite_Engine/SmaCCRewriteFile.class.st

+12-1
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,20 @@ Class {
99
'timestamp',
1010
'cachedLists'
1111
],
12-
#category : 'SmaCC_Rewrite_Engine'
12+
#category : #'SmaCC_Rewrite_Engine'
1313
}
1414

15+
{ #category : #'instance creation' }
16+
SmaCCRewriteFile class >> onFile: aFilename [
17+
| fileRef |
18+
fileRef := aFilename asFileReference.
19+
^ fileRef exists
20+
ifTrue: [ SmaCCRewriteRuleFileParser parseFile: fileRef ]
21+
ifFalse: [ self new
22+
filename: fileRef;
23+
yourself ]
24+
]
25+
1526
{ #category : #comparing }
1627
SmaCCRewriteFile >> = anObject [
1728
self class = anObject class

‎src/SmaCC_Rewrite_Engine/SmaCCRewriteTypeMatch.class.st

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ Class {
77
'method',
88
'enableDebug'
99
],
10-
#category : 'SmaCC_Rewrite_Engine'
10+
#category : #'SmaCC_Rewrite_Engine'
1111
}
1212

1313
{ #category : #'instance creation' }
@@ -52,7 +52,7 @@ SmaCCRewriteTypeMatch >> codeMatches: aSmaCCRewriteMatchContext [
5252

5353
{ #category : #printing }
5454
SmaCCRewriteTypeMatch >> displayOn: aStream [
55-
aStream nextPutAll: nodeClass name
55+
aStream nextPutAll: (nodeClass ifNil: [ SmaCCParseNode ]) name
5656
]
5757

5858
{ #category : #accessing }

‎src/SmaCC_Rewrite_Engine/SmaCCTransformationToolkitModel.class.st

+1-8
Original file line numberDiff line numberDiff line change
@@ -164,14 +164,7 @@ SmaCCTransformationToolkitModel >> localRunOn: aCollection [
164164

165165
{ #category : #'actions-rewrites' }
166166
SmaCCTransformationToolkitModel >> openRewriteFile: filename [
167-
| fileRef |
168-
fileRef := filename asFileReference.
169-
^ fileRef exists
170-
ifTrue: [ SmaCCRewriteRuleFileParser parseFile: fileRef ]
171-
ifFalse:
172-
[ (SmaCCRewriteFile new)
173-
filename: fileRef;
174-
yourself ]
167+
^ SmaCCRewriteFile onFile: filename
175168
]
176169

177170
{ #category : #accessing }

0 commit comments

Comments
 (0)