Skip to content
This repository was archived by the owner on Oct 16, 2020. It is now read-only.

Commit 89dc154

Browse files
committed
properly handle VB.Net to CS LINQ where and select output
1 parent 7555fc0 commit 89dc154

2 files changed

Lines changed: 22 additions & 2 deletions

File tree

src/Libraries/NRefactory/Project/Src/PrettyPrinter/CSharp/CSharpOutputVisitor.cs

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3187,9 +3187,22 @@ public override object TrackedVisitQueryExpressionSelectClause(QueryExpressionSe
31873187
outputFormatter.Space();
31883188
return selectClause.Projection.AcceptVisitor(this, data);
31893189
}
3190-
3191-
public override object TrackedVisitQueryExpressionWhereClause(QueryExpressionWhereClause whereClause, object data)
3190+
3191+
public override object TrackedVisitQueryExpressionSelectVBClause(QueryExpressionSelectVBClause queryExpressionSelectVBClause, object data)
3192+
{
3193+
outputFormatter.Space();
3194+
outputFormatter.PrintToken(Tokens.Select);
3195+
outputFormatter.Space();
3196+
foreach (var v in queryExpressionSelectVBClause.Variables)
3197+
{
3198+
v.AcceptVisitor(this, data);
3199+
}
3200+
return null;
3201+
}
3202+
3203+
public override object TrackedVisitQueryExpressionWhereClause(QueryExpressionWhereClause whereClause, object data)
31923204
{
3205+
outputFormatter.Space();
31933206
outputFormatter.PrintToken(Tokens.Where);
31943207
outputFormatter.Space();
31953208
return whereClause.Condition.AcceptVisitor(this, data);

src/Libraries/NRefactory/Test/Output/CSharp/VBNetToCSharpConverterTest.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -914,6 +914,13 @@ public void XmlEntityReference2()
914914
@"var xml = new XElement(""A"", ""\"""");");
915915
}
916916

917+
918+
[Test]
919+
public void LinqQueryWhereSelect()
920+
{
921+
TestStatement(@"Dim value = From value In values Where value = ""someValue"" Select value",
922+
@"var value = from value in values where value == ""someValue"" select value;");
923+
}
917924
[Test]
918925
public void SD2_1500a()
919926
{

0 commit comments

Comments
 (0)