in Sources/MockoloFramework/Parsers/SwiftSyntaxExtensions.swift [350:381]
func models(with acl: String, declType: DeclType, metadata: AnnotationMetadata?, processed: Bool) -> [Model] {
// Detect whether it's static
let isStatic = self.modifiers.isStatic
// Need to access pattern bindings to get name, type, and other info of a var decl
let varmodels = self.bindings.compactMap { (v: PatternBindingSyntax) -> Model in
let name = v.pattern.firstToken(viewMode: .sourceAccurate)?.text ?? String.unknownVal
var typeName = ""
var potentialInitParam = false
// Get the type info and whether it can be a var param for an initializer
if let vtype = v.typeAnnotation?.type.description.trimmingCharacters(in: .whitespaces) {
potentialInitParam = name.canBeInitParam(type: vtype, isStatic: isStatic)
typeName = vtype
}
let varmodel = VariableModel(name: name,
typeName: typeName,
acl: acl,
encloserType: declType,
isStatic: isStatic,
canBeInitParam: potentialInitParam,
offset: v.offset,
rxTypes: metadata?.varTypes,
customModifiers: metadata?.modifiers,
modelDescription: self.description,
combineType: metadata?.combineTypes?[name] ?? metadata?.combineTypes?["all"],
processed: processed)
return varmodel
}
return varmodels
}