Add coder

This commit is contained in:
2022-06-14 00:05:36 +02:00
parent 8da76b5a3f
commit 22d00d0360
31 changed files with 406 additions and 96 deletions
+5
View File
@@ -41,6 +41,11 @@ CarpArrayNode >> initialize [
expressions := OrderedCollection new: 2.
]
{ #category : #accessing }
CarpArrayNode >> intoModel [
^ CarpArray contents: (expressions collect: #intoModel)
]
{ #category : #generated }
CarpArrayNode >> leftBracket [
+5
View File
@@ -26,6 +26,11 @@ CarpDerefNode >> derefGlyph: aSmaCCToken [
derefGlyph := aSmaCCToken
]
{ #category : #accessing }
CarpDerefNode >> intoModel [
^ CarpCall function: 'deref' arguments: {value intoModel}
]
{ #category : #generated }
CarpDerefNode >> nodeVariables [
+6
View File
@@ -49,6 +49,12 @@ CarpListNode >> initialize [
expressions := OrderedCollection new: 2.
]
{ #category : #accessing }
CarpListNode >> intoModel [
^ CarpList
contents: (expressions collect: #intoModel)
]
{ #category : #accessing }
CarpListNode >> isDefinition [
^ self definitionVariable isNotNil
+9
View File
@@ -27,6 +27,15 @@ CarpMapNode >> initialize [
pairs := OrderedCollection new: 2.
]
{ #category : #accessing }
CarpMapNode >> intoModel [
^ CarpMap
contents: (pairs
flatCollect: [ :p |
{p key intoModel.
p value intoModel} ])
]
{ #category : #generated }
CarpMapNode >> leftBrace [
@@ -14,6 +14,14 @@ CarpModuleOrTypeNode >> acceptVisitor: anExpressionVisitor [
^ anExpressionVisitor visitModuleOrType: self
]
{ #category : #accessing }
CarpModuleOrTypeNode >> intoModel [
^ CarpSymbol
named: ('.'
join: {module source.
value source})
]
{ #category : #generated }
CarpModuleOrTypeNode >> module [
+5
View File
@@ -14,6 +14,11 @@ CarpRefCallNode >> acceptVisitor: anExpressionVisitor [
^ anExpressionVisitor visitRefCall: self
]
{ #category : #accessing }
CarpRefCallNode >> intoModel [
^ CarpCall function: '~' arguments: {value intoModel}
]
{ #category : #generated }
CarpRefCallNode >> nodeVariables [
+5
View File
@@ -14,6 +14,11 @@ CarpRefNode >> acceptVisitor: anExpressionVisitor [
^ anExpressionVisitor visitRef: self
]
{ #category : #accessing }
CarpRefNode >> intoModel [
^ CarpCall function: 'ref' arguments: {value intoModel}
]
{ #category : #generated }
CarpRefNode >> nodeVariables [
+5
View File
@@ -14,6 +14,11 @@ CarpUnquoteNode >> acceptVisitor: anExpressionVisitor [
^ anExpressionVisitor visitUnquote: self
]
{ #category : #accessing }
CarpUnquoteNode >> intoModel [
^ CarpCall function: 'unquote' arguments: {value intoModel}
]
{ #category : #accessing }
CarpUnquoteNode >> isQuoted [
^ false