Using the Roslyn SDK, which SyntaxNode (derived) types can be bound to Symbols, and which methods are used to bind them?
So far, I am aware of SemanticModel.GetSymbolInfo(), SemanticModel.GetDeclaredSymbol() and SemanticModel.GetTypeInfo(). From my understanding, GetDeclaredSymbol() is used for binding declarations and GetTypeInfo() for binding expressions. I don't really know what GetSymbolInfo() is for specifically, I have been using it as a fallback if the other two produce null. Are there any additional methods for binding?
Also, is there a list of which SyntaxNode maps to which Symbol? Or at least a list of the SyntaxNodes that cannot be bound at all? Currently I am figuring out which SyntaxNode types to use for binding certain code elements by trial and error.