func inherits()

in Generator/Sources/NeedleFramework/Utilities/SwiftSyntaxExtensions.swift [29:39]


    func inherits(from typeName: String) -> Bool {
        
        let inheritedTypeSyntax = inheritanceClause?.inheritedTypes.first?.type
        // Usually, first token is the inherited type name. But sometimes it could also be the module prefix.
        // In that case, we need to look for the actual type name by checking for `MemberTypeIdentifierSyntax`
        if inheritedTypeSyntax?.firstToken(viewMode: .sourceAccurate)?.nextToken(viewMode: .sourceAccurate)?.tokenKind != TokenKind.period {
            return inheritedTypeSyntax?.firstToken(viewMode: .sourceAccurate)?.text == typeName
        } else {
            return inheritedTypeSyntax?.as(MemberTypeSyntax.self)?.name.text == typeName
        }
    }