Browse Source

Added more entities & missing flags.

newNRvisualizers
Mike Krüger 14 years ago
parent
commit
003b8c95f6
  1. 36
      ICSharpCode.NRefactory.CSharp/Refactoring/CodeIssues/InconsistentNamingIssue/AffectedEntity.cs
  2. 6
      ICSharpCode.NRefactory.CSharp/Refactoring/CodeIssues/InconsistentNamingIssue/DefaultRules.cs
  3. 43
      ICSharpCode.NRefactory.CSharp/Refactoring/CodeIssues/InconsistentNamingIssue/InconsistentNamingIssue.cs
  4. 5
      ICSharpCode.NRefactory.CSharp/Refactoring/CodeIssues/InconsistentNamingIssue/NamingRule.cs

36
ICSharpCode.NRefactory.CSharp/Refactoring/CodeIssues/InconsistentNamingIssue/AffectedEntity.cs

@ -44,27 +44,33 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring @@ -44,27 +44,33 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring
CustomEventArgs = 1 << 7,
CustomExceptions = 1 << 8,
Property = 1 << 9,
Method = 1 << 10,
Field = 1 << 11,
Event = 1 << 12,
EnumMember = 1 << 13,
Property = 1 << 9,
Method = 1 << 10,
AsyncMethod = 1 << 11,
Field = 1 << 12,
ReadonlyField = 1 << 13,
ConstantField = 1 << 14,
Parameter = 1 << 14,
TypeParameter = 1 << 15,
Event = 1 << 15,
EnumMember = 1 << 16,
Parameter = 1 << 17,
TypeParameter = 1 << 18,
// Unit test special case
TestType = 1 << 16,
TestMethod = 1 << 17,
TestType = 1 << 19,
TestMethod = 1 << 20,
// private entities
LambdaParameter = 1 << 18,
LocalVariable = 1 << 19,
Label = 1 << 20,
LocalVars = LocalVariable | Parameter | LambdaParameter,
LambdaParameter = 1 << 21,
LocalVariable = 1 << 22,
LocalConstant = 1 << 23,
Label = 1 << 24,
Member = Property | Method | Field | Event | EnumMember,
LocalVars = LocalVariable | Parameter | LambdaParameter | LocalConstant,
Methods = Method | AsyncMethod,
Fields = Field | ReadonlyField | ConstantField,
Member = Property | Methods | Fields | Event | EnumMember,
Type = Class | Struct | Enum | Interface | Delegate,

6
ICSharpCode.NRefactory.CSharp/Refactoring/CodeIssues/InconsistentNamingIssue/DefaultRules.cs

@ -66,18 +66,18 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring @@ -66,18 +66,18 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring
RequiredSuffixes = new [] { "Exception" }
};
yield return new NamingRule(AffectedEntity.Method) {
yield return new NamingRule(AffectedEntity.Methods) {
Name = "Methods",
NamingStyle = NamingStyle.PascalCase
};
yield return new NamingRule(AffectedEntity.Field) {
yield return new NamingRule(AffectedEntity.Fields) {
Name = "Fields (Non Private)",
NamingStyle = NamingStyle.PascalCase,
VisibilityMask = Modifiers.Public | Modifiers.Protected | Modifiers.Internal
};
yield return new NamingRule(AffectedEntity.Field) {
yield return new NamingRule(AffectedEntity.Fields) {
Name = "Fields (Private)",
NamingStyle = NamingStyle.CamelCase,
VisibilityMask = Modifiers.Private

43
ICSharpCode.NRefactory.CSharp/Refactoring/CodeIssues/InconsistentNamingIssue/InconsistentNamingIssue.cs

@ -93,6 +93,26 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring @@ -93,6 +93,26 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring
if (!rule.VisibilityMask.HasFlag(accessibilty)) {
continue;
}
if (!rule.IncludeInstanceMembers || !rule.IncludeStaticEntities) {
IEntity typeSystemEntity = null;
if (resolveResult is MemberResolveResult) {
typeSystemEntity = ((MemberResolveResult)resolveResult).Member;
} else if (resolveResult is TypeResolveResult) {
typeSystemEntity = ((TypeResolveResult)resolveResult).Type.GetDefinition();
}
if (!rule.IncludeInstanceMembers) {
if (typeSystemEntity == null || typeSystemEntity.IsStatic) {
continue;
}
}
if (!rule.IncludeStaticEntities) {
if (typeSystemEntity != null && !typeSystemEntity.IsStatic) {
continue;
}
}
}
if (!rule.IsValid(identifier.Name)) {
IList<string> suggestedNames;
var msg = rule.GetErrorMessage(ctx, identifier.Name, out suggestedNames);
@ -122,7 +142,6 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring @@ -122,7 +142,6 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring
}));
}
AddIssue(identifier, msg, actions);
}
@ -184,21 +203,34 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring @@ -184,21 +203,34 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring
public override void VisitMethodDeclaration(MethodDeclaration methodDeclaration)
{
base.VisitMethodDeclaration(methodDeclaration);
CheckName(methodDeclaration, AffectedEntity.Method, methodDeclaration.NameToken, GetAccessibiltiy(methodDeclaration, Modifiers.Private));
CheckName(methodDeclaration, methodDeclaration.Modifiers.HasFlag(Modifiers.Async) ? AffectedEntity.AsyncMethod : AffectedEntity.Method, methodDeclaration.NameToken, GetAccessibiltiy(methodDeclaration, Modifiers.Private));
}
public override void VisitFieldDeclaration(FieldDeclaration fieldDeclaration)
{
base.VisitFieldDeclaration(fieldDeclaration);
var entity = AffectedEntity.Field;
if (fieldDeclaration.Modifiers.HasFlag(Modifiers.Const)) {
entity = AffectedEntity.ConstantField;
} else if (fieldDeclaration.Modifiers.HasFlag(Modifiers.Readonly)) {
entity = AffectedEntity.ReadonlyField;
}
foreach (var init in fieldDeclaration.Variables) {
CheckName(init, AffectedEntity.Field, init.NameToken, GetAccessibiltiy(fieldDeclaration, Modifiers.Private));
CheckName(init, entity, init.NameToken, GetAccessibiltiy(fieldDeclaration, Modifiers.Private));
}
}
public override void VisitFixedFieldDeclaration(FixedFieldDeclaration fixedFieldDeclaration)
{
base.VisitFixedFieldDeclaration(fixedFieldDeclaration);
CheckName(fixedFieldDeclaration, AffectedEntity.Field, fixedFieldDeclaration.NameToken, GetAccessibiltiy(fixedFieldDeclaration, Modifiers.Private));
var entity = AffectedEntity.Field;
if (fixedFieldDeclaration.Modifiers.HasFlag(Modifiers.Const)) {
entity = AffectedEntity.ConstantField;
} else if (fixedFieldDeclaration.Modifiers.HasFlag(Modifiers.Readonly)) {
entity = AffectedEntity.ReadonlyField;
}
CheckName(fixedFieldDeclaration, entity, fixedFieldDeclaration.NameToken, GetAccessibiltiy(fixedFieldDeclaration, Modifiers.Private));
}
public override void VisitEventDeclaration(EventDeclaration eventDeclaration)
@ -236,8 +268,9 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring @@ -236,8 +268,9 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring
public override void VisitVariableDeclarationStatement(VariableDeclarationStatement variableDeclarationStatement)
{
base.VisitVariableDeclarationStatement(variableDeclarationStatement);
var entity = variableDeclarationStatement.Modifiers.HasFlag(Modifiers.Const) ? AffectedEntity.LocalConstant : AffectedEntity.LocalVariable;
foreach (var init in variableDeclarationStatement.Variables) {
CheckName(init, AffectedEntity.LocalVariable, init.NameToken, Modifiers.None);
CheckName(init, entity, init.NameToken, Modifiers.None);
}
}

5
ICSharpCode.NRefactory.CSharp/Refactoring/CodeIssues/InconsistentNamingIssue/NamingRule.cs

@ -69,6 +69,9 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring @@ -69,6 +69,9 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring
/// </summary
public NamingStyle NamingStyle { get; set; }
public bool IncludeStaticEntities { get; set; }
public bool IncludeInstanceMembers { get; set; }
public bool IsValid(string name)
{
string id = name;
@ -115,6 +118,8 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring @@ -115,6 +118,8 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring
{
AffectedEntity = affectedEntity;
VisibilityMask = Modifiers.VisibilityMask;
IncludeStaticEntities = true;
IncludeInstanceMembers = true;
}
static bool NoUnderscoreWithoutNumber(string id)

Loading…
Cancel
Save