diff --git a/TODOnewNR.txt b/TODOnewNR.txt
index 72d50a1672..24c894e357 100644
--- a/TODOnewNR.txt
+++ b/TODOnewNR.txt
@@ -1,7 +1,6 @@
Commented code, needs to be ported and re-enabled:
ParseProjectContent
- Ambiences
DefinitionViewPad
Class Browser (removed from source tree; to be reimplemented using WPF)
NRefactoryLanguageConverter
diff --git a/src/AddIns/BackendBindings/CSharpBinding/Project/CSharpBinding.csproj b/src/AddIns/BackendBindings/CSharpBinding/Project/CSharpBinding.csproj
index c5a639e3b1..964b08d2c9 100644
--- a/src/AddIns/BackendBindings/CSharpBinding/Project/CSharpBinding.csproj
+++ b/src/AddIns/BackendBindings/CSharpBinding/Project/CSharpBinding.csproj
@@ -90,7 +90,7 @@
{53DCA265-3C3C-42F9-B647-F72BA678122B}
ICSharpCode.NRefactory.CSharp
- False
+ True
{3B2A5653-EC97-4001-BB9B-D90F1AF2C371}
diff --git a/src/Libraries/NRefactory/ICSharpCode.NRefactory.CSharp/OutputVisitor/CSharpAmbience.cs b/src/Libraries/NRefactory/ICSharpCode.NRefactory.CSharp/OutputVisitor/CSharpAmbience.cs
index d64ea6a15f..19960922e7 100644
--- a/src/Libraries/NRefactory/ICSharpCode.NRefactory.CSharp/OutputVisitor/CSharpAmbience.cs
+++ b/src/Libraries/NRefactory/ICSharpCode.NRefactory.CSharp/OutputVisitor/CSharpAmbience.cs
@@ -49,9 +49,7 @@ namespace ICSharpCode.NRefactory.CSharp
void ConvertMember(IMember member, ISynchronizedTypeResolveContext ctx, StringWriter writer)
{
- TypeSystemAstBuilder astBuilder = new TypeSystemAstBuilder(ctx);
- astBuilder.ShowModifiers = (ConversionFlags & ConversionFlags.ShowModifiers) == ConversionFlags.ShowModifiers;
- astBuilder.ShowAccessibility = (ConversionFlags & ConversionFlags.ShowAccessibility) == ConversionFlags.ShowAccessibility;
+ TypeSystemAstBuilder astBuilder = CreateAstBuilder(ctx);
astBuilder.ShowParameterNames = (ConversionFlags & ConversionFlags.ShowParameterNames) == ConversionFlags.ShowParameterNames;
AttributedNode node = (AttributedNode)astBuilder.ConvertEntity(member);
@@ -81,12 +79,19 @@ namespace ICSharpCode.NRefactory.CSharp
writer.Write((node is IndexerDeclaration) ? ']' : ')');
}
}
-
- void ConvertTypeDeclaration(ITypeDefinition typeDef, ITypeResolveContext ctx, StringWriter writer)
+
+ TypeSystemAstBuilder CreateAstBuilder(ITypeResolveContext ctx)
{
TypeSystemAstBuilder astBuilder = new TypeSystemAstBuilder(ctx);
astBuilder.ShowModifiers = (ConversionFlags & ConversionFlags.ShowModifiers) == ConversionFlags.ShowModifiers;
astBuilder.ShowAccessibility = (ConversionFlags & ConversionFlags.ShowAccessibility) == ConversionFlags.ShowAccessibility;
+ astBuilder.AlwaysUseShortTypeNames = (ConversionFlags & ConversionFlags.UseFullyQualifiedTypeNames) != ConversionFlags.UseFullyQualifiedTypeNames;
+ return astBuilder;
+ }
+
+ void ConvertTypeDeclaration(ITypeDefinition typeDef, ITypeResolveContext ctx, StringWriter writer)
+ {
+ TypeSystemAstBuilder astBuilder = CreateAstBuilder(ctx);
TypeDeclaration typeDeclaration = (TypeDeclaration)astBuilder.ConvertEntity(typeDef);
PrintModifiers(typeDeclaration.Modifiers, writer);
if ((ConversionFlags & ConversionFlags.ShowDefinitionKeyWord) == ConversionFlags.ShowDefinitionKeyWord) {
@@ -113,7 +118,7 @@ namespace ICSharpCode.NRefactory.CSharp
void WriteTypeDeclarationName(ITypeDefinition typeDef, ITypeResolveContext ctx, StringWriter writer)
{
- TypeSystemAstBuilder astBuilder = new TypeSystemAstBuilder(ctx);
+ TypeSystemAstBuilder astBuilder = CreateAstBuilder(ctx);
if (typeDef.DeclaringTypeDefinition != null) {
WriteTypeDeclarationName(typeDef.DeclaringTypeDefinition, ctx, writer);
writer.Write('.');
@@ -129,7 +134,7 @@ namespace ICSharpCode.NRefactory.CSharp
void WriteMemberDeclarationName(IMember member, ITypeResolveContext ctx, StringWriter writer)
{
- TypeSystemAstBuilder astBuilder = new TypeSystemAstBuilder(ctx);
+ TypeSystemAstBuilder astBuilder = CreateAstBuilder(ctx);
if ((ConversionFlags & ConversionFlags.UseFullyQualifiedMemberNames) == ConversionFlags.UseFullyQualifiedMemberNames) {
writer.Write(ConvertType(member.DeclaringType));
writer.Write('.');
@@ -193,11 +198,7 @@ namespace ICSharpCode.NRefactory.CSharp
public string ConvertVariable(IVariable v, ITypeResolveContext context)
{
using (var ctx = context.Synchronize()) {
- TypeSystemAstBuilder astBuilder = new TypeSystemAstBuilder(ctx);
- astBuilder.ShowModifiers = (ConversionFlags & ConversionFlags.ShowModifiers) == ConversionFlags.ShowModifiers;
- astBuilder.ShowAccessibility = (ConversionFlags & ConversionFlags.ShowAccessibility) == ConversionFlags.ShowAccessibility;
- astBuilder.ShowParameterNames = (ConversionFlags & ConversionFlags.ShowParameterNames) == ConversionFlags.ShowParameterNames;
- astBuilder.AlwaysUseShortTypeNames = (ConversionFlags & ConversionFlags.UseFullyQualifiedTypeNames) != ConversionFlags.UseFullyQualifiedTypeNames;
+ TypeSystemAstBuilder astBuilder = CreateAstBuilder(ctx);
AstNode astNode = astBuilder.ConvertVariable(v);
CSharpFormattingOptions formatting = new CSharpFormattingOptions();
StringWriter writer = new StringWriter();
@@ -208,8 +209,7 @@ namespace ICSharpCode.NRefactory.CSharp
public string ConvertType(IType type)
{
- TypeSystemAstBuilder astBuilder = new TypeSystemAstBuilder(MinimalResolveContext.Instance);
- astBuilder.AlwaysUseShortTypeNames = (ConversionFlags & ConversionFlags.UseFullyQualifiedTypeNames) != ConversionFlags.UseFullyQualifiedTypeNames;
+ TypeSystemAstBuilder astBuilder = CreateAstBuilder(MinimalResolveContext.Instance);
AstType astType = astBuilder.ConvertType(type);
CSharpFormattingOptions formatting = new CSharpFormattingOptions();
StringWriter writer = new StringWriter();
@@ -220,8 +220,7 @@ namespace ICSharpCode.NRefactory.CSharp
public string ConvertType(ITypeReference type, ITypeResolveContext context)
{
using (var ctx = context.Synchronize()) {
- TypeSystemAstBuilder astBuilder = new TypeSystemAstBuilder(ctx);
- astBuilder.AlwaysUseShortTypeNames = (ConversionFlags & ConversionFlags.UseFullyQualifiedTypeNames) != ConversionFlags.UseFullyQualifiedTypeNames;
+ TypeSystemAstBuilder astBuilder = CreateAstBuilder(ctx);
AstType astType = astBuilder.ConvertTypeReference(type);
CSharpFormattingOptions formatting = new CSharpFormattingOptions();
StringWriter writer = new StringWriter();