Browse Source

only use fully qualified names for type and member definitions

pull/315/head
Siegfried Pammer 12 years ago
parent
commit
c3c65840e7
  1. 4
      src/Libraries/NRefactory/ICSharpCode.NRefactory.CSharp/OutputVisitor/CSharpAmbience.cs
  2. 7
      src/Libraries/NRefactory/ICSharpCode.NRefactory/TypeSystem/IAmbience.cs
  3. 4
      src/Main/Base/Project/Editor/XmlDocFormatter.cs

4
src/Libraries/NRefactory/ICSharpCode.NRefactory.CSharp/OutputVisitor/CSharpAmbience.cs

@ -167,7 +167,7 @@ namespace ICSharpCode.NRefactory.CSharp
if (typeDef.DeclaringTypeDefinition != null) { if (typeDef.DeclaringTypeDefinition != null) {
WriteTypeDeclarationName(typeDef.DeclaringTypeDefinition, writer, formattingPolicy); WriteTypeDeclarationName(typeDef.DeclaringTypeDefinition, writer, formattingPolicy);
writer.WriteToken(Roles.Dot, "."); writer.WriteToken(Roles.Dot, ".");
} else if ((ConversionFlags & ConversionFlags.UseFullyQualifiedTypeNames) == ConversionFlags.UseFullyQualifiedTypeNames) { } else if ((ConversionFlags & ConversionFlags.UseFullyQualifiedMemberNames) == ConversionFlags.UseFullyQualifiedMemberNames) {
WriteQualifiedName(typeDef.Namespace, writer, formattingPolicy); WriteQualifiedName(typeDef.Namespace, writer, formattingPolicy);
writer.WriteToken(Roles.Dot, "."); writer.WriteToken(Roles.Dot, ".");
} }
@ -265,6 +265,7 @@ namespace ICSharpCode.NRefactory.CSharp
throw new ArgumentNullException("type"); throw new ArgumentNullException("type");
TypeSystemAstBuilder astBuilder = CreateAstBuilder(); TypeSystemAstBuilder astBuilder = CreateAstBuilder();
astBuilder.AlwaysUseShortTypeNames = (ConversionFlags & ConversionFlags.UseFullyQualifiedMemberNames) != ConversionFlags.UseFullyQualifiedMemberNames;
AstType astType = astBuilder.ConvertType(type); AstType astType = astBuilder.ConvertType(type);
return astType.ToString(); return astType.ToString();
} }
@ -272,6 +273,7 @@ namespace ICSharpCode.NRefactory.CSharp
public void ConvertType(IType type, TokenWriter writer, CSharpFormattingOptions formattingPolicy) public void ConvertType(IType type, TokenWriter writer, CSharpFormattingOptions formattingPolicy)
{ {
TypeSystemAstBuilder astBuilder = CreateAstBuilder(); TypeSystemAstBuilder astBuilder = CreateAstBuilder();
astBuilder.AlwaysUseShortTypeNames = (ConversionFlags & ConversionFlags.UseFullyQualifiedMemberNames) != ConversionFlags.UseFullyQualifiedMemberNames;
AstType astType = astBuilder.ConvertType(type); AstType astType = astBuilder.ConvertType(type);
astType.AcceptVisitor(new CSharpOutputVisitor(writer, formattingPolicy)); astType.AcceptVisitor(new CSharpOutputVisitor(writer, formattingPolicy));
} }

7
src/Libraries/NRefactory/ICSharpCode.NRefactory/TypeSystem/IAmbience.cs

@ -70,6 +70,11 @@ namespace ICSharpCode.NRefactory.TypeSystem
/// </summary> /// </summary>
ShowBody = 0x200, ShowBody = 0x200,
/// <summary>
/// Use fully qualified names for members.
/// </summary>
UseFullyQualifiedMemberNames = 0x400,
StandardConversionFlags = ShowParameterNames | StandardConversionFlags = ShowParameterNames |
ShowAccessibility | ShowAccessibility |
ShowParameterList | ShowParameterList |
@ -79,7 +84,7 @@ namespace ICSharpCode.NRefactory.TypeSystem
ShowDefinitionKeyword | ShowDefinitionKeyword |
ShowBody, ShowBody,
All = 0x3ff, All = 0x7ff,
} }
public interface IAmbience public interface IAmbience

4
src/Main/Base/Project/Editor/XmlDocFormatter.cs

@ -16,7 +16,7 @@ namespace ICSharpCode.SharpDevelop.Editor
public static FlowDocument CreateTooltip(IType type) public static FlowDocument CreateTooltip(IType type)
{ {
var ambience = AmbienceService.GetCurrentAmbience(); var ambience = AmbienceService.GetCurrentAmbience();
ambience.ConversionFlags = ConversionFlags.StandardConversionFlags | ConversionFlags.ShowDeclaringType | ConversionFlags.UseFullyQualifiedTypeNames; ambience.ConversionFlags = ConversionFlags.StandardConversionFlags | ConversionFlags.ShowDeclaringType | ConversionFlags.UseFullyQualifiedMemberNames;
string header; string header;
if (type is ITypeDefinition) if (type is ITypeDefinition)
header = ambience.ConvertEntity((ITypeDefinition)type); header = ambience.ConvertEntity((ITypeDefinition)type);
@ -42,7 +42,7 @@ namespace ICSharpCode.SharpDevelop.Editor
public static FlowDocument CreateTooltip(IEntity entity) public static FlowDocument CreateTooltip(IEntity entity)
{ {
var ambience = AmbienceService.GetCurrentAmbience(); 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); string header = ambience.ConvertEntity(entity);
var documentation = XmlDocumentationElement.Get(entity); var documentation = XmlDocumentationElement.Get(entity);

Loading…
Cancel
Save