diff --git a/src/Libraries/NRefactory/Project/Src/PrettyPrinter/VBNet/VBNetOutputVisitor.cs b/src/Libraries/NRefactory/Project/Src/PrettyPrinter/VBNet/VBNetOutputVisitor.cs index 90cae73eb5..f2fbd3b262 100644 --- a/src/Libraries/NRefactory/Project/Src/PrettyPrinter/VBNet/VBNetOutputVisitor.cs +++ b/src/Libraries/NRefactory/Project/Src/PrettyPrinter/VBNet/VBNetOutputVisitor.cs @@ -1739,10 +1739,12 @@ namespace ICSharpCode.NRefactory.PrettyPrinter // loop control variable outputFormatter.PrintIdentifier(foreachStatement.VariableName); - outputFormatter.Space(); - outputFormatter.PrintToken(Tokens.As); - outputFormatter.Space(); - TrackedVisit(foreachStatement.TypeReference, data); + if (!foreachStatement.TypeReference.IsNull) { + outputFormatter.Space(); + outputFormatter.PrintToken(Tokens.As); + outputFormatter.Space(); + TrackedVisit(foreachStatement.TypeReference, data); + } outputFormatter.Space(); outputFormatter.PrintToken(Tokens.In); diff --git a/src/Libraries/NRefactory/Test/Output/VBNet/VBNetOutputTest.cs b/src/Libraries/NRefactory/Test/Output/VBNet/VBNetOutputTest.cs index 54d1dc2d52..e1056d7580 100644 --- a/src/Libraries/NRefactory/Test/Output/VBNet/VBNetOutputTest.cs +++ b/src/Libraries/NRefactory/Test/Output/VBNet/VBNetOutputTest.cs @@ -497,5 +497,11 @@ End Using"); "Option Infer On\n" + "Option Compare Text"); } + + [Test] + public void UntypedForeach() + { + TestStatement("For Each x In myGuidArray\nNext"); + } } }