Browse Source

Removed redundant int base type of enum.

newNRvisualizers
Artur Zgodziski 15 years ago
parent
commit
5dfed88da7
  1. 18
      ICSharpCode.NRefactory/CSharp/OutputVisitor/OutputVisitor.cs

18
ICSharpCode.NRefactory/CSharp/OutputVisitor/OutputVisitor.cs

@ -1161,7 +1161,7 @@ namespace ICSharpCode.NRefactory.CSharp
} }
WriteIdentifier(typeDeclaration.Name); WriteIdentifier(typeDeclaration.Name);
WriteTypeParameters(typeDeclaration.TypeParameters); WriteTypeParameters(typeDeclaration.TypeParameters);
if (typeDeclaration.BaseTypes.Any()) { if (typeDeclaration.BaseTypes.Any() && !IsStandardEnum(typeDeclaration)) {
Space(); Space();
WriteToken(":", TypeDeclaration.ColonRole); WriteToken(":", TypeDeclaration.ColonRole);
Space(); Space();
@ -1192,6 +1192,22 @@ namespace ICSharpCode.NRefactory.CSharp
NewLine(); NewLine();
return EndNode(typeDeclaration); return EndNode(typeDeclaration);
} }
private static bool IsStandardEnum(TypeDeclaration typeDeclaration)
{
if (typeDeclaration.ClassType != ClassType.Enum)
{
return false;
}
if (typeDeclaration.BaseTypes.Count != 1) // is is possible?
{
return false;
}
var baseType = typeDeclaration.BaseTypes.First() as PrimitiveType;
return baseType != null && baseType.Keyword == "int";
}
public object VisitUsingAliasDeclaration(UsingAliasDeclaration usingAliasDeclaration, object data) public object VisitUsingAliasDeclaration(UsingAliasDeclaration usingAliasDeclaration, object data)
{ {

Loading…
Cancel
Save