Roslyn has visitor pattern combined with the 'Kind' enumeration you mentioned. You can either choose to visiti a SyntaxNode of a certain type, or override the generic version and decide what you want to do based on that enumeration.
C# doesnt have exhaustive switch over enums.
It needs to get "closed enum" lang. feature.
C# doesnt have exhaustive switch over enums.
It needs to get "closed enum" lang. feature.