dotnet/roslyn

Cannot get type of implicitly typed array in VB.NET

Open

#11,933 创建于 2016年6月11日

在 GitHub 查看
 (5 评论) (0 反应) (0 负责人)C# (4,257 fork)batch import
Area-CompilersBugConcept-APILanguage-VBhelp wanted

仓库指标

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

描述

Version Used: 1.2.2

Steps to Reproduce:

  1. Have the following piece of code in your sample VB.NET solution (lets call {1, 2} initExpr):

    Dim a = {1, 2}
    
  2. setup roslyn code analysis solution and try to get type of initExpr syntax node using:

    var type = model.GetTypeInfo(initExpr).Type
    

    where model is SemanticModel of document where initExpr resides,

  3. observe type is null

Expected Behavior: Type of initExpr should be Integer()

Actual Behavior: Type of initExpr is null

Why?

  • above approach to get type info works just fine in C# for implicitly typed arrays such as new[] {1, 2},
  • putting cursor over a variable a in Visual Studio correctly shows it is of type Integer() so the type is obviously known and should be returned when trying to access it via GetSymbolInfo method.

Issue initially described at StackOverflow.

贡献者指南