func models()

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
    }