Commits on Apr 24, 2011
  1. -demonstrates a bug where nested private interfaces are considered eq…

    Iristyle committed Apr 24, 2011
    -also documents another bug that needs a test written (didn't have time to determine whether the bug is in ConsiderAddingInterface or TypeRocks)
  2. - demonstrates a bug with how the IgnoreList is handled on rules that…

    Iristyle committed Apr 24, 2011
    … are applied at a Type level (by enumerating the types members) when the suppressions are at a method level -- for instance, AvoidSpeculativeGenerality
    - there may be other rules that follow this same pattern
  3. - demonstrates a bug where Gendarme gets too aggressive in suggesting…

    Iristyle committed Apr 24, 2011
    … a base interface, when a concrete type is used as a generic parameter
  4. simplified test case

    Iristyle committed Apr 24, 2011
  5. - demonstrates an issue where anonymous delegates nested inside a met…

    Iristyle committed Apr 24, 2011
    …hod do not correctly have the parent methods SuppressMessage attributes applied
  6. test case demonstrating bug when the virtual calls occur in different…

    Iristyle committed Apr 24, 2011
    … branches of a switch statement
Commits on Apr 22, 2011
  1. Merge branch 'master' of

    Iristyle committed Apr 22, 2011
    merged in mono/mono-tools changesets up to 4/21
    took mono files on these conflicts
Commits on Apr 21, 2011
  1. Redirect links to the new site. This should cover se…

    jacksonh committed Apr 21, 2011
    …arch engine links however users will still be able to click into the old docs via the tree (this is fixed in another patch).
Commits on Apr 12, 2011
  1. add missing (new) file in csproj

    Sebastien Pouliot committed Apr 12, 2011
  2. move rules from Design to Correctness in csproj too

    Sebastien Pouliot committed Apr 12, 2011
  3. require .net 4 to be installed before setup

    Sebastien Pouliot committed Apr 12, 2011
Commits on Apr 11, 2011
  1. Add missing (new) file from build

    Sebastien Pouliot committed Apr 11, 2011
Commits on Apr 10, 2011
  1. Refactor TypesWith[Disposable|Native]FieldsShouldBeDisposableRule. Fi…

    Sebastien Pouliot committed Apr 10, 2011
    …x 671029
    * self-test.ignore:
    * rules/Gendarme.Rules.Design/
    * rules/Gendarme.Rules.Correctness/
    	Move TypesWithDisposableFieldsShouldBeDisposableRule and
    	TypesWithNativeFieldsShouldBeDisposableRule and their unit tests
    	from Design to Correctness since the rules now requires
    	OpCodeEngine (and we should be able to run all Design rules
    	without starting that engine)
    * rules/Gendarme.Rules.Correctness/TypesShouldBeDisposableBaseRule.cs:
    	New base class to reduce duplication between the two rules below
    * rules/Gendarme.Rules.Correctness/TypesWithDisposableFieldsShouldBeDisposableRule.cs:
    * rules/Gendarme.Rules.Correctness/TypesWithNativeFieldsShouldBeDisposableRule.cs:
    	Use the new base rule type and implement the check for field
    	candidates and their usages inside the type's methods.
    * rules/Gendarme.Rules.Correctness/Test/TypesWithDisposableFieldsShouldBeDisposableTest.cs:
    * rules/Gendarme.Rules.Correctness/Test/TypesWithNativeFieldsShouldBeDisposableTest.cs:
    	Add more unit tests and adjust results to be closer to related
    	FxCop rules (CA1001 and CA1049). Includes test case from 671029
    	from Andrés G. Aragoneses
Commits on Apr 9, 2011
  1. Fix false positives in EnsureLocalDisposalRule (bnc #666403)

    Sebastien Pouliot committed Apr 9, 2011
    * EnsureLocalDisposalRule.cs: Fix some false positives (666403) and
    track the VariableDefinition with a bitmask instead of the Instructions
    * Test/EnsureLocalDisposalTest.cs: Add (and adapt) the test cases from
    the bug report. Thanks to Andrés G. Aragoneses for providing them
  2. Fix some options supplied with a filename without a directory name

    Sebastien Pouliot committed Apr 9, 2011
    * ConsoleRunner.cs: Check for (ignore) empty 'directory' in path for
Commits on Apr 3, 2011
  1. Add an option to show defects on stdout *and* (intead of *or*) inside…

    Sebastien Pouliot committed Apr 3, 2011
    … reports
    * console/ConsoleRunner.cs: --console if specified will write defects on
    stdout and will work with --log, --xml or --html enabled. Fix #667270
    * man/ document new feature
Commits on Apr 2, 2011
  1. Add validations for --set and --limit

    Sebastien Pouliot committed Apr 2, 2011
    * ConsoleRunner.cs: Add validations for 'set' and 'limit'. Also fix
    compilation wrt previous addition of StringSplitOptions
  2. Validate --severity and --confidence options against invalid values

    Sebastien Pouliot committed Apr 2, 2011
    * console/ConsoleRunner.cs: Report invalid values when parsing severity
    and confidence options. Fix bug #677110. Also remove extra C.WL in
    * self-test.ignore: Add entry because ParseSeverity and ParseConfidence
    are almost identical (even more without the extra C.WL)
  3. Better validations on filename-related console runner options

    Sebastien Pouliot committed Apr 2, 2011
    * ConsoleRunner.cs: Avoid most common case of throwing when parameters
    are not valid wrt file names
  4. Fix false positives in AvoidAlwaysNullFieldRule wrt anonymous delegates

    Sebastien Pouliot committed Apr 2, 2011
    * AvoidAlwaysNullFieldRule.cs: Process nested types when checking fields
    * Test/AvoidAlwaysNullFieldTest.cs: Add test cases for anonymous
    delegates, in particular the case where a nested type is created to hold
  5. Set confidence to High when reporting defects for AvoidLongParameterL…

    Sebastien Pouliot committed Apr 2, 2011
    * AvoidLongParameterListsRule.cs: Set confidence to High when reporting
    defects - as suggested in bnc 677129
  6. Comment (///) correctly since mcs has been fixed

    Sebastien Pouliot committed Apr 2, 2011
    * framework/Gendarme.Framework.Helpers/MethodSignature.cs: Return to the
    correct /// comments now that mcs (master) has been fixed
Commits on Mar 30, 2011
Commits on Mar 18, 2011
  1. Fix documentation formatting

    Sebastien Pouliot committed Mar 18, 2011
Commits on Mar 16, 2011
  1. Store generated files with unix line endings and without BOM

    Sebastien Pouliot committed Mar 16, 2011
    * Gendarme.Rules.Correctness/Test/Resource.Designer.cs:
    * Gendarme.Rules.Globalization/Test/InternalResource.Designer.cs:
    * Gendarme.Rules.Globalization/Test/PublicResource.Designer.cs:
    * Gendarme.Rules.Globalization/Test/Resource.Designer.cs:
    	Store generated files with unix line endings and without BOM
  2. Run Gendarme's unit tests with nunit-console under the 4.0 runtime

    Sebastien Pouliot committed Mar 16, 2011
    * framework/
    * rules/common.make:
    	Change the nunit-console.exe used to run unit tests to 4.0
Commits on Mar 10, 2011
  1. Fix custom compare again.

    kumpera committed Mar 10, 2011
    	Fix the generared custom compare dialog again.
    	Someone with stetic knowledge pretty please fix the markup.
Commits on Mar 5, 2011
  1. Add new Gendarme.Rules.Design.DoNotDeclareSettersOnCollectionProperti…

    Sebastien Pouliot committed Mar 5, 2011
    * DoNotDeclareSettersOnCollectionPropertiesRule.cs: New. Rule that detect
    ICollection properties with visible setters
    * Add new rule and tests to the build
    * Test/DoNotDeclareSettersOnCollectionPropertiesTest.cs: New. Unit tests
    * ../../self-test.ignore: Add null-ignore entry
    * ../../tools/unsupported/mapper/fxcop.missing: Remove CA2227 from list
Commits on Mar 4, 2011
  1. Add [FxCopCompatibility] on Gendarme.Rules.Naming.AvoidRedundancyInTy…

    Sebastien Pouliot committed Mar 4, 2011
    * rules/Gendarme.Rules.Naming/AvoidRedundancyInTypeNameRule.cs: Add
    FxCopCompatibility with CA1724 since Gendarme rule is a superset of
    the fxcop rule
    * tools/unsupported/mapper/fxcop.missing: remove CA2222 and CA1724
  2. Use nunit-console instead of nunit-console2

    Sebastien Pouliot committed Mar 4, 2011
    * common.make: Use nunit-console (instead of nunit-console2)
  3. Use the new StreamLineReader in MonoCompatibilityReviewRule

    Sebastien Pouliot committed Mar 4, 2011
    * MonoCompatibilityReviewRule.cs: Reduce temporary string allocations
    by using StreamLineReader
  4. Reduce string allocations coming from StreamReader.ReadLine

    Sebastien Pouliot committed Mar 4, 2011
    * console/IgnoreFileList.cs: Replace StreamReader with the new
    * framework/Gendarme.Framework.Helpers/StreamLineReader.cs: New.
    A StreamReader-like class to read lines into a char[] array
    * framework/ Add new StreamLineReader to the build
  5. New Gendarme.Rules.BadPractice.DoNotDecreaseVisibilityRule

    Sebastien Pouliot committed Mar 4, 2011
    * DoNotDecreaseVisibilityRule.cs: New. Rule that detects method that
    reduce the visibility of some members from a base type
    * Add rule and tests to the build
    * Test/DoNotDecreaseVisibilityTest.cs: New. unit tests
    * ../../self-test.ignore: Remove CA2222 from missing list
  6. update solution / project files to VS2010 / FX4

    Sebastien Pouliot committed Mar 4, 2011
  7. Gendarme is now a FX4.0 based application - but can analyze previous …

    Sebastien Pouliot committed Mar 4, 2011
    …releases as well
    * AssemblyStaticInfo.cs: Remove obsoleted attribute
    * console/
    * framework/
    * rules/Test.Rules/
    * rules/common.make:
    * tools/supported/gd2i/
    * tools/unsupported/mapper/
    * tools/unsupported/typeref/
    * tools/unsupported/xmldoc2wiki/
    	Use MCS as the C# compiler (defaults to C#/.NET 4)
    * rules/Gendarme.Rules.BadPractice/AvoidAssemblyVersionMismatchRule.cs:
    Use Version.TryParse to replace our own code
    * rules/Gendarme.Correctness/AttributeStringLiteralsShouldParseCorrectlyRule.cs:
    Use Version.TryParse and Guid.TryParse to replace our own code
    * rules/Gendarme.Rules.Performance/AvoidUncalledPrivateCodeRule.cs:
    * rules/Gendarme.Rules.Performance/AvoidUninstantiatedInternalClassesRule.cs:
    	Use ISet<> (new) to replace HashSet<> as a parameter type
    * self-test.ignore: Remove defects that FX4 fixed and add some new one
    around a MonoTODO in Type [in]equality operators