From c3c65840e7e4cdbfdf2c5e082e3587212a98b1c1 Mon Sep 17 00:00:00 2001 From: Siegfried Pammer <siegfriedpammer@gmail.com> Date: Wed, 8 Jan 2014 23:56:13 +0100 Subject: [PATCH] only use fully qualified names for type and member definitions --- .../OutputVisitor/CSharpAmbience.cs | 4 +++- .../ICSharpCode.NRefactory/TypeSystem/IAmbience.cs | 7 ++++++- src/Main/Base/Project/Editor/XmlDocFormatter.cs | 4 ++-- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/Libraries/NRefactory/ICSharpCode.NRefactory.CSharp/OutputVisitor/CSharpAmbience.cs b/src/Libraries/NRefactory/ICSharpCode.NRefactory.CSharp/OutputVisitor/CSharpAmbience.cs index 84d72ff750..053b6efadf 100644 --- a/src/Libraries/NRefactory/ICSharpCode.NRefactory.CSharp/OutputVisitor/CSharpAmbience.cs +++ b/src/Libraries/NRefactory/ICSharpCode.NRefactory.CSharp/OutputVisitor/CSharpAmbience.cs @@ -167,7 +167,7 @@ namespace ICSharpCode.NRefactory.CSharp if (typeDef.DeclaringTypeDefinition != null) { WriteTypeDeclarationName(typeDef.DeclaringTypeDefinition, writer, formattingPolicy); writer.WriteToken(Roles.Dot, "."); - } else if ((ConversionFlags & ConversionFlags.UseFullyQualifiedTypeNames) == ConversionFlags.UseFullyQualifiedTypeNames) { + } else if ((ConversionFlags & ConversionFlags.UseFullyQualifiedMemberNames) == ConversionFlags.UseFullyQualifiedMemberNames) { WriteQualifiedName(typeDef.Namespace, writer, formattingPolicy); writer.WriteToken(Roles.Dot, "."); } @@ -265,6 +265,7 @@ namespace ICSharpCode.NRefactory.CSharp throw new ArgumentNullException("type"); TypeSystemAstBuilder astBuilder = CreateAstBuilder(); + astBuilder.AlwaysUseShortTypeNames = (ConversionFlags & ConversionFlags.UseFullyQualifiedMemberNames) != ConversionFlags.UseFullyQualifiedMemberNames; AstType astType = astBuilder.ConvertType(type); return astType.ToString(); } @@ -272,6 +273,7 @@ namespace ICSharpCode.NRefactory.CSharp public void ConvertType(IType type, TokenWriter writer, CSharpFormattingOptions formattingPolicy) { TypeSystemAstBuilder astBuilder = CreateAstBuilder(); + astBuilder.AlwaysUseShortTypeNames = (ConversionFlags & ConversionFlags.UseFullyQualifiedMemberNames) != ConversionFlags.UseFullyQualifiedMemberNames; AstType astType = astBuilder.ConvertType(type); astType.AcceptVisitor(new CSharpOutputVisitor(writer, formattingPolicy)); } diff --git a/src/Libraries/NRefactory/ICSharpCode.NRefactory/TypeSystem/IAmbience.cs b/src/Libraries/NRefactory/ICSharpCode.NRefactory/TypeSystem/IAmbience.cs index 1aa9d299cb..e56e21c0b5 100644 --- a/src/Libraries/NRefactory/ICSharpCode.NRefactory/TypeSystem/IAmbience.cs +++ b/src/Libraries/NRefactory/ICSharpCode.NRefactory/TypeSystem/IAmbience.cs @@ -70,6 +70,11 @@ namespace ICSharpCode.NRefactory.TypeSystem /// </summary> ShowBody = 0x200, + /// <summary> + /// Use fully qualified names for members. + /// </summary> + UseFullyQualifiedMemberNames = 0x400, + StandardConversionFlags = ShowParameterNames | ShowAccessibility | ShowParameterList | @@ -79,7 +84,7 @@ namespace ICSharpCode.NRefactory.TypeSystem ShowDefinitionKeyword | ShowBody, - All = 0x3ff, + All = 0x7ff, } public interface IAmbience diff --git a/src/Main/Base/Project/Editor/XmlDocFormatter.cs b/src/Main/Base/Project/Editor/XmlDocFormatter.cs index 2c4c1af362..9fd78fca81 100644 --- a/src/Main/Base/Project/Editor/XmlDocFormatter.cs +++ b/src/Main/Base/Project/Editor/XmlDocFormatter.cs @@ -16,7 +16,7 @@ namespace ICSharpCode.SharpDevelop.Editor public static FlowDocument CreateTooltip(IType type) { var ambience = AmbienceService.GetCurrentAmbience(); - ambience.ConversionFlags = ConversionFlags.StandardConversionFlags | ConversionFlags.ShowDeclaringType | ConversionFlags.UseFullyQualifiedTypeNames; + ambience.ConversionFlags = ConversionFlags.StandardConversionFlags | ConversionFlags.ShowDeclaringType | ConversionFlags.UseFullyQualifiedMemberNames; string header; if (type is ITypeDefinition) header = ambience.ConvertEntity((ITypeDefinition)type); @@ -42,7 +42,7 @@ namespace ICSharpCode.SharpDevelop.Editor public static FlowDocument CreateTooltip(IEntity entity) { var ambience = AmbienceService.GetCurrentAmbience(); - ambience.ConversionFlags = ConversionFlags.StandardConversionFlags | ConversionFlags.ShowDeclaringType | ConversionFlags.UseFullyQualifiedTypeNames; + ambience.ConversionFlags = ConversionFlags.StandardConversionFlags | ConversionFlags.ShowDeclaringType | ConversionFlags.UseFullyQualifiedMemberNames; string header = ambience.ConvertEntity(entity); var documentation = XmlDocumentationElement.Get(entity);