in Sources/MockoloFramework/Parsers/SwiftSyntaxExtensions.swift [232:270]
func model(with encloserAcl: String, declKind: NominalTypeDeclKind, metadata: AnnotationMetadata?, processed: Bool) -> (Model, String?, Bool) {
var clauseList = [IfMacroModel.Clause]()
var attrDesc: String?
var hasInit = false
for cl in self.clauses {
guard let clauseType = IfClauseType(cl) else {
continue
}
var subModels = [Model]()
if let list = cl.elements?.as(MemberBlockItemListSyntax.self) {
for element in list {
if let (item, attr, initFlag) = element.transformToModel(with: encloserAcl, declKind: declKind, metadata: metadata, processed: processed) {
subModels.append(item)
if let attr = attr, attr.contains(String.available) {
attrDesc = attr
}
hasInit = hasInit || initFlag
}
}
}
// Process entities for this clause
let uniqueSubModels = uniqueEntities(
in: subModels,
exclude: [:],
fullnames: []
).sorted(path: \.value.offset, fallback: \.key)
clauseList.append(IfMacroModel.Clause(
type: clauseType,
entities: uniqueSubModels
))
}
let macroModel = IfMacroModel(clauses: clauseList, offset: self.offset)
return (macroModel, attrDesc, hasInit)
}