2009-07-31  Jesse Jones  <jesjones@mindspring.com>

	* MarshalBooleansInPInvokeDeclarationsRule.csm 
	MarshalStringsInPInvokeDeclarationsRule.cs: Edited the 
	descriptions.

2009-07-04  Jesse Jones  <jesjones@mindspring.com>

	* *Rule.cs: Edited most of the rule descriptions.

2009-02-24  Jesse Jones  <jesjones@mindspring.com>

    * DelegatesPassedToNativeCodeMustIncludeExceptionHandlingRule.cs: 
    Fix for ldloca instructions.

2008-11-30  Sebastien Pouliot  <sebastien@ximian.com>

	* MarshalBooleansInPInvokeDeclarationsRule.cs: Use HasParameters
	* MarshalStringsInPInvokeDeclarationsRule.cs: Use HasParameters

2008-11-22  Sebastien Pouliot  <sebastien@ximian.com>

	* GetLastErrorMustBeCalledRightAfterPInvokeRule.cs: Fix the case
	where we can't resolve the method (leading to a NRE).

2008-11-18  Sebastien Pouliot  <sebastien@ximian.com> 

	* GetLastErrorMustBeCalledRightAfterPInvokeRule.cs: Avoid calling 
	ToString on Method[Reference|Definition] since they are rebuilt
	each time. Accept UIntPtr [in]equality operators.
	* MarshalBooleansInPInvokeDeclarationsRule.cs: Specify 
	StringComparison.Ordinal when calling StartsWith.
	* UseManagedAlternativesToPInvokeRule.cs: Remove PInvokeCall struct
	since it required an allocation (of a new struct) in order to search
	alternatives. This is now replaced by using strings and a second
	check later for the module and runtime version.

2008-11-15  Jesse Jones  <jesjones@mindspring.com>

    * DoNotCastIntPtrToInt32Rule.cs: Checks for overflow convert instructions.

2008-11-07  Alan McGovern  <amcgovern@novell.com>

	* Makefile.am:
	* Gendarme.Rules.Interoperability.mdp:
	* Gendarme.Rules.Interoperability.csproj: Activate makefile integration
	for all the rules projects. Remove the old mdp files as they are no
	longer needed.

2008-11-01  Sebastien Pouliot  <sebastien@ximian.com> 

	* MarshalBooleansInPInvokeDeclarationsRule.cs: New. Rule to warn if
	no marshalling information is given for boolean parameters and return
	values.
	* Gendarme.Rules.Interoperability.mdp: Add rule to MD project file.
	* Makefile.am: Add rule and test to build.

2008-11-01  Sebastien Pouliot  <sebastien@ximian.com>

	* DoNotCastIntPtrToInt32Rule.cs: Now cover the case where Marshal.
	ReadInt[32|64] is used to read pointers (i.e. casted into IntPtr). 
	Renamed rule to (more general) DoNotAssumeIntPtrSizeRule

2008-10-30  Jesse Jones  <jesjones@mindspring.com>

	* Makefile.am: Inherit EXTRA_TESTS_OPTIONS from common.make.

2008-10-21  Néstor Salceda  <nestor.salceda@gmail.com>

	* Makefile.am: Removed common stuff in order to reduce duplication with
	other Makefiles.

2008-10-19  Néstor Salceda  <nestor.salceda@gmail.com>

	* Makefile.am: Added support for generating the documentation files to
	the build process.

2008-10-19  Néstor Salceda  <nestor.salceda@gmail.com>

	* doc/index.xml, doc/ns-Gendarme.Rules.Interoperability.xml,
	doc/Gendarme.Rules.Interoperability: With the new code in the Makefiles
	we don't need to keep the documentation files in the repository.

2008-10-17  Sebastien Pouliot  <sebastien@ximian.com>

	* GetLastErrorMustBeCalledRightAfterPInvokeRule.cs: Make Branch
	implement IEquatable<T> (self-test).
	* UseManagedAlternativesToPInvokeRule.cs: Make PInvokeCall implement
	IEquatable<T> (self-test).

2008-10-15  Néstor Salceda  <nestor.salceda@gmail.com>

	* doc/: Initial import documentation for the rules which belongs to this
	category.

2008-09-14  Sebastien Pouliot  <sebastien@ximian.com> 

	* DoNotCastIntPtrToInt32Rule.cs: Add XML documentation, 
	the [FxCopCompatibility] attribute and use the OpCodeEngine.
	* GetLastErrorMustBeCalledRightAfterPInvokeRule.cs: Add XML 
	documentation, [FxCopCompatibility] attribute and use the 
	OpCodeEngine.
	* MarshalStringsInPInvokeDeclarationsRule.cs: Add XML documentation 
	and [FxCopCompatibility] attribute.
	* PInvokeShouldNotBeVisibleRule.cs: Add XML documentation 
	and [FxCopCompatibility] attribute.
	* UseManagedAlternativesToPInvokeRule.cs: Add XML documentation 
	and [FxCopCompatibility] attribute.

2008-08-10  Sebastien Pouliot  <sebastien@ximian.com> 

	* PInvokeShouldNotBeVisibleRule.cs: Add check for non-static
	p/invokes.
	* Makefile.am: Include all unit tests (typo)

2008-07-12  Sebastien Pouliot  <sebastien@ximian.com>

	* GetLastErrorMustBeCalledRightAfterPInvokeRule.cs: Remove 
	unused field (self-test)

2008-07-10  Sebastien Pouliot  <sebastien@ximian.com>

	* Makefile.am: Start using ../common.make

2008-07-08  Sebastien Pouliot  <sebastien@ximian.com>

	* GetLastErrorMustBeCalledRightAfterPInvokeRule.cs: Simplify 
	logic a bit. Handle the case where Resolve returns null (cannot 
	find the required assemblies)
	* Makefile.am: Rebuild if the framework has changed.

2008-05-24  Sebastien Pouliot  <sebastien@ximian.com>

	* DoNotCastIntPtrToInt32Rule.cs: Don't apply rule to GetHashCode
	methods since it's unlikely that the downcast will cause problem
	and this reduce the main source of false-positives.

2008-05-16  Sebastien Pouliot  <sebastien@ximian.com>

	* DoNotCastIntPtrToInt32Rule.cs: Change Convert method to static
	(self-test).

2008-05-09  Sebastien Pouliot  <sebastien@ximian.com>

	* DoNotCastIntPtrToInt32Rule.cs: New. Rule to ensure we're not 
	generating code limiting IntPtr to work on 32bits architectures.
	* Makefile.am: Add rule and test to the build.

2008-04-06  Sebastien Pouliot  <sebastien@ximian.com>

	* GetLastErrorMustBeCalledRightAfterPInvokeRule.cs: Add Equals,
	GetHashCode and ==,!= operators on Branch to satisfy 
	OverrideValueTypeDefaultsRule.
	* UseManagedAlternativesToPInvokeRule.cs: Add Equals(PInvokeCall) 
	method to satisfy ImplementEqualsTypeRule.

2008-02-17  Sebastien Pouliot  <sebastien@ximian.com>

	* GetLastErrorMustBeCalledRightAfterPInvokeRule.cs: Change to static
	and initialize it directly.

2008-02-16  Sebastien Pouliot  <sebastien@ximian.com>

	* GetLastErrorMustBeCalledRightAfterPInvokeRule.cs: Fix the case
	where the p/invoke is inside another assembly using the 
	AssemblyResolver.

2008-02-15  Sebastien Pouliot  <sebastien@ximian.com>

	* GetLastErrorMustBeCalledRightAfterPInvokeRule.cs
	* MarshalStringsInPInvokeDeclarationsRule.cs
	* PInvokeShouldNotBeVisibleRule.cs
	* UseManagedAlternativesToPInvokeRule.cs:
		Update rules wrt framework changes.

2008-01-30  Sebastien Pouliot  <sebastien@ximian.com>

	* GetLastErrorMustBeCalledRightAfterPInvokeRule.cs: Changed to
	use the new shared StackEntryAnalysis by Andreas Noever. Refactored
	(split) by me to reduce self-test complaints ;-)

2008-01-29  Sebastien Pouliot  <sebastien@ximian.com>

	* MarshalStringsInPInvokeDeclarationsRule.cs: New. Rule to ensure 
	all string and StringBuilder have marshalling information 
	[Daniel Abramov]
	* Gendarme.Rules.Interoperability.xml.in: Add rule description and
	update Uri for all of them.
	* Makefile.am: Add rule and test to the build.

2008-01-28  Sebastien Pouliot  <sebastien@ximian.com>

	* UseManagedAlternativesToPInvokeRule.cs: Override operators == and
	!= since the struct PInvokeCall overrides Equals (Gendarme rule).

2008-01-21  Sebastien Pouliot  <sebastien@ximian.com>

	* UseManagedAlternativesToPInvokeRule.cs: New. Rule to check if
	p/invoke calls can be replaced with managed alternatives 
	[Daniel Abramov]. Removed dead code and simplified GetHashCode (sp)
	* Makefile.am: Add rule and test to the build.
	* Gendarme.Rules.Interoperability.xml.in: Add rule description.

2008-01-11  Sebastien Pouliot  <sebastien@ximian.com> 

	* GetLastErrorMustBeCalledRightAfterPInvokeRule.cs: Use new 
	Location ctors.

2008-01-02  Sebastien Pouliot  <sebastien@ximian.com>

	* GetLastErrorMustBeCalledRightAfterPInvokeRule.cs: Change two 
	methods to static (self-test)
	* Gendarme.Rules.Interoperability.mdp: New. MonoDevelop project file.

2007-12-30  Sebastien Pouliot  <sebastien@ximian.com> 

	* GetLastErrorMustBeCalledRightAfterPInvokeRule.cs: New. Rule to 
	ensure GetLastError is called soon enough after a p.invoke call.
	Rule by Andreas Noever
	* PInvokeShouldNotBeVisibleRule.cs: New. Rule to check that all
	p/invoke declaration aren't directly visible from assemblies.
	* Gendarme.Rules.Interoperability.xml.in: Rules descritions.
	* Makefile.am: New. Build file for rules and tests.
