5cabeb4b10
A Swift protocol requirement — a bodyless `func generate() -> String` inside a protocol — was absent from the graph entirely. Swift codebases are heavily protocol-driven, so the requirement is very often the declaration a reader is looking for, and "who declares generate()" had no answer. Three edits deliver it: protocol_body joins the class-body types so a protocol's members are walked at all; protocol_function_declaration joins swift_func_types, because extract_class_methods gates on that set and would otherwise walk the requirement and discard it; and both name resolvers accept the node, which has the same simple_identifier shape as function_declaration. Distilled from #613 by xbsjason. That PR also carried an enum/struct half whose two assertions fail on CI: tree-sitter-swift has no struct_declaration or enum_declaration node type (it models both as class_declaration), so the corresponding swift_class_types entries are inert and a bare enum is still labeled Class. That is a real pre-existing modelling gap, left untouched here and now documented at the dead entries rather than silently deleted. Also dropped from the original: a find_first_descendant_by_kind rescue in extract_class_methods. Removing it changes no test outcome once the function-type entry is present, so it was carrying nothing. Advances #43. Co-authored-by: xbsjason <xbsjason@gmail.com> Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>