diff --git a/src/Libraries/NRefactory/NRefactory.sln b/src/Libraries/NRefactory/NRefactory.sln
index 587bbf5bfe..c4939974b6 100644
--- a/src/Libraries/NRefactory/NRefactory.sln
+++ b/src/Libraries/NRefactory/NRefactory.sln
@@ -1,5 +1,5 @@
Microsoft Visual Studio Solution File, Format Version 9.00
-# SharpDevelop 2.0.0.1073
+# SharpDevelop 2.1.0.1602
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactory", "Project\NRefactory.csproj", "{3A9AE6AA-BC07-4A2F-972C-581E3AE2F195}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryTests", "Test\NRefactoryTests.csproj", "{870115DD-960A-4406-A6B9-600BCDC36A03}"
diff --git a/src/Libraries/NRefactory/NRefactoryASTGenerator/Main.cs b/src/Libraries/NRefactory/NRefactoryASTGenerator/Main.cs
index cae215a3d2..3beb02bfd5 100644
--- a/src/Libraries/NRefactory/NRefactoryASTGenerator/Main.cs
+++ b/src/Libraries/NRefactory/NRefactoryASTGenerator/Main.cs
@@ -21,8 +21,8 @@ namespace NRefactoryASTGenerator
public static void Main(string[] args)
{
- string directory = "../../../Project/Src/Parser/AST/";
- string visitorsDir = "../../../Project/Src/Parser/Visitors/";
+ string directory = "../../../Project/Src/Ast/";
+ string visitorsDir = "../../../Project/Src/Visitors/";
Debug.WriteLine("AST Generator running...");
if (!File.Exists(directory + "INode.cs")) {
Debug.WriteLine("did not find output directory");
diff --git a/src/Libraries/NRefactory/Project/NRefactory.csproj b/src/Libraries/NRefactory/Project/NRefactory.csproj
index 457a415ade..311f90c040 100644
--- a/src/Libraries/NRefactory/Project/NRefactory.csproj
+++ b/src/Libraries/NRefactory/Project/NRefactory.csproj
@@ -53,13 +53,6 @@
-
-
-
-
-
-
-
@@ -77,66 +70,86 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Configuration\GlobalAssemblyInfo.cs
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Libraries/NRefactory/Project/Src/Parser/AST/AbstractNode.cs b/src/Libraries/NRefactory/Project/Src/Ast/AbstractNode.cs
similarity index 100%
rename from src/Libraries/NRefactory/Project/Src/Parser/AST/AbstractNode.cs
rename to src/Libraries/NRefactory/Project/Src/Ast/AbstractNode.cs
diff --git a/src/Libraries/NRefactory/Project/Src/Parser/AST/Enums.cs b/src/Libraries/NRefactory/Project/Src/Ast/Enums.cs
similarity index 100%
rename from src/Libraries/NRefactory/Project/Src/Parser/AST/Enums.cs
rename to src/Libraries/NRefactory/Project/Src/Ast/Enums.cs
diff --git a/src/Libraries/NRefactory/Project/Src/Parser/AST/General/BlockStatement.cs b/src/Libraries/NRefactory/Project/Src/Ast/General/BlockStatement.cs
similarity index 100%
rename from src/Libraries/NRefactory/Project/Src/Parser/AST/General/BlockStatement.cs
rename to src/Libraries/NRefactory/Project/Src/Ast/General/BlockStatement.cs
diff --git a/src/Libraries/NRefactory/Project/Src/Parser/AST/General/CompilationUnit.cs b/src/Libraries/NRefactory/Project/Src/Ast/General/CompilationUnit.cs
similarity index 100%
rename from src/Libraries/NRefactory/Project/Src/Parser/AST/General/CompilationUnit.cs
rename to src/Libraries/NRefactory/Project/Src/Ast/General/CompilationUnit.cs
diff --git a/src/Libraries/NRefactory/Project/Src/Parser/AST/General/Expression.cs b/src/Libraries/NRefactory/Project/Src/Ast/General/Expression.cs
similarity index 100%
rename from src/Libraries/NRefactory/Project/Src/Parser/AST/General/Expression.cs
rename to src/Libraries/NRefactory/Project/Src/Ast/General/Expression.cs
diff --git a/src/Libraries/NRefactory/Project/Src/Parser/AST/General/LocalVariableDeclaration.cs b/src/Libraries/NRefactory/Project/Src/Ast/General/LocalVariableDeclaration.cs
similarity index 100%
rename from src/Libraries/NRefactory/Project/Src/Parser/AST/General/LocalVariableDeclaration.cs
rename to src/Libraries/NRefactory/Project/Src/Ast/General/LocalVariableDeclaration.cs
diff --git a/src/Libraries/NRefactory/Project/Src/Parser/AST/General/PrimitiveExpression.cs b/src/Libraries/NRefactory/Project/Src/Ast/General/PrimitiveExpression.cs
similarity index 100%
rename from src/Libraries/NRefactory/Project/Src/Parser/AST/General/PrimitiveExpression.cs
rename to src/Libraries/NRefactory/Project/Src/Ast/General/PrimitiveExpression.cs
diff --git a/src/Libraries/NRefactory/Project/Src/Parser/AST/General/Statement.cs b/src/Libraries/NRefactory/Project/Src/Ast/General/Statement.cs
similarity index 100%
rename from src/Libraries/NRefactory/Project/Src/Parser/AST/General/Statement.cs
rename to src/Libraries/NRefactory/Project/Src/Ast/General/Statement.cs
diff --git a/src/Libraries/NRefactory/Project/Src/Parser/AST/Generated.cs b/src/Libraries/NRefactory/Project/Src/Ast/Generated.cs
similarity index 100%
rename from src/Libraries/NRefactory/Project/Src/Parser/AST/Generated.cs
rename to src/Libraries/NRefactory/Project/Src/Ast/Generated.cs
diff --git a/src/Libraries/NRefactory/Project/Src/Parser/AST/INode.cs b/src/Libraries/NRefactory/Project/Src/Ast/INode.cs
similarity index 100%
rename from src/Libraries/NRefactory/Project/Src/Parser/AST/INode.cs
rename to src/Libraries/NRefactory/Project/Src/Ast/INode.cs
diff --git a/src/Libraries/NRefactory/Project/Src/Parser/AST/INullable.cs b/src/Libraries/NRefactory/Project/Src/Ast/INullable.cs
similarity index 100%
rename from src/Libraries/NRefactory/Project/Src/Parser/AST/INullable.cs
rename to src/Libraries/NRefactory/Project/Src/Ast/INullable.cs
diff --git a/src/Libraries/NRefactory/Project/Src/Parser/AST/TypeReference.cs b/src/Libraries/NRefactory/Project/Src/Ast/TypeReference.cs
similarity index 100%
rename from src/Libraries/NRefactory/Project/Src/Parser/AST/TypeReference.cs
rename to src/Libraries/NRefactory/Project/Src/Ast/TypeReference.cs
diff --git a/src/Libraries/NRefactory/Project/Src/Output/EnvironmentInformationProvider.cs b/src/Libraries/NRefactory/Project/Src/EnvironmentInformationProvider.cs
similarity index 100%
rename from src/Libraries/NRefactory/Project/Src/Output/EnvironmentInformationProvider.cs
rename to src/Libraries/NRefactory/Project/Src/EnvironmentInformationProvider.cs
diff --git a/src/Libraries/NRefactory/Project/Src/Parser/Visitors/IASTVisitor.cs b/src/Libraries/NRefactory/Project/Src/IAstVisitor.cs
similarity index 100%
rename from src/Libraries/NRefactory/Project/Src/Parser/Visitors/IASTVisitor.cs
rename to src/Libraries/NRefactory/Project/Src/IAstVisitor.cs
diff --git a/src/Libraries/NRefactory/Project/Src/Parser/Location.cs b/src/Libraries/NRefactory/Project/Src/Location.cs
similarity index 100%
rename from src/Libraries/NRefactory/Project/Src/Parser/Location.cs
rename to src/Libraries/NRefactory/Project/Src/Location.cs
diff --git a/src/Libraries/NRefactory/Project/Src/Parser/ParserFactory.cs b/src/Libraries/NRefactory/Project/Src/ParserFactory.cs
similarity index 100%
rename from src/Libraries/NRefactory/Project/Src/Parser/ParserFactory.cs
rename to src/Libraries/NRefactory/Project/Src/ParserFactory.cs
diff --git a/src/Libraries/NRefactory/Project/Src/Output/AbstractOutputFormatter.cs b/src/Libraries/NRefactory/Project/Src/PrettyPrinter/AbstractOutputFormatter.cs
similarity index 100%
rename from src/Libraries/NRefactory/Project/Src/Output/AbstractOutputFormatter.cs
rename to src/Libraries/NRefactory/Project/Src/PrettyPrinter/AbstractOutputFormatter.cs
diff --git a/src/Libraries/NRefactory/Project/Src/Output/AbstractPrettyPrintOptions.cs b/src/Libraries/NRefactory/Project/Src/PrettyPrinter/AbstractPrettyPrintOptions.cs
similarity index 100%
rename from src/Libraries/NRefactory/Project/Src/Output/AbstractPrettyPrintOptions.cs
rename to src/Libraries/NRefactory/Project/Src/PrettyPrinter/AbstractPrettyPrintOptions.cs
diff --git a/src/Libraries/NRefactory/Project/Src/Output/CSharp/CSharpOutputVisitor.cs b/src/Libraries/NRefactory/Project/Src/PrettyPrinter/CSharp/CSharpOutputVisitor.cs
similarity index 100%
rename from src/Libraries/NRefactory/Project/Src/Output/CSharp/CSharpOutputVisitor.cs
rename to src/Libraries/NRefactory/Project/Src/PrettyPrinter/CSharp/CSharpOutputVisitor.cs
diff --git a/src/Libraries/NRefactory/Project/Src/Output/CSharp/OutputFormatter.cs b/src/Libraries/NRefactory/Project/Src/PrettyPrinter/CSharp/OutputFormatter.cs
similarity index 100%
rename from src/Libraries/NRefactory/Project/Src/Output/CSharp/OutputFormatter.cs
rename to src/Libraries/NRefactory/Project/Src/PrettyPrinter/CSharp/OutputFormatter.cs
diff --git a/src/Libraries/NRefactory/Project/Src/Output/CSharp/PrettyPrintOptions.cs b/src/Libraries/NRefactory/Project/Src/PrettyPrinter/CSharp/PrettyPrintOptions.cs
similarity index 100%
rename from src/Libraries/NRefactory/Project/Src/Output/CSharp/PrettyPrintOptions.cs
rename to src/Libraries/NRefactory/Project/Src/PrettyPrinter/CSharp/PrettyPrintOptions.cs
diff --git a/src/Libraries/NRefactory/Project/Src/Output/IOutputASTVisitor.cs b/src/Libraries/NRefactory/Project/Src/PrettyPrinter/IOutputAstVisitor.cs
similarity index 100%
rename from src/Libraries/NRefactory/Project/Src/Output/IOutputASTVisitor.cs
rename to src/Libraries/NRefactory/Project/Src/PrettyPrinter/IOutputAstVisitor.cs
diff --git a/src/Libraries/NRefactory/Project/Src/Output/NodeInformVisitor.cs b/src/Libraries/NRefactory/Project/Src/PrettyPrinter/NodeInformVisitor.cs
similarity index 100%
rename from src/Libraries/NRefactory/Project/Src/Output/NodeInformVisitor.cs
rename to src/Libraries/NRefactory/Project/Src/PrettyPrinter/NodeInformVisitor.cs
diff --git a/src/Libraries/NRefactory/Project/Src/Output/SpecialNodesInserter.cs b/src/Libraries/NRefactory/Project/Src/PrettyPrinter/SpecialNodesInserter.cs
similarity index 100%
rename from src/Libraries/NRefactory/Project/Src/Output/SpecialNodesInserter.cs
rename to src/Libraries/NRefactory/Project/Src/PrettyPrinter/SpecialNodesInserter.cs
diff --git a/src/Libraries/NRefactory/Project/Src/Output/VBNet/VBNetOutputFormatter.cs b/src/Libraries/NRefactory/Project/Src/PrettyPrinter/VBNet/VBNetOutputFormatter.cs
similarity index 100%
rename from src/Libraries/NRefactory/Project/Src/Output/VBNet/VBNetOutputFormatter.cs
rename to src/Libraries/NRefactory/Project/Src/PrettyPrinter/VBNet/VBNetOutputFormatter.cs
diff --git a/src/Libraries/NRefactory/Project/Src/Output/VBNet/VBNetOutputVisitor.cs b/src/Libraries/NRefactory/Project/Src/PrettyPrinter/VBNet/VBNetOutputVisitor.cs
similarity index 100%
rename from src/Libraries/NRefactory/Project/Src/Output/VBNet/VBNetOutputVisitor.cs
rename to src/Libraries/NRefactory/Project/Src/PrettyPrinter/VBNet/VBNetOutputVisitor.cs
diff --git a/src/Libraries/NRefactory/Project/Src/Output/VBNet/VBNetPrettyPrintOptions.cs b/src/Libraries/NRefactory/Project/Src/PrettyPrinter/VBNet/VBNetPrettyPrintOptions.cs
similarity index 100%
rename from src/Libraries/NRefactory/Project/Src/Output/VBNet/VBNetPrettyPrintOptions.cs
rename to src/Libraries/NRefactory/Project/Src/PrettyPrinter/VBNet/VBNetPrettyPrintOptions.cs
diff --git a/src/Libraries/NRefactory/Project/Src/Parser/Visitors/AbstractASTVisitor.cs b/src/Libraries/NRefactory/Project/Src/Visitors/AbstractASTVisitor.cs
similarity index 100%
rename from src/Libraries/NRefactory/Project/Src/Parser/Visitors/AbstractASTVisitor.cs
rename to src/Libraries/NRefactory/Project/Src/Visitors/AbstractASTVisitor.cs
diff --git a/src/Libraries/NRefactory/Project/Src/Parser/Visitors/AbstractAstTransformer.cs b/src/Libraries/NRefactory/Project/Src/Visitors/AbstractAstTransformer.cs
similarity index 100%
rename from src/Libraries/NRefactory/Project/Src/Parser/Visitors/AbstractAstTransformer.cs
rename to src/Libraries/NRefactory/Project/Src/Visitors/AbstractAstTransformer.cs
diff --git a/src/Libraries/NRefactory/Project/Src/Parser/Visitors/CSharpConstructsVisitor.cs b/src/Libraries/NRefactory/Project/Src/Visitors/CSharpConstructsVisitor.cs
similarity index 100%
rename from src/Libraries/NRefactory/Project/Src/Parser/Visitors/CSharpConstructsVisitor.cs
rename to src/Libraries/NRefactory/Project/Src/Visitors/CSharpConstructsVisitor.cs
diff --git a/src/Libraries/NRefactory/Project/Src/Parser/Visitors/CSharpToVBNetConvertVisitor.cs b/src/Libraries/NRefactory/Project/Src/Visitors/CSharpToVBNetConvertVisitor.cs
similarity index 100%
rename from src/Libraries/NRefactory/Project/Src/Parser/Visitors/CSharpToVBNetConvertVisitor.cs
rename to src/Libraries/NRefactory/Project/Src/Visitors/CSharpToVBNetConvertVisitor.cs
diff --git a/src/Libraries/NRefactory/Project/Src/Output/CodeDOM/CodeDOMOutputVisitor.cs b/src/Libraries/NRefactory/Project/Src/Visitors/CodeDOMOutputVisitor.cs
similarity index 100%
rename from src/Libraries/NRefactory/Project/Src/Output/CodeDOM/CodeDOMOutputVisitor.cs
rename to src/Libraries/NRefactory/Project/Src/Visitors/CodeDOMOutputVisitor.cs
diff --git a/src/Libraries/NRefactory/Project/Src/Output/CodeDOM/CodeDOMVerboseOutputGenerator.cs b/src/Libraries/NRefactory/Project/Src/Visitors/CodeDOMVerboseOutputGenerator.cs
similarity index 100%
rename from src/Libraries/NRefactory/Project/Src/Output/CodeDOM/CodeDOMVerboseOutputGenerator.cs
rename to src/Libraries/NRefactory/Project/Src/Visitors/CodeDOMVerboseOutputGenerator.cs
diff --git a/src/Libraries/NRefactory/Project/Src/Parser/Visitors/LookupTableVisitor.cs b/src/Libraries/NRefactory/Project/Src/Visitors/LookupTableVisitor.cs
similarity index 100%
rename from src/Libraries/NRefactory/Project/Src/Parser/Visitors/LookupTableVisitor.cs
rename to src/Libraries/NRefactory/Project/Src/Visitors/LookupTableVisitor.cs
diff --git a/src/Libraries/NRefactory/Project/Src/Parser/Visitors/PrefixFieldsVisitor.cs b/src/Libraries/NRefactory/Project/Src/Visitors/PrefixFieldsVisitor.cs
similarity index 100%
rename from src/Libraries/NRefactory/Project/Src/Parser/Visitors/PrefixFieldsVisitor.cs
rename to src/Libraries/NRefactory/Project/Src/Visitors/PrefixFieldsVisitor.cs
diff --git a/src/Libraries/NRefactory/Project/Src/Parser/Visitors/ToCSharpConvertVisitor.cs b/src/Libraries/NRefactory/Project/Src/Visitors/ToCSharpConvertVisitor.cs
similarity index 100%
rename from src/Libraries/NRefactory/Project/Src/Parser/Visitors/ToCSharpConvertVisitor.cs
rename to src/Libraries/NRefactory/Project/Src/Visitors/ToCSharpConvertVisitor.cs
diff --git a/src/Libraries/NRefactory/Project/Src/Parser/Visitors/ToVBNetConvertVisitor.cs b/src/Libraries/NRefactory/Project/Src/Visitors/ToVBNetConvertVisitor.cs
similarity index 100%
rename from src/Libraries/NRefactory/Project/Src/Parser/Visitors/ToVBNetConvertVisitor.cs
rename to src/Libraries/NRefactory/Project/Src/Visitors/ToVBNetConvertVisitor.cs
diff --git a/src/Libraries/NRefactory/Project/Src/Parser/Visitors/VBNetConstructsConvertVisitor.cs b/src/Libraries/NRefactory/Project/Src/Visitors/VBNetConstructsConvertVisitor.cs
similarity index 100%
rename from src/Libraries/NRefactory/Project/Src/Parser/Visitors/VBNetConstructsConvertVisitor.cs
rename to src/Libraries/NRefactory/Project/Src/Visitors/VBNetConstructsConvertVisitor.cs
diff --git a/src/Libraries/NRefactory/Project/Src/Parser/Visitors/VBNetToCSharpConvertVisitor.cs b/src/Libraries/NRefactory/Project/Src/Visitors/VBNetToCSharpConvertVisitor.cs
similarity index 100%
rename from src/Libraries/NRefactory/Project/Src/Parser/Visitors/VBNetToCSharpConvertVisitor.cs
rename to src/Libraries/NRefactory/Project/Src/Visitors/VBNetToCSharpConvertVisitor.cs