dotnet/roslyn

VB: No compiler API to get built in-operator of AssignmentStatement

Open

#6366 aperta il 27 ott 2015

Vedi su GitHub
 (0 commenti) (0 reazioni) (0 assegnatari)C# (4257 fork)batch import
Area-CompilersConcept-APIFeature Requesthelp wanted

Metriche repository

Star
 (20.414 star)
Metriche merge PR
 (Merge medio 6g 17h) (256 PR mergiate in 30 g)

Descrizione

While we can use GetSymbolInfo to retrieve the built-in operator used in an expression, we currently lack an API to retrieve the built-in operator used in a VB assignment statement. This results in analysis problems like the one causing #2560. Additionally, VB IDE features work inconsistently because built-in operators can't always be retrieved from the compiler APIs.

Module Program
    Sub Main()
        Dim x As Integer
        x = x + 1
        x += 1
    End Sub
End Module

In the code above, if the user hovers over + in the first assignment statement, they'll see the built-in operator in the Quick Info tooltip:

image

However, there's no tooltip if they hover over +=.

This is in contrast to C#. In C#, because assignments are expressions, GetSymbolInfo can return the built-in operator for each case:

image

image

Guida contributor