@@ -57,7 +57,7 @@ import {
57
57
SdsTypeParameter ,
58
58
SdsTypeParameterList ,
59
59
} from '../generated/ast.js' ;
60
- import { AstNode , getContainerOfType , stream } from 'langium' ;
60
+ import { AstNode , getContainerOfType , Stream , stream } from 'langium' ;
61
61
62
62
// -------------------------------------------------------------------------------------------------
63
63
// Checks
@@ -67,7 +67,7 @@ export const hasAnnotationCallOf = (
67
67
node : SdsAnnotatedObject | undefined ,
68
68
expected : SdsAnnotation | undefined ,
69
69
) : boolean => {
70
- return annotationCallsOrEmpty ( node ) . some ( ( it ) => {
70
+ return getAnnotationCalls ( node ) . some ( ( it ) => {
71
71
const actual = it . annotation ?. ref ;
72
72
return actual === expected ;
73
73
} ) ;
@@ -121,25 +121,25 @@ export const isStatic = (node: SdsClassMember): boolean => {
121
121
// Accessors for list elements
122
122
// -------------------------------------------------------------------------------------------------
123
123
124
- export const abstractResultsOrEmpty = ( node : SdsCallable | undefined ) : SdsAbstractResult [ ] => {
124
+ export const getAbstractResults = ( node : SdsCallable | undefined ) : SdsAbstractResult [ ] => {
125
125
if ( ! node ) {
126
126
return [ ] ;
127
127
}
128
128
129
129
if ( isSdsBlockLambda ( node ) ) {
130
- return blockLambdaResultsOrEmpty ( node ) ;
130
+ return streamBlockLambdaResults ( node ) . toArray ( ) ;
131
131
} else if ( isSdsCallableType ( node ) ) {
132
- return resultsOrEmpty ( node . resultList ) ;
132
+ return getResults ( node . resultList ) ;
133
133
} else if ( isSdsFunction ( node ) ) {
134
- return resultsOrEmpty ( node . resultList ) ;
134
+ return getResults ( node . resultList ) ;
135
135
} else if ( isSdsSegment ( node ) ) {
136
- return resultsOrEmpty ( node . resultList ) ;
136
+ return getResults ( node . resultList ) ;
137
137
} /* c8 ignore start */ else {
138
138
return [ ] ;
139
139
} /* c8 ignore stop */
140
140
} ;
141
141
142
- export const annotationCallsOrEmpty = ( node : SdsAnnotatedObject | undefined ) : SdsAnnotationCall [ ] => {
142
+ export const getAnnotationCalls = ( node : SdsAnnotatedObject | undefined ) : SdsAnnotationCall [ ] => {
143
143
if ( ! node ) {
144
144
/* c8 ignore next 2 */
145
145
return [ ] ;
@@ -157,96 +157,91 @@ export const findFirstAnnotationCallOf = (
157
157
node : SdsAnnotatedObject | undefined ,
158
158
expected : SdsAnnotation | undefined ,
159
159
) : SdsAnnotationCall | undefined => {
160
- return annotationCallsOrEmpty ( node ) . find ( ( it ) => {
160
+ return getAnnotationCalls ( node ) . find ( ( it ) => {
161
161
const actual = it . annotation ?. ref ;
162
162
return actual === expected ;
163
163
} ) ;
164
164
} ;
165
165
166
- export const argumentsOrEmpty = ( node : SdsArgumentList | SdsAbstractCall | undefined ) : SdsArgument [ ] => {
166
+ export const getArguments = ( node : SdsArgumentList | SdsAbstractCall | undefined ) : SdsArgument [ ] => {
167
167
if ( isSdsArgumentList ( node ) ) {
168
168
return node . arguments ;
169
169
} else {
170
170
return node ?. argumentList ?. arguments ?? [ ] ;
171
171
}
172
172
} ;
173
173
174
- export const assigneesOrEmpty = ( node : SdsAssignment | undefined ) : SdsAssignee [ ] => {
174
+ export const getAssignees = ( node : SdsAssignment | undefined ) : SdsAssignee [ ] => {
175
175
return node ?. assigneeList ?. assignees ?? [ ] ;
176
176
} ;
177
177
178
- export const blockLambdaResultsOrEmpty = ( node : SdsBlockLambda | undefined ) : SdsBlockLambdaResult [ ] => {
179
- return stream ( statementsOrEmpty ( node ?. body ) )
178
+ export const streamBlockLambdaResults = ( node : SdsBlockLambda | undefined ) : Stream < SdsBlockLambdaResult > => {
179
+ return stream ( getStatements ( node ?. body ) )
180
180
. filter ( isSdsAssignment )
181
- . flatMap ( assigneesOrEmpty )
182
- . filter ( isSdsBlockLambdaResult )
183
- . toArray ( ) ;
181
+ . flatMap ( getAssignees )
182
+ . filter ( isSdsBlockLambdaResult ) ;
184
183
} ;
185
184
186
- export const classMembersOrEmpty = (
185
+ export const getMatchingClassMembers = (
187
186
node : SdsClass | undefined ,
188
187
filterFunction : ( member : SdsClassMember ) => boolean = ( ) => true ,
189
188
) : SdsClassMember [ ] => {
190
189
return node ?. body ?. members ?. filter ( filterFunction ) ?? [ ] ;
191
190
} ;
192
191
193
- export const columnsOrEmpty = ( node : SdsSchema | undefined ) : SdsColumn [ ] => {
192
+ export const getColumns = ( node : SdsSchema | undefined ) : SdsColumn [ ] => {
194
193
return node ?. columnList ?. columns ?? [ ] ;
195
194
} ;
196
195
197
- export const enumVariantsOrEmpty = ( node : SdsEnum | undefined ) : SdsEnumVariant [ ] => {
196
+ export const getEnumVariants = ( node : SdsEnum | undefined ) : SdsEnumVariant [ ] => {
198
197
return node ?. body ?. variants ?? [ ] ;
199
198
} ;
200
199
201
- export const importsOrEmpty = ( node : SdsModule | undefined ) : SdsImport [ ] => {
200
+ export const getImports = ( node : SdsModule | undefined ) : SdsImport [ ] => {
202
201
return node ?. imports ?? [ ] ;
203
202
} ;
204
203
205
- export const importedDeclarationsOrEmpty = ( node : SdsQualifiedImport | undefined ) : SdsImportedDeclaration [ ] => {
204
+ export const getImportedDeclarations = ( node : SdsQualifiedImport | undefined ) : SdsImportedDeclaration [ ] => {
206
205
return node ?. importedDeclarationList ?. importedDeclarations ?? [ ] ;
207
206
} ;
208
207
209
- export const literalsOrEmpty = ( node : SdsLiteralType | undefined ) : SdsLiteral [ ] => {
208
+ export const getLiterals = ( node : SdsLiteralType | undefined ) : SdsLiteral [ ] => {
210
209
return node ?. literalList ?. literals ?? [ ] ;
211
210
} ;
212
211
213
- export const moduleMembersOrEmpty = ( node : SdsModule | undefined ) : SdsModuleMember [ ] => {
212
+ export const getModuleMembers = ( node : SdsModule | undefined ) : SdsModuleMember [ ] => {
214
213
return node ?. members ?. filter ( isSdsModuleMember ) ?? [ ] ;
215
214
} ;
216
215
217
- export const packageNameOrUndefined = ( node : AstNode | undefined ) : string | undefined => {
216
+ export const getPackageName = ( node : AstNode | undefined ) : string | undefined => {
218
217
return getContainerOfType ( node , isSdsModule ) ?. name ;
219
218
} ;
220
219
221
- export const parametersOrEmpty = ( node : SdsCallable | undefined ) : SdsParameter [ ] => {
220
+ export const getParameters = ( node : SdsCallable | undefined ) : SdsParameter [ ] => {
222
221
return node ?. parameterList ?. parameters ?? [ ] ;
223
222
} ;
224
223
225
- export const parentTypesOrEmpty = ( node : SdsClass | undefined ) : SdsType [ ] => {
224
+ export const getParentTypes = ( node : SdsClass | undefined ) : SdsType [ ] => {
226
225
return node ?. parentTypeList ?. parentTypes ?? [ ] ;
227
226
} ;
228
227
229
- export const placeholdersOrEmpty = ( node : SdsBlock | undefined ) : SdsPlaceholder [ ] => {
230
- return stream ( statementsOrEmpty ( node ) )
231
- . filter ( isSdsAssignment )
232
- . flatMap ( assigneesOrEmpty )
233
- . filter ( isSdsPlaceholder )
234
- . toArray ( ) ;
228
+ export const streamPlaceholders = ( node : SdsBlock | undefined ) : Stream < SdsPlaceholder > => {
229
+ return stream ( getStatements ( node ) ) . filter ( isSdsAssignment ) . flatMap ( getAssignees ) . filter ( isSdsPlaceholder ) ;
235
230
} ;
236
231
237
- export const resultsOrEmpty = ( node : SdsResultList | undefined ) : SdsResult [ ] => {
232
+ export const getResults = ( node : SdsResultList | undefined ) : SdsResult [ ] => {
238
233
return node ?. results ?? [ ] ;
239
234
} ;
240
235
241
- export const statementsOrEmpty = ( node : SdsBlock | undefined ) : SdsStatement [ ] => {
236
+ export const getStatements = ( node : SdsBlock | undefined ) : SdsStatement [ ] => {
242
237
return node ?. statements ?? [ ] ;
243
238
} ;
244
239
245
- export const typeArgumentsOrEmpty = ( node : SdsTypeArgumentList | undefined ) : SdsTypeArgument [ ] => {
240
+ export const getTypeArguments = ( node : SdsTypeArgumentList | undefined ) : SdsTypeArgument [ ] => {
246
241
return node ?. typeArguments ?? [ ] ;
247
242
} ;
248
243
249
- export const typeParametersOrEmpty = (
244
+ export const getTypeParameters = (
250
245
node : SdsTypeParameterList | SdsNamedTypeDeclaration | undefined ,
251
246
) : SdsTypeParameter [ ] => {
252
247
if ( ! node ) {
@@ -256,9 +251,9 @@ export const typeParametersOrEmpty = (
256
251
if ( isSdsTypeParameterList ( node ) ) {
257
252
return node . typeParameters ;
258
253
} else if ( isSdsClass ( node ) ) {
259
- return typeParametersOrEmpty ( node . typeParameterList ) ;
254
+ return getTypeParameters ( node . typeParameterList ) ;
260
255
} else if ( isSdsEnumVariant ( node ) ) {
261
- return typeParametersOrEmpty ( node . typeParameterList ) ;
256
+ return getTypeParameters ( node . typeParameterList ) ;
262
257
} /* c8 ignore start */ else {
263
258
return [ ] ;
264
259
} /* c8 ignore stop */
0 commit comments