dotnet/roslyn

Cannot get type of implicitly typed array in VB.NET

Open

#11.933 aperta il 11 giu 2016

Vedi su GitHub
 (5 commenti) (0 reazioni) (0 assegnatari)C# (4257 fork)batch import
Area-CompilersBugConcept-APILanguage-VBhelp wanted

Metriche repository

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

Descrizione

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.

Guida contributor