From 81e6acf7946d8edc1563df22014efe085dcc2347 Mon Sep 17 00:00:00 2001 From: Daniel Grunwald Date: Sat, 23 Jan 2010 15:45:12 +0000 Subject: [PATCH] Fixed forum-10453: NRefactory VBNetOutputVisitor writes incorrect "AS" keyword git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/3.0@5431 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61 --- .../Src/PrettyPrinter/VBNet/VBNetOutputVisitor.cs | 10 ++++++---- .../NRefactory/Test/Output/VBNet/VBNetOutputTest.cs | 6 ++++++ 2 files changed, 12 insertions(+), 4 deletions(-) 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"); + } } }