dotnet/roslyn

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

Open

#6,366 创建于 2015年10月27日

在 GitHub 查看
 (0 评论) (0 反应) (0 负责人)C# (4,257 fork)batch import
Area-CompilersConcept-APIFeature Requesthelp wanted

仓库指标

Star
 (20,414 star)
PR 合并指标
 (平均合并 6天 17小时) (30 天内合并 256 个 PR)

描述

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

贡献者指南