Browse Source

Replace ConversionFlags.UseFullyQualifiedMemberNames with ConversionFlags.ShowDeclaringType.

newNRvisualizers
Daniel Grunwald 14 years ago
parent
commit
d6f3c841ce
  1. 6
      ICSharpCode.NRefactory.CSharp/OutputVisitor/CSharpAmbience.cs
  2. 60
      ICSharpCode.NRefactory.Tests/CSharp/CSharpAmbienceTests.cs
  3. 2
      ICSharpCode.NRefactory/Documentation/IdStringProvider.cs
  4. 6
      ICSharpCode.NRefactory/TypeSystem/IAmbience.cs

6
ICSharpCode.NRefactory.CSharp/OutputVisitor/CSharpAmbience.cs

@ -60,6 +60,8 @@ namespace ICSharpCode.NRefactory.CSharp @@ -60,6 +60,8 @@ namespace ICSharpCode.NRefactory.CSharp
writer.Write(' ');
} else if (node is DelegateDeclaration) {
writer.Write("delegate ");
} else if (node is EventDeclaration) {
writer.Write("event ");
}
}
@ -166,7 +168,7 @@ namespace ICSharpCode.NRefactory.CSharp @@ -166,7 +168,7 @@ namespace ICSharpCode.NRefactory.CSharp
if (typeDef.DeclaringTypeDefinition != null) {
WriteTypeDeclarationName(typeDef.DeclaringTypeDefinition, writer);
writer.Write('.');
} else if ((ConversionFlags & ConversionFlags.UseFullyQualifiedMemberNames) == ConversionFlags.UseFullyQualifiedMemberNames) {
} else if ((ConversionFlags & ConversionFlags.UseFullyQualifiedTypeNames) == ConversionFlags.UseFullyQualifiedTypeNames) {
writer.Write(typeDef.Namespace);
writer.Write('.');
}
@ -179,7 +181,7 @@ namespace ICSharpCode.NRefactory.CSharp @@ -179,7 +181,7 @@ namespace ICSharpCode.NRefactory.CSharp
void WriteMemberDeclarationName(IMember member, StringWriter writer)
{
TypeSystemAstBuilder astBuilder = CreateAstBuilder();
if ((ConversionFlags & ConversionFlags.UseFullyQualifiedMemberNames) == ConversionFlags.UseFullyQualifiedMemberNames) {
if ((ConversionFlags & ConversionFlags.ShowDeclaringType) == ConversionFlags.ShowDeclaringType) {
writer.Write(ConvertType(member.DeclaringType));
writer.Write('.');
}

60
ICSharpCode.NRefactory.Tests/CSharp/CSharpAmbienceTests.cs

@ -48,7 +48,7 @@ namespace ICSharpCode.NRefactory.CSharp @@ -48,7 +48,7 @@ namespace ICSharpCode.NRefactory.CSharp
public void GenericType()
{
var typeDef = compilation.FindType(typeof(Dictionary<,>)).GetDefinition();
ambience.ConversionFlags = ConversionFlags.UseFullyQualifiedMemberNames | ConversionFlags.ShowTypeParameterList;
ambience.ConversionFlags = ConversionFlags.UseFullyQualifiedTypeNames | ConversionFlags.ShowTypeParameterList;
string result = ambience.ConvertEntity(typeDef);
Assert.AreEqual("System.Collections.Generic.Dictionary<TKey, TValue>", result);
@ -68,7 +68,7 @@ namespace ICSharpCode.NRefactory.CSharp @@ -68,7 +68,7 @@ namespace ICSharpCode.NRefactory.CSharp
public void SimpleType()
{
var typeDef = compilation.FindType(typeof(Object)).GetDefinition();
ambience.ConversionFlags = ConversionFlags.UseFullyQualifiedMemberNames | ConversionFlags.ShowTypeParameterList;
ambience.ConversionFlags = ConversionFlags.UseFullyQualifiedTypeNames | ConversionFlags.ShowTypeParameterList;
string result = ambience.ConvertEntity(typeDef);
Assert.AreEqual("System.Object", result);
@ -78,7 +78,7 @@ namespace ICSharpCode.NRefactory.CSharp @@ -78,7 +78,7 @@ namespace ICSharpCode.NRefactory.CSharp
public void SimpleTypeDefinition()
{
var typeDef = compilation.FindType(typeof(Object)).GetDefinition();
ambience.ConversionFlags = ConversionFlags.All & ~(ConversionFlags.UseFullyQualifiedMemberNames);
ambience.ConversionFlags = ConversionFlags.All & ~(ConversionFlags.UseFullyQualifiedTypeNames);
string result = ambience.ConvertEntity(typeDef);
Assert.AreEqual("public class Object", result);
@ -88,7 +88,7 @@ namespace ICSharpCode.NRefactory.CSharp @@ -88,7 +88,7 @@ namespace ICSharpCode.NRefactory.CSharp
public void SimpleTypeDefinitionWithoutModifiers()
{
var typeDef = compilation.FindType(typeof(Object)).GetDefinition();
ambience.ConversionFlags = ConversionFlags.All & ~(ConversionFlags.UseFullyQualifiedMemberNames | ConversionFlags.ShowModifiers | ConversionFlags.ShowAccessibility);
ambience.ConversionFlags = ConversionFlags.All & ~(ConversionFlags.UseFullyQualifiedTypeNames | ConversionFlags.ShowModifiers | ConversionFlags.ShowAccessibility);
string result = ambience.ConvertEntity(typeDef);
Assert.AreEqual("class Object", result);
@ -128,7 +128,7 @@ namespace ICSharpCode.NRefactory.CSharp @@ -128,7 +128,7 @@ namespace ICSharpCode.NRefactory.CSharp
public void GenericTypeWithNested()
{
var typeDef = compilation.FindType(typeof(List<>.Enumerator)).GetDefinition();
ambience.ConversionFlags = ConversionFlags.UseFullyQualifiedMemberNames | ConversionFlags.ShowTypeParameterList;
ambience.ConversionFlags = ConversionFlags.UseFullyQualifiedTypeNames | ConversionFlags.ShowTypeParameterList;
string result = ambience.ConvertEntity(typeDef);
Assert.AreEqual("System.Collections.Generic.List<T>.Enumerator", result);
@ -138,7 +138,7 @@ namespace ICSharpCode.NRefactory.CSharp @@ -138,7 +138,7 @@ namespace ICSharpCode.NRefactory.CSharp
public void GenericTypeWithNestedShortName()
{
var typeDef = compilation.FindType(typeof(List<>.Enumerator)).GetDefinition();
ambience.ConversionFlags = ConversionFlags.ShowTypeParameterList;
ambience.ConversionFlags = ConversionFlags.ShowDeclaringType | ConversionFlags.ShowTypeParameterList;
string result = ambience.ConvertEntity(typeDef);
Assert.AreEqual("List<T>.Enumerator", result);
@ -189,13 +189,57 @@ namespace ICSharpCode.NRefactory.CSharp @@ -189,13 +189,57 @@ namespace ICSharpCode.NRefactory.CSharp
public void SimpleFieldWithoutModifiers()
{
var field = compilation.FindType(typeof(CSharpAmbienceTests.Program)).GetFields(f => f.Name == "test").Single();
ambience.ConversionFlags = ConversionFlags.All & ~(ConversionFlags.UseFullyQualifiedMemberNames | ConversionFlags.ShowModifiers | ConversionFlags.ShowAccessibility);
ambience.ConversionFlags = ConversionFlags.All & ~(ConversionFlags.ShowDeclaringType | ConversionFlags.ShowModifiers | ConversionFlags.ShowAccessibility);
string result = ambience.ConvertEntity(field);
Assert.AreEqual("int test;", result);
}
#endregion
#region IEvent tests
[Test]
public void EventWithDeclaringType()
{
var ev = compilation.FindType(typeof(CSharpAmbienceTests.Program)).GetEvents(f => f.Name == "ProgramChanged").Single();
ambience.ConversionFlags = ConversionFlags.StandardConversionFlags | ConversionFlags.ShowDeclaringType;
string result = ambience.ConvertEntity(ev);
Assert.AreEqual("public event EventHandler Program.ProgramChanged;", result);
}
[Test]
public void CustomEvent()
{
var ev = compilation.FindType(typeof(CSharpAmbienceTests.Program)).GetEvents(f => f.Name == "SomeEvent").Single();
ambience.ConversionFlags = ConversionFlags.StandardConversionFlags;
string result = ambience.ConvertEntity(ev);
Assert.AreEqual("public event EventHandler SomeEvent;", result);
}
#endregion
#region Property tests
[Test]
public void AutomaticProperty()
{
var prop = compilation.FindType(typeof(CSharpAmbienceTests.Program)).GetProperties(p => p.Name == "Test").Single();
ambience.ConversionFlags = ConversionFlags.StandardConversionFlags;
string result = ambience.ConvertEntity(prop);
Assert.AreEqual("public int Test { get; set; }", result);
}
[Test]
public void Indexer()
{
var prop = compilation.FindType(typeof(CSharpAmbienceTests.Program)).GetProperties(p => p.IsIndexer).Single();
ambience.ConversionFlags = ConversionFlags.StandardConversionFlags;
string result = ambience.ConvertEntity(prop);
Assert.AreEqual("public int this[int index] { get; }", result);
}
#endregion
#region Test types
#pragma warning disable 169, 67
@ -250,8 +294,6 @@ namespace ICSharpCode.NRefactory.CSharp @@ -250,8 +294,6 @@ namespace ICSharpCode.NRefactory.CSharp
{
Console.WriteLine("Hello World!");
// TODO: Implement Functionality Here
Console.Write("Press any key to continue . . . ");
Console.ReadKey(true);
}

2
ICSharpCode.NRefactory/Documentation/IdStringProvider.cs

@ -181,7 +181,7 @@ namespace ICSharpCode.NRefactory.Documentation @@ -181,7 +181,7 @@ namespace ICSharpCode.NRefactory.Documentation
/// <summary>
/// Parse the ID string into a member reference.
/// </summary>
/// <param name="memberIDString">The ID string representing the member (with "M:", "F:", "P:" or "E:" prefix).</param>
/// <param name="memberIdString">The ID string representing the member (with "M:", "F:", "P:" or "E:" prefix).</param>
/// <returns>A member reference that represents the ID string.</returns>
/// <exception cref="ReflectionNameParseException">The syntax of the ID string is invalid</exception>
public static IMemberReference ParseMemberIdString(string memberIdString)

6
ICSharpCode.NRefactory/TypeSystem/IAmbience.cs

@ -44,9 +44,9 @@ namespace ICSharpCode.NRefactory.TypeSystem @@ -44,9 +44,9 @@ namespace ICSharpCode.NRefactory.TypeSystem
/// </summary>
ShowDefinitionKeyWord = 8,
/// <summary>
/// Show the fully qualified name for the member
/// Show the declaring type for the member
/// </summary>
UseFullyQualifiedMemberNames = 0x10,
ShowDeclaringType = 0x10,
/// <summary>
/// Show modifiers (virtual, override, etc.)
/// </summary>
@ -56,7 +56,7 @@ namespace ICSharpCode.NRefactory.TypeSystem @@ -56,7 +56,7 @@ namespace ICSharpCode.NRefactory.TypeSystem
/// </summary>
ShowReturnType = 0x40,
/// <summary>
/// Use fully qualified names for return type and parameters.
/// Use fully qualified names for types.
/// </summary>
UseFullyQualifiedTypeNames = 0x80,
/// <summary>

Loading…
Cancel
Save