[prev in list] [next in list] [prev in thread] [next in thread]
List: mono-patches
Subject: [Mono-patches] r150593 -
From: "Sebastien Pouliot (sebastien () ximian ! com)"
Date: 2010-01-30 17:19:05
Message-ID: 20100130171905.066A09472C () mono-cvs ! ximian ! com
[Download RAW message or body]
Author: spouliot
Date: 2010-01-30 12:19:04 -0500 (Sat, 30 Jan 2010)
New Revision: 150593
Modified:
trunk/mono-tools/gendarme/rules/Gendarme.Rules.Correctness/ChangeLog
trunk/mono-tools/gendarme/rules/Gendarme.Rules.Correctness/ReviewDoubleAssignmentRule.cs
Log:
2010-01-30 Sebastien Pouliot <sebastien@ximian.com>
* ReviewDoubleAssignmentRule: Apply PreferEmptyInstanceOverNullRule
Modified: trunk/mono-tools/gendarme/rules/Gendarme.Rules.Correctness/ChangeLog
===================================================================
--- trunk/mono-tools/gendarme/rules/Gendarme.Rules.Correctness/ChangeLog 2010-01-30 \
04:09:32 UTC (rev 150592)
+++ trunk/mono-tools/gendarme/rules/Gendarme.Rules.Correctness/ChangeLog 2010-01-30 \
17:19:04 UTC (rev 150593) @@ -1,3 +1,7 @@
+2010-01-30 Sebastien Pouliot <sebastien@ximian.com>
+
+ * ReviewDoubleAssignmentRule: Apply PreferEmptyInstanceOverNullRule
+
2010-01-27 Sebastien Pouliot <sebastien@ximian.com>
* AvoidMethodsWithSideEffectsInConditionalCodeRule.cs: Apply
Modified: trunk/mono-tools/gendarme/rules/Gendarme.Rules.Correctness/ReviewDoubleAssignmentRule.cs
===================================================================
--- trunk/mono-tools/gendarme/rules/Gendarme.Rules.Correctness/ReviewDoubleAssignmentRule.cs 2010-01-30 \
04:09:32 UTC (rev 150592)
+++ trunk/mono-tools/gendarme/rules/Gendarme.Rules.Correctness/ReviewDoubleAssignmentRule.cs 2010-01-30 \
17:19:04 UTC (rev 150593) @@ -91,27 +91,27 @@
Instruction load = next.Next;
if ((load == null) || !load.IsLoadLocal ())
- return null;
+ return String.Empty;
// check that this is the same variable
VariableDefinition vd1 = ins.GetVariable (method);
VariableDefinition vd2 = load.GetVariable (method);
if (vd1.Index != vd2.Index)
- return null;
+ return String.Empty;
Instruction stfld = load.Next;
if ((stfld == null) || (stfld.OpCode.Code != Code.Stfld))
- return null;
+ return String.Empty;
// check that we're assigning the same field twice
FieldDefinition fd1 = next.GetField ();
FieldDefinition fd2 = stfld.GetField ();
if (fd1.MetadataToken.RID != fd2.MetadataToken.RID)
- return null;
+ return String.Empty;
// backward: DUP, (possible CONV), LD (value to be duplicated), LD instance, LD \
instance if (stfld.TraceBack (method).GetOperand (method) != next.TraceBack \
(method).GetOperand (method))
- return null;
+ return String.Empty;
return String.Format ("Instance field '{0}' on same variable '{1}'.", fd1.Name, \
vd1.Name); }
@@ -122,13 +122,13 @@
// DUP, STSFLD, STSFLD
if (ins.OpCode.Code == Code.Stsfld) {
if (next.OpCode.Code != Code.Stsfld)
- return null;
+ return String.Empty;
// check that we're assigning the same field twice
FieldDefinition fd1 = ins.GetField ();
FieldDefinition fd2 = next.GetField ();
if (fd1.MetadataToken.RID != fd2.MetadataToken.RID)
- return null;
+ return String.Empty;
return String.Format ("Static field '{0}'.", fd1.Name);
} else if (ins.IsStoreLocal ()) {
@@ -139,7 +139,7 @@
if (vd2 != null) {
VariableDefinition vd1 = ins.GetVariable (method);
if (vd1.Index != vd2.Index)
- return null;
+ return String.Empty;
return String.Format ("Local variable '{0}'.", vd1.Name);
} else if (next.OpCode.Code == Code.Stfld) {
@@ -147,7 +147,7 @@
return CheckDoubleAssignementOnInstanceFields (method, ins, next);
}
}
- return null;
+ return String.Empty;
}
public RuleResult CheckMethod (MethodDefinition method)
@@ -172,7 +172,7 @@
continue;
string msg = CheckDoubleAssignement (method, next, nn);
- if (msg != null)
+ if (msg.Length > 0)
Runner.Report (method, ins, Severity.Medium, Confidence.Normal, msg);
}
return Runner.CurrentRuleResult;
_______________________________________________
Mono-patches maillist - Mono-patches@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-patches
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic