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-06 05:12:03 +0400
committerSebastien Pouliot <sebastien@ximian.com>2010-06-06 05:12:03 +0400
commit02c669f235c5baea24608166af91c1918f875e6c (patch)
treedd879e6f40b17a32dc4f59ab7220ff8ecd0579ba
parentea343244516d856ff4cf69f24ff8b05b316e28d0 (diff)
2010-06-05 Sebastien Pouliot <sebastien@ximian.com> jb/cl
* FieldRock.cs: Check if a field's type is generated code (CSC does that) and report this correctly (fix some false positive on CSC compiled code, e.g. for WriteStaticFieldFromInstanceMethodRule) svn path=/trunk/mono-tools/; revision=158554
-rw-r--r--gendarme/framework/Gendarme.Framework.Rocks/ChangeLog6
-rw-r--r--gendarme/framework/Gendarme.Framework.Rocks/FieldRocks.cs8
2 files changed, 12 insertions, 2 deletions
diff --git a/gendarme/framework/Gendarme.Framework.Rocks/ChangeLog b/gendarme/framework/Gendarme.Framework.Rocks/ChangeLog
index 90f73f99..83398f83 100644
--- a/gendarme/framework/Gendarme.Framework.Rocks/ChangeLog
+++ b/gendarme/framework/Gendarme.Framework.Rocks/ChangeLog
@@ -1,3 +1,9 @@
+2010-06-05 Sebastien Pouliot <sebastien@ximian.com>
+
+ * FieldRock.cs: Check if a field's type is generated code (CSC
+ does that) and report this correctly (fix some false positive
+ on CSC compiled code, e.g. for WriteStaticFieldFromInstanceMethodRule)
+
2010-06-05 Sebastien Pouliot <sebastien@ximian.com>
* CecilRock.cs: Add a faster path (without multiple casting) for
diff --git a/gendarme/framework/Gendarme.Framework.Rocks/FieldRocks.cs b/gendarme/framework/Gendarme.Framework.Rocks/FieldRocks.cs
index e345d8ab..39641f50 100644
--- a/gendarme/framework/Gendarme.Framework.Rocks/FieldRocks.cs
+++ b/gendarme/framework/Gendarme.Framework.Rocks/FieldRocks.cs
@@ -46,10 +46,14 @@ namespace Gendarme.Framework.Rocks {
return false;
FieldDefinition field = self.Resolve ();
- if ((field == null) || !field.HasCustomAttributes)
+ if (field == null)
return false;
- return field.CustomAttributes.ContainsAnyType (CustomAttributeRocks.GeneratedCodeAttributes);
+ if (field.HasCustomAttributes) {
+ if (field.CustomAttributes.ContainsAnyType (CustomAttributeRocks.GeneratedCodeAttributes))
+ return true;
+ }
+ return field.DeclaringType.IsGeneratedCode ();
}
/// <summary>