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
}
}