Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono-tools.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastien Pouliot <sebastien@ximian.com>2010-06-05 06:20:53 +0400
committerSebastien Pouliot <sebastien@ximian.com>2010-06-05 06:20:53 +0400
commit83391b97cf1aa88de4377c1822f0e503f3f77fc3 (patch)
tree41df0731f324084ba8cdb83701e983a33cc8e4ea /gendarme/rules/Gendarme.Rules.Smells
parent5ffd375c93731e32155e8b0c17aa5f37905c5a07 (diff)
2010-06-04 Sebastien Pouliot <sebastien@ximian.com>
* AvoidCodeDuplicatedInSiblingClassesRule.cs: * AvoidLargeClassesRule.cs: * AvoidLongParameterListsRule.cs: * CodeDuplicatedLocator.cs: Apply AvoidUnnecessarySpecializationRule * Pattern.cs: Apply ConsiderConvertingMethodToPropertyRule svn path=/trunk/mono-tools/; revision=158515
Diffstat (limited to 'gendarme/rules/Gendarme.Rules.Smells')
-rw-r--r--gendarme/rules/Gendarme.Rules.Smells/AvoidCodeDuplicatedInSiblingClassesRule.cs2
-rw-r--r--gendarme/rules/Gendarme.Rules.Smells/AvoidLargeClassesRule.cs2
-rw-r--r--gendarme/rules/Gendarme.Rules.Smells/AvoidLongParameterListsRule.cs2
-rw-r--r--gendarme/rules/Gendarme.Rules.Smells/ChangeLog10
-rw-r--r--gendarme/rules/Gendarme.Rules.Smells/CodeDuplicatedLocator.cs2
-rw-r--r--gendarme/rules/Gendarme.Rules.Smells/Pattern.cs39
6 files changed, 33 insertions, 24 deletions
diff --git a/gendarme/rules/Gendarme.Rules.Smells/AvoidCodeDuplicatedInSiblingClassesRule.cs b/gendarme/rules/Gendarme.Rules.Smells/AvoidCodeDuplicatedInSiblingClassesRule.cs
index 1bb8991d..21ce5cbc 100644
--- a/gendarme/rules/Gendarme.Rules.Smells/AvoidCodeDuplicatedInSiblingClassesRule.cs
+++ b/gendarme/rules/Gendarme.Rules.Smells/AvoidCodeDuplicatedInSiblingClassesRule.cs
@@ -109,7 +109,7 @@ namespace Gendarme.Rules.Smells {
codeDuplicatedLocator = new CodeDuplicatedLocator (this);
}
- private void FindCodeDuplicated (TypeDefinition type, ICollection<TypeDefinition> siblingClasses)
+ private void FindCodeDuplicated (TypeReference type, ICollection<TypeDefinition> siblingClasses)
{
foreach (MethodDefinition method in type.AllMethods ())
foreach (TypeDefinition sibling in siblingClasses)
diff --git a/gendarme/rules/Gendarme.Rules.Smells/AvoidLargeClassesRule.cs b/gendarme/rules/Gendarme.Rules.Smells/AvoidLargeClassesRule.cs
index dd7cb8fd..3f6fd6f2 100644
--- a/gendarme/rules/Gendarme.Rules.Smells/AvoidLargeClassesRule.cs
+++ b/gendarme/rules/Gendarme.Rules.Smells/AvoidLargeClassesRule.cs
@@ -151,7 +151,7 @@ namespace Gendarme.Rules.Smells {
return -1;
}
- private static string GetFieldPrefix (FieldDefinition field)
+ private static string GetFieldPrefix (IMemberReference field)
{
string name = field.Name;
int index = GetIndexOfFirst (name, delegate (char character) {return Char.IsNumber (character);});
diff --git a/gendarme/rules/Gendarme.Rules.Smells/AvoidLongParameterListsRule.cs b/gendarme/rules/Gendarme.Rules.Smells/AvoidLongParameterListsRule.cs
index 4ac6df1e..593efa9b 100644
--- a/gendarme/rules/Gendarme.Rules.Smells/AvoidLongParameterListsRule.cs
+++ b/gendarme/rules/Gendarme.Rules.Smells/AvoidLongParameterListsRule.cs
@@ -122,7 +122,7 @@ namespace Gendarme.Rules.Smells {
return smallest;
}
- private bool HasMoreParametersThanAllowed (MethodDefinition method)
+ private bool HasMoreParametersThanAllowed (IMethodSignature method)
{
return (method.HasParameters ? method.Parameters.Count : 0) >= MaxParameters;
}
diff --git a/gendarme/rules/Gendarme.Rules.Smells/ChangeLog b/gendarme/rules/Gendarme.Rules.Smells/ChangeLog
index fbaf6f1c..f022cd5f 100644
--- a/gendarme/rules/Gendarme.Rules.Smells/ChangeLog
+++ b/gendarme/rules/Gendarme.Rules.Smells/ChangeLog
@@ -1,3 +1,13 @@
+2010-06-04 Sebastien Pouliot <sebastien@ximian.com>
+
+ * AvoidCodeDuplicatedInSiblingClassesRule.cs:
+ * AvoidLargeClassesRule.cs:
+ * AvoidLongParameterListsRule.cs:
+ * CodeDuplicatedLocator.cs:
+ Apply AvoidUnnecessarySpecializationRule
+ * Pattern.cs:
+ Apply ConsiderConvertingMethodToPropertyRule
+
2010-05-08 Sebastien Pouliot <sebastien@ximian.com>
* AvoidLongParameterListsRule.cs: Apply AvoidRepetitiveCallsTo
diff --git a/gendarme/rules/Gendarme.Rules.Smells/CodeDuplicatedLocator.cs b/gendarme/rules/Gendarme.Rules.Smells/CodeDuplicatedLocator.cs
index 0085166a..112f5727 100644
--- a/gendarme/rules/Gendarme.Rules.Smells/CodeDuplicatedLocator.cs
+++ b/gendarme/rules/Gendarme.Rules.Smells/CodeDuplicatedLocator.cs
@@ -67,7 +67,7 @@ namespace Gendarme.Rules.Smells {
types.Clear ();
}
- internal void CompareMethodAgainstTypeMethods (MethodDefinition current, TypeDefinition targetType)
+ internal void CompareMethodAgainstTypeMethods (MethodDefinition current, TypeReference targetType)
{
if (CheckedTypes.Contains (targetType.Name))
return;
diff --git a/gendarme/rules/Gendarme.Rules.Smells/Pattern.cs b/gendarme/rules/Gendarme.Rules.Smells/Pattern.cs
index f7915e6e..af7634b3 100644
--- a/gendarme/rules/Gendarme.Rules.Smells/Pattern.cs
+++ b/gendarme/rules/Gendarme.Rules.Smells/Pattern.cs
@@ -74,12 +74,11 @@ namespace Gendarme.Rules.Smells {
}
// IIRC older xMCS generated that quite often
- bool IsDoubleReturn ()
- {
- return Count > 1 &&
- instructions[Count - 1].OpCode.Code == Code.Ret &&
- instructions[Count - 2].OpCode.Code == Code.Ret
- ;
+ bool IsDoubleReturn {
+ get {
+ return ((Count > 1) && (instructions[Count - 1].OpCode.Code == Code.Ret) &&
+ (instructions[Count - 2].OpCode.Code == Code.Ret));
+ }
}
// small patterns that highly suggest they were compiler generated
@@ -103,29 +102,29 @@ namespace Gendarme.Rules.Smells {
internal bool IsCompilerGeneratedBlock {
get {
if (compilerGeneratedBlock == null)
- compilerGeneratedBlock = ComputeUnlikelyUserPatterns () || IsDoubleReturn ();
+ compilerGeneratedBlock = ComputeUnlikelyUserPatterns () || IsDoubleReturn;
return (bool) compilerGeneratedBlock;
}
}
- bool IsReturningCode ()
- {
- return ((Count == 4 &&
- instructions[0].OpCode.StackBehaviourPush == StackBehaviour.Push1 &&
- instructions[1].OpCode.Code == Code.Brtrue &&
- instructions[2].OpCode.StackBehaviourPush == StackBehaviour.Pushi &&
- instructions[3].OpCode.Code == Code.Ret)
- ||
- (Count > 1 &&
- instructions[Count - 1].OpCode.Code == Code.Ret &&
- instructions[Count - 2].OpCode.FlowControl == FlowControl.Cond_Branch))
- ;
+ bool IsReturningCode {
+ get {
+ return ((Count == 4 &&
+ instructions[0].OpCode.StackBehaviourPush == StackBehaviour.Push1 &&
+ instructions[1].OpCode.Code == Code.Brtrue &&
+ instructions[2].OpCode.StackBehaviourPush == StackBehaviour.Pushi &&
+ instructions[3].OpCode.Code == Code.Ret)
+ ||
+ (Count > 1 &&
+ instructions[Count - 1].OpCode.Code == Code.Ret &&
+ instructions[Count - 2].OpCode.FlowControl == FlowControl.Cond_Branch));
+ }
}
internal bool IsExtractableToMethodBlock {
get {
if (extractableToMethodBlock == null)
- extractableToMethodBlock = !IsReturningCode ();
+ extractableToMethodBlock = !IsReturningCode;
return (bool) extractableToMethodBlock;
}
}