in Sources/MockoloFramework/Parsers/SwiftSyntaxExtensions.swift [154:194]
func transformToModel(with encloserAcl: String, declKind: NominalTypeDeclKind, metadata: AnnotationMetadata?, processed: Bool) -> (Model, String?, Bool)? {
if let varMember = self.decl.as(VariableDeclSyntax.self) {
if validateMember(varMember.modifiers, declKind, processed: processed) {
let acl = memberAcl(varMember.modifiers, encloserAcl, declKind)
if let item = varMember.models(with: acl, metadata: metadata, processed: processed).first {
return (item, varMember.attributes.trimmedDescription, false)
}
}
} else if let funcMember = self.decl.as(FunctionDeclSyntax.self) {
if validateMember(funcMember.modifiers, declKind, processed: processed) {
let acl = memberAcl(funcMember.modifiers, encloserAcl, declKind)
let item = funcMember.model(with: acl, declKind: declKind, funcsWithArgsHistory: metadata?.funcsWithArgsHistory, customModifiers: metadata?.modifiers, processed: processed)
return (item, funcMember.attributes.trimmedDescription, false)
}
} else if let subscriptMember = self.decl.as(SubscriptDeclSyntax.self) {
if validateMember(subscriptMember.modifiers, declKind, processed: processed) {
let acl = memberAcl(subscriptMember.modifiers, encloserAcl, declKind)
let item = subscriptMember.model(with: acl, declKind: declKind, processed: processed)
return (item, subscriptMember.attributes.trimmedDescription, false)
}
} else if let initMember = self.decl.as(InitializerDeclSyntax.self) {
if validateInit(initMember, declKind, processed: processed) {
let acl = memberAcl(initMember.modifiers, encloserAcl, declKind)
let item = initMember.model(with: acl, declKind: declKind, processed: processed)
return (item, initMember.attributes.trimmedDescription, true)
}
} else if let patMember = self.decl.as(AssociatedTypeDeclSyntax.self) {
let acl = memberAcl(patMember.modifiers, encloserAcl, declKind)
let item = patMember.model(with: acl, declKind: declKind, overrides: metadata?.typeAliases)
return (item, patMember.attributes.trimmedDescription, false)
} else if let taMember = self.decl.as(TypeAliasDeclSyntax.self) {
let acl = memberAcl(taMember.modifiers, encloserAcl, declKind)
let item = taMember.model(with: acl, declKind: declKind, overrides: metadata?.typeAliases, processed: processed)
return (item, taMember.attributes.trimmedDescription, false)
} else if let ifMacroMember = self.decl.as(IfConfigDeclSyntax.self) {
let (item, attr, initFlag) = ifMacroMember.model(with: encloserAcl, declKind: declKind, metadata: metadata, processed: processed)
return (item, attr, initFlag)
}
return nil
}