2010-08-13  jbevain  <jbevain@gmail.com>

	[Fix] emit the proper metadata version for net_4_0 assemblies

2010-08-12  Chris Bacon  <chrisbacon76@gmail.com>

	Moved back to Cecil version 0.6.* PDB files are not supported any
	more. Symbol writing is not supported.

2010-04-23  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/ReflectionWriter.cs: fix writing of exported types.

2010-04-19  Sebastien Pouliot  <sebastien at ximian.com>

	* Mono.Cecil/ReflectionWriter.cs: Partial (forwarders) fix for
	writing ExternTypes (needed for tuning ML4 correctly)

2010-04-11  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/GenericParameter.cs: override Module properly.

2010-03-29  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/AssemblyStripper.cs: optimize.

2010-02-13  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/ReflectionReader.cs: don't cache everything
	that is context dependent.
	Based on a patch by Frank Laub  <frank.laub@gmail.com>

2010-02-13  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/MethodReturnType.cs: avoid creating an
	inner parameter if not necessary.

2010-02-13  Jb Evain  <jbevain@novell.com>

	* TypeAttributes.cs: add Forwarder flag.

2010-02-12  Jb Evain  <jbevain@novell.com>

	* AssemblyStripper.cs: properly set the rva of methods with
	no body.

2010-01-06	Rodrigo B. de Oliveira <rodrigo@unity.com>

	* Mono.Cecil.csproj
	  Mono.Cecil/NameObjectCollectionBase.cs
	  Mono.Cecil/BaseAssemblyResolver.cs
	  Mono.Cecil/DefaultAssemblyResolver.cs:
	  	support for compiling Mono.Cecil without
	  	any references to System.dll using the newly introduced
	  	"Debug - No System.dll" configuration in Mono.Cecil.csproj;

2009-12-14  Sebastien Pouliot  <sebastien at ximian.com>

	* Mono.Cecil/BaseAssemblyResolver.cs: Update to .net fx 4 beta2
	version number and reduce code duplication.

2009-10-25  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/BaseAssemblyResolver.cs
	  Mono.Cecil/StructureReader.cs
	  Mono.Cecil.Metadata/MetadataWriter.cs:
		update .net 4.0 version to beta 2.

2009-08-18  Michael Hutchinson  <mhutchinson@novell.com>

	* Mono.Cecil/BaseAssemblyResolver.cs: Search GACs specified in the
	  MONO_GAC_PREFIX environment variable.

2009-08-06  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/BaseAssemblyResolver.cs:
	Do not crash when the GAC folder can't be found.

2009-07-28  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/AssemblyStripper.cs: Make all methods share
	the same body.

2009-07-16  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/AssemblyFactory.cs
	* Mono.Cecil.Metadata/MetadataWriter.cs
	* Mono.Cecil.Binary/ImageWriter.cs:
		Support for properly writing 4.0 dlls.
		Patch by Carlo Kok  <ck@remobjects.com>.

2009-06-05  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/BaseAssemblyResolver.cs: properly look for the 4.0 corlib
	when running on Mono.

2009-06-03  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/MetadataResolver.cs: add support for resolving from
	a ModuleReference.

2009-06-03  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/BaseAssemblyResolver.cs: look for 4.0.0.0 assemblies.

2009-05-21  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/ReflectionReader.cs: add support for type forwarders.

2009-05-19  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/TargetRuntime.cs
	* Mono.Cecil/StructureReader.cs
	* Mono.Cecil.Metadata/MetadataWriter.cs:
		add support for .net 4.0 detection.

2009-04-30  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil.Signatures/SignatureReader.cs: fix reading out extra mods.

2009-04-21  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil.Cil/SymbolStoreHelper.cs: look for the assembly in the GAC
	as well if it's not local.

2009-04-03  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil.Metadata/BlobHeap.cs
	* Mono.Cecil.Metadata/MetadataWriter.cs:
		do a better job at emitting a blob heap.

2009-04-01  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/ModuleDefinition.cs (Import): add overloads
	taking a MethodDefinition as a generic context.

2009-04-01  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/ReflectionHelper.cs: throw proper exception
	when importing in an invalid context.

2009-03-12  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/AssemblyStripper.cs (PatchHeap): don't crash
	if the assembly doesn't contain a specific metadata heap.

2009-03-04  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/StructureWriter.cs: properly set the metadata tokens
	of newly emitted modules and assemblies. Fix #480729.

2009-01-28  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/MetadataResolver.cs:
		Add new MetadataResolver.

	* Mono.Cecil/GenericParameter.cs
	  Mono.Cecil/FieldDefinition.cs
	  Mono.Cecil/TypeReference.cs
	  Mono.Cecil/GenericInstanceMethod.cs
	  Mono.Cecil/IMemberDefinition.cs
	  Mono.Cecil/TypeDefinition.cs
	  Mono.Cecil/PropertyReference.cs
	  Mono.Cecil/EventReference.cs
	  Mono.Cecil/MethodDefinition.cs
	  Mono.Cecil/EventDefinition.cs
	  Mono.Cecil/ModuleDefinition.cs
	  Mono.Cecil/MethodReference.cs
	  Mono.Cecil/FieldReference.cs
	  Mono.Cecil/ParameterDefinition.cs
	  Mono.Cecil/PropertyDefinition.cs
	  Mono.Cecil/ParameterReference.cs
	  Mono.Cecil.Cil/VariableReference.cs
	  Mono.Cecil.Cil/VariableDefinition.cs:
		Add Resolve to Definition methods on References.

	* Mono.Cecil.dll.sources, Mono.Cecil.csproj: add MetadataResolver.cs

2009-01-05  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/ReflectionHelper.cs
	* Mono.Cecil/DefaultImporter.cs:
		Adjust references's generic parameter count on import.

2009-01-05  Sebastien Pouliot  <sebastien at ximian.com>

	* CodeReader.cs: Do not call VisitVariableDefinitionCollection
	unless LocalVarToken is different from zero.
	* CodeWriter.cs: Use HasVariables and HasExceptionHandlers.
	Write zero, not TokenType.Signature, for LocalVarToken if no
	variable is defined. That should fix the problem with unsign
	* Mono.Cecil.Cil/MethodBody.cs: Add HasExceptionHandlers,
	HasVariables and HasScopes to avoid creating empty collections
	inside Cecil. There is no HasInstruction because there's always
	something if MethodDefinition.HasBody is true (i.e. a MethodBody
	exists). [re-apply r1222198]

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

	* Mono.Cecil/MethodReturnType.cs: Override ToString so we can, by
	default, display something useful about the return type.

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

	* Mono.Cecil/GenericInstanceMethod.cs,
	* Mono.Cecil/GenericInstanceType.cs,
	* Mono.Cecil/IGenericInstance.cs: Introduce HasGenericArguments into
	the interface and implement it inside GenericInstance[Method|Type]

2008-12-16  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil.Signatures/SignatureReader.cs: fix reading of wrong
	modifiers.

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

	* Mono.Cecil.Signatures/CustomAttrib.cs: Define reusable Empty
	arrays for both FixedArg and NamedArg.
	* Mono.Cecil.Signatures/SignatureReader.cs: Avoid creating empty
	ParameterDefinitionCollection on constructors. Use the new Empty
	arrays when possible.

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

	* Mono.Cecil/MethodReference.cs: Make HasParameters virtual
	* Mono.Cecil/MethodSpecification.cs: Override HasParameters to make
	sure we're tracking the same object as the Parameters property does.
	* Mono.Cecil/PropertyDefinition.cs: Implement HasParameters based on
	the GetMethod, SetMethod or its own parameter collection.
	* Mono.Cecil/PropertyReference.cs: Add abstract HasParameters property

2008-11-27  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/ExternTypeCollection.cs: don't attach types as they
	are already attached to the current module.

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

	* Mono.Cecil/GenericParameter.cs,
	* Mono.Cecil/ICustomAttributeProvider.cs,
	* Mono.Cecil/CallSite.cs,
	* Mono.Cecil/IMethodSignature.cs,
	* Mono.Cecil/FunctionPointerType.cs,
	* Mono.Cecil/FieldDefinition.cs,
	* Mono.Cecil/TypeReference.cs,
	* Mono.Cecil/GenericInstanceMethod.cs,
	* Mono.Cecil/IHasSecurity.cs,
	* Mono.Cecil/MethodReturnType.cs,
	* Mono.Cecil/AssemblyDefinition.cs,
	* Mono.Cecil/TypeDefinition.cs,
	* Mono.Cecil/MethodDefinition.cs,
	* Mono.Cecil/EventDefinition.cs,
	* Mono.Cecil/ModuleDefinition.cs,
	* Mono.Cecil/MethodReference.cs,
	* Mono.Cecil/ReflectionWriter.cs,
	* Mono.Cecil/ParameterDefinition.cs,
	* Mono.Cecil/PropertyDefinition.cs,
	* Mono.Cecil/IGenericParameterProvider.cs:
		Add boolean Has{x} properties so Cecil consumers are able
		to avoid the lazy allocations that would be made for an
		empty {x}. Use the Has{x} properties inside Cecil (some
		cases might be missing).

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

	* Mono.Cecil/TypeDefinition.cs (IsValueType): Inline the call to
	IsEnum and remove the double null check being done.

2008-11-14  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/ParameterAttributes.cs: add Retval and Lcid.
	* Mono.Cecil/ParameterDefinition.cs: add Is* property accordingly.

2008-11-12  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil.Signatures/SignatureReader.cs: properly construct
	TypeReferences when reading them from custom attributes data.

2008-11-11  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/ReflectionReader.cs (AddTypeRef):
	protect against invalid token.

2008-11-11  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil.Cil/CodeWriter.cs: fix writing of catch handlers
	of a generic exception type.

2008-11-06  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil.Metadata/MetadataWriter.cs: properly clean
	the runtime image in case we're unsigning an assembly.

2008-11-01  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil.Binary/RuntimeImage.cs: add [Flags] attribute.
	Fixes #440574.

2008-10-27  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/AssemblyInfo.cs: bump version.

2008-10-27  Zoltan Varga  <vargaz@gmail.com>

	* Mono.Cecil/AssemblyStripper.cs: Strip locals info too.

2008-10-17  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/ReflectionWriter.cs: remove dead code.
	* Mono.Cecil.Cil/ISymbolWriter.cs: simplify Write method.

2008-10-17	Rodrigo B. de Oliveira <rodrigobamboo@gmail.com>

	* Mono.Cecil.Cil/CodeWriter.cs
	* Mono.Cecil.Cil/MethodBody.cs:
		mcs-cecil-local-var-1.diff patch enabling better handling of local
		variable debugging information applied.
		Patch by Juerg Billeter <j@bitron.ch>

2008-10-17	Rodrigo B. de Oliveira <rodrigobamboo@gmail.com>

	* Mono.Cecil/ConstructorCollection.cs
	* Mono.Cecil.Binary/ImageReader.cs:
		Compact Framework compilation fixes.

2008-10-14  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/SecurityDeclarationReader.cs: protect against
	wrongly formatted security attributes.

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

	* Mono.Cecil.Cil/SymbolStoreHelper.cs: Change two "static readonly"
	fields into const.
	[Found using Gendarme PreferLiteralOverInitOnlyFieldsRule]

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

	* Mono.Cecil/ConstructorCollection.cs: Fix a NRE if a null parameter
	is provided to one of the GetConstructor overloads.

2008-10-07  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/ReflectionReader.cs: don't cache generic typespecs,
	as some compiler reuse generic instance signatures with different
	generic contexts.

2008-10-01  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil.dll.sources
	* Mono.Cecil.csproj
	* Mono.Cecil/AssemblyStripper.cs
	* Mono.Cecil.Cil/CodeWriter.cs
	* Mono.Cecil.Metadata/MetadataWriter.cs: add a new AssemblyStripper
	class to be used by a tool to empty method bodies for assemblies
	that have been AOTed.

2008-09-29  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/GenericParameter.cs: override TypeReference.Scope.

2008-09-25  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil.Binary/MemoryBinaryWriter.cs: Make sure QuadAlign
	properly enlarge the memory stream if needed.
	Patch by Regis Vaquette <rvaquette@yahoo.fr>.

2008-09-18  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/ReflectionReader.cs (GetModifierType): protect against
	zero rids.

2008-09-15  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil.Signatures/SignatureReader.cs: fix regression
	in reading custom mods.

2008-09-04  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil.Signatures/SignatureReader.cs: better read modifiers on
	return types and parameters.

2008-09-02  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil.Metadata/UserStringsHeap.cs: fix reading of some unicode fu.

2008-09-02  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/MethodAttributes.cs: add CheckAccessOnOverride.
	* Mono.Cecil/MethodDefinition.cs: add IsCheckAccessOnOverride.

2008-09-02  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/GenericParameter.cs: fix Has*Constraint properties.

2008-09-02  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/SecurityDeclarationReader.cs: fix reading
	multiple permissions. Patch by Carsten Keutmann.

2008-09-01  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/ReflectionReader.cs: properly compose mod and byref types
	for parameters and return types.
	Based on a patch by Carlo Kok <ck@remobjects.com>

2008-09-01  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil.Signatures/SignatureReader.cs: Avoid a crash
	when looking for an enumeration definition when the assembly
	could not be resolved. Patch by Carlo Kok <ck@remobjects.com>

2008-09-01  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/ReflectionWriter.cs: fix for writing null string
	constants. Patch by Ewout Prangsma <ewout@tallapplications.com>.

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

	* Mono.Cecil.dll.sources
	* Mono.Xml/MiniParser.cs:
		Remove MiniParser as it is no more required (replaced by
		SmallXmlParser) and save a few KB in the binary size

	* Mono.Xml/SecurityParser.cs
	* Mono.Xml/SmallXmlParser.cs:
		Seal non-visible classes.
		[Found using Gendarme AvoidUnsealedUninheritedInternalClassesRule]

	* Mono.Cecil.Signatures/GenericArg.cs:
		Seal non-visible classes.
		[Found using Gendarme AvoidUnsealedUninheritedInternalClassesRule]

	* Mono.Cecil.Binary/CopyImageVisitor.cs
	* Mono.Cecil.Binary/ImageInitializer.cs
	* Mono.Cecil.Binary/ImageReader.cs
	* Mono.Cecil.Binary/ImageWriter.cs
	* Mono.Cecil.Binary/ResourceReader.cs
	* Mono.Cecil.Binary/ResourceWriter.cs:
		Seal non-visible classes.
		[Found using Gendarme AvoidUnsealedUninheritedInternalClassesRule]

	* Mono.Cecil.Metadata/CultureUtils.cs
	* Mono.Cecil.Metadata/MetadataInitializer.cs
	* Mono.Cecil.Metadata/MetadataReader.cs
	* Mono.Cecil.Metadata/MetadataRowReader.cs
	* Mono.Cecil.Metadata/MetadataRowWriter.cs
	* Mono.Cecil.Metadata/MetadataTableReader.cs
	* Mono.Cecil.Metadata/Utilities.cs:
		Seal non-visible classes.
		[Found using Gendarme AvoidUnsealedUninheritedInternalClassesRule]

	* Mono.Cecil.Cil/CodeReader.cs
	* Mono.Cecil.Cil/OpCodeNames.cs
	* Mono.Cecil.Cil/CodeWriter.cs
	* Mono.Cecil.Cil/SymbolStoreHelper.cs:
		Seal non-visible classes.
		[Found using Gendarme AvoidUnsealedUninheritedInternalClassesRule]

	* Mono.Cecil/SecurityDeclarationReader.cs
	* Mono.Cecil/NullReferenceImporter.cs
	* Mono.Cecil/TableComparers.cs:
		Seal non-visible classes.
		[Found using Gendarme AvoidUnsealedUninheritedInternalClassesRule]

	* Mono.Cecil/AssemblyNameReference.cs:
		Use String.Length > 0 instead of comparing to String.Empty
		[Found using Gendarme CompareWithEmptyStringEfficientlyRule]

	* Mono.Cecil.Metadata/MetadataToken.cs:
		Add a private Equals(MetadataToken) method. This allows the
		existing operators (== and !=) to avoid boxing, since they
		will prefer it to the Equals(object) method.
		[Found using Gendarme ImplementEqualsTypeRule]

	* Mono.Cecil.Cil/GuidAttribute.cs:
		Seal attribute class
		[Found using Gendarme AvoidUnsealedConcreteAttributesRule]

	* Mono.Cecil.Signatures/SignatureWriter.cs:
		Fix typo.
		[Found using Gendarme AvoidUnneededUnboxingRule]

2008-06-06  Jb Evain  <jbevain@novell.com>

	* CodeGen/cecil.xml: constrained. is of type InlineType.
	* Mono.Cecil.Cil/OpCodes.cs: re-generate.

2008-05-14  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/ReflectionWriter.cs:
		Only create the GenericParameterConstraint table if needed.
		Patch by Richard Flamsholt <richard.flamsholt@gmail.com>.

	* Mono.Cecil.Cil/MethodBody.cs:
		Fix typo in switch cloning. Patch by
		Rune Glerup <rune.glerup@gmail.com>.

2008-05-06  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil.Signatures/CustomMod.cs:
		Introduce a EmptyCustomMod static field.
	* Mono.Cecil/ReflectionWriter.cs
	* Mono.Cecil.Signatures/SignatureReader.cs:
		Use EmptyCustomMod instead of instanciating
		empty arrays of CustomMod.
		Based on a patch by Carlo Kok <ck@remobjects.com>.

	* Mono.Cecil.Metadata/MetadataRowReader.cs
	* Mono.Cecil.Metadata/MetadataRowWriter.cs:
		Cache row counters delegates.
		Based on a patch by Carlo Kok <ck@remobjects.com>.

	* Mono.Cecil/TypeDefinition.cs
	* Mono.Cecil/MethodDefinition.cs
	* Mono.Cecil/DefaultImporter.cs
	* Mono.Cecil/ReflectionHelper.cs:
		Restore the generic context values instead of blindly
		overriding them. Based on a patch by Dzintars Avots.

	* Mono.Cecil/MarshalSpec.cs (CloneInto): add new method
	to clone MarshalSpec into a new container.

	* Mono.Cecil/ParameterDefinition.cs (Clone):
	* Mono.Cecil/FieldDefinition.cs (Clone):
	Use the new MarshalSpec.CloneInto method.
	Based on a patch by Dzintars Avots <davots@coverity.com>.

	* Mono.Cecil/MethodDefinition.cs (Clone): fix cloning of
	return types when they don't have a parameter.
	Patch by Dzintars Avots <davots@coverity.com>.

	* Mono.Cecil.Cil/CodeWriter.cs (ComputeMaxStack): compute max
	stack more precisely. Based on a patch by Daniel Grunwald,
	Contains code from Cecil.FlowAnalysis.

	* Mono.Cecil.Cil/MethodBody.cs (Clone): make sure the
	instruction linked list is properly constructed.

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

	* Mono.Cecil.Cil/CodeReader.cs:
	* Mono.Cecil.Cil/ISymbolReader.cs:
		Move reading of debugging symbols where it's possible to
		reuse the existing Hashtable (offset, Instruction) in
		the debugging libraries. Change interface to allow
		passing the Hashtable.

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

	* Mono.Cecil.csproj
	* Mono.Cecil.dll.sources:
		Add Mono.Cecil.Cil/OpCodeNames.cs to the build.

	* Mono.Cecil.Cil/OpCodeNames.cs
	* Mono.Cecil.Cil/OpCode.cs
	* Mono.Cecil.Cil/OpCodes.cs:
		Reduce the OpCode struct size to 8 bytes (instead of 36).
		Based on the SRE.OpCode code found in corlib.

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

	* Mono.Cecil/AssemblyDefinition.cs:
		Short circut loop when module is found.

2008-04-08  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/SecurityDeclaration.cs
	  Mono.Cecil/SecurityDeclarationReader.cs:
		Implement resolving of SecurityDeclarations.

2008-03-31  Jb Evain  <jbevain@novell.com>

	Integrate patches from Dzintars Avots <davots@coverity.com>

	* Mono.Cecil/GenericParameter.cs
	  Mono.Cecil/TypeDefinition.cs
	  Mono.Cecil/DefaultImporter.cs
	  Mono.Cecil/MethodDefinition.cs:
		Fix generic parameter cloning to avoid issues when
		the constraint reference the parameter itself.

	* Mono.Cecil/MethodBody.cs (Clone): deals with switches.

	* Mono.Cecil/MethodBody.cs (Clone): clone the name of
	the local variables.

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

	* Mono.Cecil/ReflectionReader.cs:
		Avoid creating a BinaryReader+MemoryStream on LE archs for
		GetConstant. Saves about 400KB for Gendarme.
		Avoid a BinaryReader creation in GetConstant which saves
		about 50KB for Gendarme.
	* Mono.Cecil.Metadata/GuidHeap.cs:
		Compute ideal capacity for Hashtable. Avoid memory allocation
		if a single GUID is present (which is the case for all of
		Mono 2.0 assemblies). Saves a whole 2KB for Gendarme ;-)
	* Mono.Cecil.Binary/Image.cs:
		Add internal GetSectionAtVirtualAddress to avoid creating
		BinaryReader in some cases.
	* Mono.Cecil.Binary/ResourceReader.cs:
		Avoid a BinaryReader creation in SetInitialValue which saves
		about 3000KB for Gendarme.

2008-03-08  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil.Binary/CopyImageVisitor.cs:
		Copy the cliheaders flags over the new assembly.
		Patch by Oleksiy Gapotchenko <alex.s.gap@gmail.com>

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

	* Mono.Cecil.Cil/CodeReader.cs:
		Use one and only Hashtable for caching instructions offsets.
		Save tons of precious memory.

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

	* Mono.Cecil.Cil/OpCode.cs
	* Mono.Cecil.Binary/RVA.cs
	* Mono.Cecil.Binary/DataDirectory.cs:
		Avoid boxing/unboxing when == or != operators are used.
		Results in significant memory savings for Gendarme.

2008-03-08  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/ReflectionReader.cs:
		Protect from malformed RIDs.
	* Mono.Cecil/AggressiveReflectionReader.cs:
		Create the m_events and m_properties tables
		even if they contains 0 elements.

2008-02-26  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil.Binary/ImageReader.cs:
		Avoid throwing non desired exceptions.

2008-02-25  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/ReflectionReader.cs:
		Avoid throwing in case a constant
		is of type object.

2008-02-19  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/DefaultImporter.cs:
		Add support for importing function pointers. Based on a
		patch by Andrea Carlo Ornstein <andrea.ornstein@st.com>.

	* Mono.Cecil/ModuleDefinition.cs:
		Add a Inject(FieldDef) overload for symmetry.
		Patch by Andrea Carlo Ornstein <andrea.ornstein@st.com>.

2008-02-16  Jb Evain  <jbevain@novell.com>

	* CodeGen/templates/MetadataRowReader.cs
	  CodeGen/templates/Utilities.cs
	  CodeGen/templates/MetadataRowWriter.cs
	  Mono.Cecil.Metadata/MetadataRowReader.cs
	  Mono.Cecil.Metadata/MetadataRowWriter.cs
	  Mono.Cecil.Metadata/Utilities.cs:
		Use a good old traditional array instead of an
		Hashtable. Based on a patch by Carlo Kok <ck@remobjects.com>.

2008-02-07  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/BaseAssemblyResolver.cs:
		deal with 2.1 corlib on Mono.

2008-02-07  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/MethodDefinition.cs:
		add last Is method for semantics property.

2008-02-05  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/TypeDefinition.cs:
		System.Enum by itself is not a value type.
		Fix #351879.

	* Mono.Cecil.Signatures/SignatureReader.cs:
		Properly read fnptr local variables. Fix #358507.

	* Mono.Cecil.Binary/DefaultImporter.cs:
		Import modifiers and sentinels, patch from:
		Andrea Carlo Ornstein <andrea.ornstein@st.com>

2008-02-04  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil.Binary/CLIHeader.cs
	  Mono.Cecil.Binary/ImageWriter.cs
	  Mono.Cecil.Metadata/MetadataWriter.cs:
		emit the proper cli header version for 1.1 and 2.0 cases.

	* Mono.Cecil.Cil/CilWorker.cs: add callsite overloads.

2008-01-10  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/ReflectionHelper.cs: deal with complex arrays.

2008-01-07  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil.Cil/CilWorker.cs:
		Allow ldarg.s/ldloc.s/stloc.s to take a byte
		instead of the actual parameter or variable. Fix #350606.

2008-01-07  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/ArrayType.cs:
		Add a constructor with the array rank. Fix #351924.
		Based on a patch by Rolf Kvinge <rkvinge@novell.com>.

2008-01-04  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil.Cil/CilWorker.cs:
		Allow ldarg/ldloc/stloc to take a integer
		instead of the actual parameter or variable. Fix #350606.

2008-01-04  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/DefaultImporter.cs:
	  Mono.Cecil/ReflectionHelper.cs:
		Properly import nested types. Fix #351133.

2008-01-03  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/ReflectionWriter.cs:
		Properly emit null type constants. Fix #351141.
		Patch by Rolf Kvinge <rkvinge@novell.com>.

2007-12-30  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil.Cil/CilWorker.cs:
		Check for null arguments. Fix #350857.

2007-12-21  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/ReflectionReader.cs
	  Mono.Cecil/AggressiveReflectionReader.cs
	  Mono.Cecil.Signatures/SignatureReader.cs:
		Don't crash on force resolve for nested arrays
		in custom attributes.

2007-12-17  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/IMemberDefinition.cs: make IMemberDefinition
	implement ICustomAttributeProvider.

2007-12-15  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil.Binary/AggressiveReflectionReader.cs: protect
	against zeroed tokens.

2007-12-15  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil.Binary/ImageReader.cs: fix crash when reading
	some non .net binaries.

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

	* Mono.Cecil/SecurityDeclarationReader.cs:	Change default read
	value to true. Fix reading 2.0 security	declaration format used by
	MS compilers (#343553).

2007-11-15	Rodrigo B. de Oliveira <rodrigobamboo@gmail.com>

	* Mono.Cecil.Cil/MethodBody.cs:
		Fixed Optimize for ldc_i4

2007-11-15	Rodrigo B. de Oliveira <rodrigobamboo@gmail.com>

	* Mono.Cecil.Cil/DocumentLanguage.cs
	  Mono.Cecil.Cil/DocumentLanguageVendor.cs:
	  	Compact Framework support by using Guid(string) if CF_2_0 is defined

2007-11-01  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/MethodReturnType.cs: based on a patch by
	Ivan <ivanjh@gmail.com>. Fix for cloning methods with
	marshalers on return type.

2007-10-31  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil.Binary/ImageReader.cs: fix for the case where
	the export table export zero functions.

2007-10-18  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil.Cil/MethodBody.cs: Add an Optimize method which
	is the opposite of Simplify. Based on a patch by Carlo.

	* Mono.Cecil.Cil/CodeWriter.cs: don't care about reducing MaxStack.

2007-10-11  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/TypeReference.cs: add a IsNested helper property.

	* Mono.Cecil/ReflectionWriter.cs
	  Mono.Cecil.Signatures/SignatureWriter.cs:
		Integrate patch for Carlo, start working on enum writing
		in custom attribute.

2007-10-09  Nestor Salceda  <nestor.salceda@gmail.com>

	* mono-cecil.pc.in:  Updated the version number.

2007-10-09  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil.Cil/Instruction.cs
	  Mono.Cecil.Cil/CodeWriter.cs:
		Move CodeWriter.GetSize (Instruction) to Instruction.

	Integration of patches from Carlo Kok <ck@remobjects.com>:

	* Mono.Cecil.Cil/Document.cs
	  Mono.Cecil.Cil/DocumentType.cs
	  Mono.Cecil.Cil/DocumentLanguage.cs
	  Mono.Cecil.Cil/DocumentLanguageVendor.cs:
		Use plain guids for Document properties so it's easy
		for third party document providers to use their own.

	* Mono.Cecil/ParameterDefinition.cs:
		Clean or set the HasFieldMarshal flag when setting
		MarshalSpecs on parameters.

	* Mono.Cecil/AssemblyNameReference.cs:
		Protect against null culture.

	* Mono.Cecil/FieldDefinition.cs:
		Clean or set the HasFieldMarshal flag when setting
		MarshalSpecs on fields.

	* Mono.Cecil/GenericInstanceType.cs:
		Properly initialize the IsValueType from the element type.

2007-10-09  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/ReflectionWriter.cs: check for duplicates
	in the MemberRef row.

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

	* standalone.make: Revert changes so standalone Cecil (in SVN) can
	be built using this Makefile (required for Gendarme);
	* README: Update build and bug instructions.

2007-10-07  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/BaseAssemblyResolver.cs: first lookup assemblies
	in the specified directories before trying the framework dir.

2007-10-06  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil.Cil/OpCode.cs: make that a struct again, it
	make the 2.1 profile explode. Will investigate why.

2007-10-06  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/MethodCallingConvention.cs: Not a [Flag]

2007-10-05  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil.Cil/OpCode.cs: Change OpCode from struct to class
	to avoid copying everything everytime.

2007-09-28  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/SecurityDeclarationReader.cs:
		Adapt patch from Carlo Kok  <ck@remobjects.com>.
		Properly read unicode string constants.

	* Mono.Cecil/SecurityDeclarationReader.cs:
		Adapt patch from Carlo Kok  <ck@remobjects.com>.
		For some MS assemblies, the security declaration contains
		one zero byte.

2007-09-24  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/ModuleDefinition.cs: after a FullLoad, the symbol
	reader is not needed anymore.

2007-09-18  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil.Cil/MethodBody.cs:
		Adapt a patch from Ivan <ivanjh@gmail.com>.
		Fix cloning of the This parameter.

2007-09-12  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/ReflectionReader.cs
	  Mono.Cecil.Signatures/SignatureReader.cs
	  Mono.Cecil.Signatures/TypeSpec.cs
	  Mono.Cecil.Signatures/SignatureWriter.cs:
		Deal with custom mods on typespecs.

2007-09-12  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil.Binary/ImageReader.cs: some 64bits assemblies
	have a strange header without import tables.

2007-09-09  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/GenericContext.cs
	  Mono.Cecil/ReflectionReader.cs
	  Mono.Cecil/DefaultImporter.cs:
		Better handling of generic instances of references, where
		the number of generic parameters is not known.

2007-09-06  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/MethodDefinition: add Is** methods for MethodImplAttributes.

2007-09-04  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/ReflectionWriter.cs:
		Adapt a patch by Ewout Prangsma <ewout@tallapplications.com>.
		Cache the typespec tokens instead of the typespec themselves
		because GenericParameters are somethimes considered as typespecs.

2007-08-28  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil.Cil/CodeWriter.cs
	  Mono.Cecil/ReflectionWriter.cs
	  Mono.Cecil.Cil/SymbolStoreHelper.cs
	  Mono.Cecil.Signatures/SignatureWriter.cs:
		Generate proper variables signatures for symbols
		stores.

2007-08-19  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil.Cil/CodeReader.cs:
		Deal with generic exceptions.

2007-08-15  Jb Evain  <jbevain@novell.com>

	* CodeGen/cecil.xml,
	  Mono.Cecil.Cil/OpCodes.cs:
		Fix bug spotted by Jesse Jones, ldelem.any has a
		stack behavior pop of popref, popi.

2007-08-15  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/TypeReference.cs
	  Mono.Cecil/TypeSpecification.cs:
		TypeSpecification.Module return the module of the elemen
		type now.

2007-08-13  Rodrigo B. de Oliveira <rodrigobamboo@gmail.com>

	* default.build
	  Mono.Cecil/AssemblyInfo.cs:
		Ability to pass custom defines to the c# compiler through
		the csc.defines property. KEYFILE can be used to force
		an AssemblyKeyFile attribute on AssemblyInfo.cs so strongly
		signed versions of Mono.Cecil can be produced on .net 1.1,
		cf 1.0 and cf 2.0.

2007-08-13  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil.Cil/CilWorker.cs:
		Fix InsertBefore.

2007-08-06  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil.Cil/CilWorker.cs:
		Fix the linked list after an InsertBefore, InsertAfter.

2007-08-02  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/GenericParameter.cs
	  Mono.Cecil/FieldDefinition.cs
	  Mono.Cecil/TypeDefinition.cs
	  Mono.Cecil/MethodDefinition.cs
	  Mono.Cecil/EventDefinition.cs
	  Mono.Cecil/PInvokeInfo.cs
	  Mono.Cecil/Resource.cs
	  Mono.Cecil/ParameterDefinition.cs
	  Mono.Cecil/PropertyDefinition.cs:

		Add Isxxx properties based on the xxxAttributes enums.

2007-07-23  Raja R Harinath  <rharinath@novell.com>

	Fix 'make warnings'.
	* Makefile (LIBRARY_PACKAGE): Set to none.
	(install-local): Remove.

2007-07-21  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/TypeReference.cs
	  Mono.Cecil/TypeSpecification.cs:
		Add a new GetOriginalType () method.

	* Mono.Cecil/MethodReference.cs
	  Mono.Cecil/MethodSpecification.cs:
		Add a new GetOriginalMethod () method.

2007-07-19  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/AssemblyFactory.cs
	  Mono.Cecil.Binary/Image.cs:
		Update the fileinfo after writing an assembly
		to a file.

2007-07-19  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/ReflectionReader.cs
	  Mono.Cecil.Cil/CodeReader.cs
	  Mono.Cecil.Signature/SignatureReader.cs:
		Better handling of the sentil in the varargs methods.

	* Mono.Cecil/ReflectionReader.cs
	  Mono.Cecil/SentinelType.cs
	  Mono.Cecil.Cil/CodeWriter.cs:
	  Mono.Cecil.Signatures/SignatureReader.cs:
		Fix handling of varargs methods.

2007-07-18  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil.Cil/CodeReader.cs
	  Mono.Cecil.Cil/CodeWriter.cs:
		Deal with non-sense instructions that some
		obfuscators emit.

	* Mono.Cecil/AggressiveReflectionReader.cs:
		Deal with out of range properties.
	* Mono.Cecil.Metadata/StringsHeap.cs:
		Deal with out of range string indexes.

2007-07-17  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/AggressiveReflectionReader.cs:
		Add some gards against zeroed tokens.

	* Mono.Cecil.Metadata/Utilities.cs:
		Return zero instead of throwing on invalid tags.
		Allow Cecil to read assemblies partially broken
		by some obfuscators.

2007-07-14  Gert Driesen  <drieseng@users.sourceforge.net>

	* default.build: Fix relative path to key. Avoid use of ugly foreach
	contruct. Spaces to tabs.
	* Mono.Cecil.csproj: Fix relative path to key.
	* standalone.make: Fix relative path to key and config.make.

2007-07-03  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/BaseAssemblyResolver.cs:
		Expose a way to add default directories
		where the assemblies are first looked for.

2007-06-20  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/IReferenceImporter.cs => IImporter.cs
	  Mono.Cecil/DefaultReferenceImporter.cs => DefaultImporter.cs

	* Mono.Cecil/ReflectionHelper.cs
	  Mono.Cecil/DefaultReferenceImporter.cs
	  Mono.Cecil/ModuleDefinition.cs:
		Move Cecil types import logic into
		the DefaultReferenceImporter.

		Needed by the merger and the extractor.

2007-06-19  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil.Cil/MethodBody.cs:
		Avoid invalid cast by properly simplifying
		instructions.

	* Mono.Cecil.Cil/OpCodes.cs:
	  CodeGen/cecil.xml:
		leave.s is a macro instruction.

	* Mono.Cecil/TypeDefinition.cs
	  Mono.Cecil/ParameterDefinition.cs:
		Fix cloning.

2007-06-18  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/ReflectionReader.cs:
		Fix custom mods for fields ref.

2007-06-13  Jb Evain  <jbevain@novell.com>

	Integrated patches by:
	Paul Apostolescu <papostolescu@fortifysoftware.com>

	* patch3:
	  Mono.Cecil/ReflectionReader.cs
	  Mono.Cecil.Signatures/SignatureWriter.cs:
		In named args, objects are encoded as boxed.

	* patch1:
	  Mono.Cecil/IMemberDefinition.cs
	  Mono.Cecil/Constants.cs
	  Mono.Cecil/ReflectionReader.cs
	  Mono.Cecil/AggressiveReflectionReader.cs:
		Do not take into account special _Deleted
		members.

	* patch6:
	  Mono.Cecil/StructureReader.cs:
		Read the flags of the references as well.

	* patch5:
	  Mono.Cecil.Metadata/UserStringsHeap.cs:
		Don't bother getting a string from the bytes
		if the length is < 2 (0, or 0 + an encoding flag)

	* patch4:
	  Mono.Cecil/ReflectionHelper.cs:
		Update the value type flags of types
		when they are imported if the type
		reference was first seen as a type reference.

	* patch2:
	  Mono.Cecil.Signature/SignatureWriter.cs:
		Patch to handle nullref values for types in
		custom attributes arguments.

2007-06-13  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/StructureWriter.cs,
	  Mono.Cecil/ReflectionWriter.cs:
		Revert the on demand creation of memberref.

2007-06-12  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/CallSite.cs
	  Mono.Cecil/ModuleReference.cs
	  Mono.Cecil/CustomAttribute.cs
	  Mono.Cecil/AssemblyDefinition.cs
	  Mono.Cecil/SecurityDeclaration.cs
	  Mono.Cecil/AssemblyNameReference.cs
	  Mono.Cecil/MemberReference.cs
	  Mono.Cecil/Resource.cs
	  Mono.Cecil/ParameterReference.cs:
		Implement explicitely IAnnotationProvider.

2007-06-05  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/AssemblyNameReference.cs:
		Cache the fullname when possible.

2007-05-31  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/ModuleDefinition.cs:
		Add types to the module and members to the context
		on inject.

	* Mono.Cecil/BaseAssemblyResolver.cs:
		Improve resolve, works for people requiring
		.net 1.0 assemblies when they only have 1.1.

2007-05-30  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/DefaultAssemblyResolver.cs:
		Add a RegisterAssembly method to register an
		assembly to the cache without having to resolve it.

	* Mono.Cecil/DefaultReferenceImporter.cs:
		Make methods virtual.

	* Mono.Cecil.dll.sources
	  Mono.Cecil.csproj
	  Mono.Cecil/ReflectionHelper.cs
	  Mono.Cecil/IReferenceImporter.cs
	  Mono.Cecil/FieldDefinition.cs
	  Mono.Cecil/CustomAttribute.cs
	  Mono.Cecil/ImportContext.cs
	  Mono.Cecil/NullReferenceImporter.cs
	  Mono.Cecil/MethodDefinition.cs
	  Mono.Cecil/EventDefinition.cs
	  Mono.Cecil/ReflectionController.cs
	  Mono.Cecil/ModuleDefinition.cs
	  Mono.Cecil/GenericContext.cs
	  Mono.Cecil/DefaultReferenceImporter.cs
	  Mono.Cecil/PropertyDefinition.cs:
		Provide a IReferenceImporter to customize how
		types are injected from an assembly to another.

2007-05-28  Jb Evain  <jbevain@novell.com>

	* Borrow annotations concept from boo ast node.
	  Should be useful for the linker.

2007-05-23  Jb Evain  <jbevain@novell.com>

	* Mono.Cecil/StructureWriter.cs
	  Mono.Cecil/ReflectionWriter.cs
	  Mono.Cecil.Cil/CodeWriter.cs:
		Emit MemberReferences rows on demand.

2007-05-16  Jb Evain  <jb@nurv.fr>

	* Mono.Cecil.Binary/ImageReader.cs:
		Fix reading of the debug header for
		headers half way emitted by .net SRE.

	* Mono.Cecil/BaseAssemblyResolver:
		try to resolve unversionned assemblies.

2007-05-09  Jb Evain  <jb@nurv.fr>

	* Mono.Cecil.Binary/Image.cs:
		Throw when rva cannot be resolved.

	* Mono.Cecil.csproj
	  Mono.Cecil.Binary/ExportTable.cs
	  Mono.Cecil.Binary/BaseImageVisitor.cs
	  Mono.Cecil.Binary/ImageReader.cs
	  Mono.Cecil.Binary/IBinaryVisitor.cs
	  Mono.Cecil.Binary/Image.cs
	  Mono.Cecil.Binary/ImageInitializer.cs
	  Mono.Cecil/StructureReader.cs
	  Mono.Cecil/ReflectionWriter.cs:
		When present, read the export table, so that people
		reading non managed assemblies can use the Mono.Cecil.Binary
		stuff.

		Fix the bug when section name is 8 char long.

		Based on a patch by Pavel Savara <pavel.savara@gmail.com>.

2007-04-27  Jb Evain  <jb@nurv.fr>

	* Mono.Cecil/AssemblyNameReference.cs:
		Allow the computation of pktoken on CF_2_0.

2007-04-25  Jb Evain  <jb@nurv.fr>

	* Mono.Cecil/ModuleDefinition.cs
	  Mono.Cecil/ReflectionWriter.cs
	  Mono.Cecil.Cil/ISymbolWriter.cs
	  Mono.Cecil.Signatures/SignatureWriter.cs
		Start working on local var debug infos emitting.

2007-04-08  Jb Evain  <jb@nurv.fr>

	* Mono.Cecil/ParameterAttributes.cs:
		ParameterAttributes.None

2007-03-30  Jb Evain  <jb@nurv.fr>

	* Collections:
		Remove uneeded tests as an optimizations.
		Based on a suggestion by Carlo Kok <ck@remobjects.com>.

	* Mono.Cecil.Metadata/StringsHeap.cs:
		Optimize GetStringAt, patch by:
		Carlo Kok <ck@remobjects.com>

2007-03-22  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/AssemblyInfo.cs:
		Bump to 0.5.0.0 for the sake of our packagers friends.
		Re-Bump to 0.5.0.1.

	* Mono.Cecil/StructureWriter.cs:
		Throw a NotSupportedException instead of a NIE
		for mixed mode assemblies.

2007-03-20  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil.Metadata/MetadataWriter.cs:
		Correct epilog for unicode user strings heap.

2007-03-16  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil.Cil/CodeReader.cs
	  Mono.Cecil.Cil/MethodBody.cs:
		Add a MethodBody.Simplify method to expand
		macros.

	* Mono.Cecil.dll.sources
	  Mono.Cecil.csproj
	  Mono.Cecil.Cil/OpCode.cs
	  Mono.Cecil.Cil/OpCodes.cs
	  Mono.Cecil.Cil/Code.cs
	  CodeGen/cecil-gen.rb
	  CodeGen/templates/OpCodes.cs
	  CodeGen/templates/Code.cs:
		Add a Code enumeration to simplify working with
		OpCodes.

2007-03-12  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil.Metadata/UserStringsHeap.cs:
		Avoid trailing blank on some systems.

2007-02-22  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/ReflectionWriter.cs:
		Deal with sentinels on simple methodrefs.

2007-02-22  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil.dll.sources
	  Mono.Cecil.csproj
	  CodeGen/cecil.xml
	  Mono.Cecil.Metadata/ParamPtr.cs
	  Mono.Cecil.Metadata/MethodSpec.cs
	  Mono.Cecil.Metadata/BaseMetadataVisitor.cs
	  Mono.Cecil.Metadata/EventPtr.cs
	  Mono.Cecil.Metadata/MetadataTableReader.cs
	  Mono.Cecil.Metadata/MetadataTableWriter.cs
	  Mono.Cecil.Metadata/MetadataRowReader.cs
	  Mono.Cecil.Metadata/MetadataRowWriter.cs
	  Mono.Cecil.Metadata/PropertyPtr.cs
	  Mono.Cecil.Metadata/FieldPtr.cs
	  Mono.Cecil.Metadata/MethodPtr.cs
	  Mono.Cecil.Metadata/IMetadataVisitor.cs:
		Add *Ptr table definitions.

	* Mono.Cecil.dll.sources
	  Mono.Cecil.csproj
	  Mono.Cecil/CallSite.cs
	  Mono.Cecil/IMethodSignature.cs
	  Mono.Cecil/SentinelType.cs
	  Mono.Cecil/FunctionPointerType.cs
	  Mono.Cecil/MethodReference.cs
	  Mono.Cecil/ReflectionReader.cs
	  Mono.Cecil/ReflectionWriter.cs
	  Mono.Cecil.Cil/CodeReader.cs
	  Mono.Cecil.Cil/CodeWriter.cs:
		Implement support for writing function pointers.
		Based on a patch by Argiris Kirtzidis <akyrtzi@gmail.com>

	* Mono.Cecil/Constants.cs:
		Make it public due to some demands.

2007-02-21  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil.Signatures/SignatureReader.cs:
		do not read enums if the resolution is not forced until
		cecil knows how to write them.

	* Mono.Cecil/ReflectionWriter.cs
	  Mono.Cecil.Signatures/SzArray.cs
	  Mono.Cecil.Signatures/Array.cs
	  Mono.Cecil.Signatures/SignatureReader.cs
	  Mono.Cecil.Signatures/TypeSpec.cs
	  Mono.Cecil.Signatures/SignatureWriter.cs:
		handle custom mods on arrays signatures.

	* Mono.Cecil/ReflectionReader.cs:
		Handle fields TypeSpecs that have an initial value.
		Based on a patch by Argiris Kirtzidis <akyrtzi@gmail.com>

2007-01-29  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil.Metadata/MetadataWriter.cs:
		Save a byte ! Yeah !

2006-12-18  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/ReflectionReader.cs:
		Fix a bug in reading MemberRef pointing to MethodDef.

2006-12-16  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/StructureReader.cs:
		Prevent a NRE if we're reading a multi module
		assembly through a stream if a module is not find.
		Fix #80273.

2006-12-07  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/ReflectionWriter.cs:
		Allow an AssemblyDefinition to be written
		more than once.

2006-12-05  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/ReflectionWriter.cs:
		Deal with nullref default parameters.

2006-12-03  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/ReflectionWriter.cs:
		Handle constant where the parameter is object
		and the signature is something else.

2006-11-27  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/TypeDefinitionCollection.cs
	  CodeGen/templates/NamedCollection.cs:
		Allow multiple typedefs with the same namespace+name
		to be able to read unvalid assemblies.

	* Mono.Cecil/ReflectionReader.cs
	  Mono.Cecil/ReflectionWriter.cs
	  Mono.Cecil.Signatures/PropertySig.cs
	  Mono.Cecil.Signatures/SignatureReader.cs
	  Mono.Cecil.Signatures/SignatureWriter.cs:
		- Deal with modifiers on properties.
		- Deal with non standard signatures when the byref
		flag is placed after the custom modifiers.
	  Mono.Cecil/StructureReader.cs:
		- Properly detect wether an assembli is a dll or not.

		Based on a patch by Argiris Kirtzidis <akyrtzi@gmail.com>.

2006-11-25  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/ReflectionReader.cs
	  Mono.Cecil/ReflectionWriter.cs
	  Mono.Cecil.Signatures/GenericArg.cs
	  Mono.Cecil.Signatures/GenericInstSignature.cs
	  Mono.Cecil.Signatures/SignatureReader.cs
	  Mono.Cecil.Signatures/SignatureWriter.cs:
		Deal with modifiers for generic arguments.
		Based on a patch by Argiris Kirtzidis <akyrtzi@gmail.com>.

	* Mono.Cecil.Binary/ImageWriter.cs:
		Fix a bug in writing rsrc sections.

	* Mono.Cecil.Cil/CodeReader.cs:
		Do some refactoring.

	* Mono.Cecil.Metadata/MetadataToken.cs:
		Add a ctor to get a MetadataToken
		from an integer token.

2006-11-22  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil.Cil/GuidAttribute.cs:
		Fix for CF compilation.

2006-11-16  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/StructureReader.cs:
		If an assembly has no managed assembly defined,
		consider it as a dll.

2006-11-08  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/BaseAssemblyResolver.cs:
		Handles different kind of GAC on Windows.

2006-11-07  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/ReflectionHelper.cs:
		Don't import the flags of an assembly name reference.

2006-11-03  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/PropertyDefinition.cs:
		Fix property cloning.
		Patch by Alex Prudkiy <prudkiy@mail.ru>

2006-10-26  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/ReflectionReader.cs:
		Use the proper generic context when reading memberrefs.

2006-10-11  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil.Cil/Document.cs:
		Complete a little bit.

	* Mono.Cecil/SecurityDeclarationReader.cs:
		Get rid of a lot of exceptions when creating the security
		attribute.

2006-10-10  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/ReflectionReader.cs:
	  Mono.Cecil/CustomAttribute.cs:
	  Mono.Cecil.Signatures/SignatureReader.cs:
	  Mono.Cecil/SecurityDeclarationReader.cs:
		Patch from: Eyal Alaluf  <eyala@mainsoft.com>.
		Add support for resolving custom attributes that contain references
		to enum in other assemblies.

2006-10-09  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/IRequireResolving.cs
	  Mono.Cecil/CustomAttribute.cs
	  Mono.Cecil/SecurityDeclaration.cs
	  Mono.Cecil/SecurityDeclarationReader.cs
	  Mono.Cecil/AggressiveReflectionReader.cs
	  Mono.Cecil/ReflectionWriter.cs
	  Mono.Cecil/ModuleDefinition.cs:
		Introduce the interface IRequireResolving implemented
		by CustomAttribute and SecurityDeclaration for when they can't
		be read without loading another assembly.

	* Mono.Cecil/SecurityDeclarationReader.cs:
		Prevent Cecil to crash when it can not get the type
		of the declaration.

2006-10-04  Eyal Alaluf  <eyala@mainsoft.com>

	* Mono.Cecil/StructureReader.cs:
		Visit the module we load when a DLL has more then 1 module.
	  Mono.Cecil/AssemblyNameReference.cs:
	  	Allow "PublicToken=null" when parsing an assembly full name.

2006-10-03  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/BaseAssemblyResolver.cs
	  Mono.Cecil.Binary/ResourceReader.cs:
		CompactFramework fix.

2006-10-02  Jb Evain  <jbevain@gmail.com>

	* implement IList on the named collections.

	* implement the first bits of Win32 resources handling.

	* Mono.Cecil/ReflectionHelper.cs:
		It does not make sense to import the assembly flags.

2006-09-28  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/MethodDefinitionCollection.cs
	  Mono.Cecil/ConstructorCollection.cs
	  Mono.Cecil.Cil/InstructionCollection.cs
	  CodeGen/templates/IndexedCollection.cs
		Fix StackOverlow.

2006-09-27  Jb Evain  <jbevain@gmail.com>

	* *Collection.cs: use CollectionBase when possible.

2006-09-24  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/AssemblyFactory.cs
	  Mono.Cecil/ReflectionWriter.cs
	  Mono.Cecil.Cil/ISymbolStoreFactory.cs
	  Mono.Cecil.Cil/SymbolStoreHelper.cs:
		Some more work on the debugging infos api.

	* Mono.Cecil/MethodDefinitionCollection.cs
	  Mono.Cecil/ConstructorCollection.cs
	  CodeGen/templates/IndexedCollection.cs:
		Fix the GetConstructor/GetMethod methods.
		Based on a patch by Jon Chambers.

2006-09-20  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/StructureWriter.cs
	  Mono.Cecil/ModuleDefinition.cs
	  Mono.Cecil/ReflectionWriter.cs
	  Mono.Cecil/AssemblyFactory.cs
	  Mono.Cecil.Cil/ISymbolReader.cs
	  Mono.Cecil.Cil/CodeWriter.cs
	  Mono.Cecil.Cil/ISymbolWriter.cs
	  Mono.Cecil.Cil/SymbolStoreHelper.cs:
		Working on the debug infos stuff.

	* Mono.Cecil.Signatures/SignatureReader.cs:
		Ensure custom attributes are read when they can be.
		Patch by Sebastien Pouliot.

2006-09-19  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/ModuleDefinition.cs
	  Mono.Cecil/ReflectionReader.cs
	  Mono.Cecil/ReflectionWriter.cs
	  Mono.Cecil.Cil/Document.cs
	  Mono.Cecil.Cil/Instruction.cs
	  Mono.Cecil.Cil/SequencePoint.cs
	  Mono.Cecil.Cil/CodeReader.cs
	  Mono.Cecil.Cil/IScopeProvider.cs
	  Mono.Cecil.Cil/ISymbolReader.cs
	  Mono.Cecil.Cil/CodeWriter.cs
	  Mono.Cecil.Cil/ISymbolWriter.cs
	  Mono.Cecil.Cil/IVariableDefinitionProvider.cs
	  Mono.Cecil.Cil/SymbolStoreHelper.cs
	  Mono.Cecil.Cil/ISymbolStoreFactory.cs
	  Mono.Cecil.Cil/ScopeCollection.cs
	  Mono.Cecil.Cil/Scope.cs:
		Work on the architecture for debugging infos.

	* Mono.Cecil.dll.sources
	  Mono.Cecil.Cil/Document.cs
	  Mono.Cecil.Cil/IVariableDefinitionProvider.cs
	  Mono.Cecil.Cil/SequencePoint.cs
	  Mono.Cecil.Cil/ScopeCollection.cs
	  Mono.Cecil.Cil/BaseCodeVisitor.cs
	  Mono.Cecil.Cil/CodeReader.cs
	  Mono.Cecil.Cil/IScopeProvider.cs
	  Mono.Cecil.Cil/MethodBody.cs
	  Mono.Cecil.Cil/ICodeVisitor.cs
	  Mono.Cecil.Cil/CodeWriter.cs
	  Mono.Cecil.Cil/Scope.cs
	  Mono.Cecil.Cil/VariableDefinitionCollection.cs
	  CodeGen/cecil.xml:
		First bits of the debug infos stuff.

	* Mono.Cecil.Cil/InstructionCollection.cs
	  CodeGen/templates/IndexedCollection.cs:
		The outside instruction has an offset of -1.

	* Mono.Cecil.Cil/OpCodes.cs
	  Mono.Cecil.Cil/CodeReader.cs
	  Mono.Cecil.Cil/OpCode.cs
	  CodeGen/templates/OpCodes.cs:
		Simpliest way of dealing with different opcodes.

2006-09-07  Jb Evain  <jbevain@gmail.com>

	* support PE32+ file format.

	* Add an Outside instruction to an InstructionCollection.
	Cleaner than the old null instruction.

	* Mono.Cecil/MarshalSpec.cs
	  Mono.Cecil/ReflectionReader.cs
	  Mono.Cecil/ReflectionWriter.cs
	  CodeGen/cecil-mig.rb:
		Refactor names from Desc to Spec.

	* *Collection.cs:
		Remove the unused events stuff.

2006-08-31  Jb Evain  <jbevain@gmail.com>

	* /!\ Breaking changes:
		On the way to Cecil 0.5. Remove meaningless interfaces.
		GenericParamAttributes -> GenericParameterAttributes
		ParamAttributes -> ParamAttributes

		I'll provide a migration path with a script.

		Please do not use this revision, other changes are on the way.

2006-08-26  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/ReflectionReader.cs:
		Fix a bug when reading some parameters.

2006-08-26  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil.Cil/ReflectionWriter.cs:
		Fix the computation of the size of the last opcode in case
		of an exception handler is pointing outside the cil stream.

	* Mono.Cecil.Cil/ReflectionWriter.cs:
		Don't use seh tiny headers when the size can't fit in a byte.

	* Mono.Cecil.Cil/ReflectionWriter.cs:
		Fix a problem in the computation of the stack when the IL
		is somewhat strange.

2006-08-23  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/AssemblyInfo.cs:
		Cecil 0.4.3 release.

2006-08-21  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil.Metadata/MetadataWriter.cs:
		Fix a bug in field initial values writing.

	* Mono.Cecil/BaseAssemblyResolver.cs:
		Look for assemblies in ./ first

2006-08-17  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/BaseAssemblyResolver.cs:
		Resolve the corlib depending on its version.

	* Mono.Cecil/AssemblyName.cs
	  Mono.Cecil/BaseAssemblyResolver.cs:
		Implement a AssemblyNameReference.Parse(string)

	* Mono.Cecil/TypeReferenceCollection.cs
	  Mono.Cecil/ExternTypeCollection.cs
	  Mono.Cecil/TypeDefinitionCollection.cs
	  CodeGen/templates/NamedCollectionImplem.cs:
		Avoid infinite recursion.

	* Mono.Cecil/BaseAssemblyResolver.sc:
		Stay .net 1.1 compatible

2006-08-16  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/IAssemblyResolver.cs
	  Mono.Cecil/BaseAssemblyResolver.cs
	  Mono.Cecil/DefaultAssemblyResolver.cs
	  Mono.Cecil/AssemblyDefinition.cs
		Implement an assembly resolver.

	* Mono.Cecil/ReflectionReader.cs:
		Fix the initial value reading.
		Based on a report and a patch of Roei Erez  <roeie@mainsoft.com>

2006-08-15  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/TypeReferenceCollection.cs
	  Mono.Cecil/ExternTypeCollection.cs
	  Mono.Cecil/TypeDefinitionCollection.cs
	  CodeGen/templates/NamedCollectionImplem.cs:
		Fix the CopyTo method.

2006-07-19  Jb Evain  <jbevain@gmail.com>

	* CodeGen/templates/IIndexedCollection.cs
	  CodeGen/templates/IndexedCollectionImplem.cs
	  Mono.Cecil/IConstructorCollection.cs
	  Mono.Cecil/IMethodDefinitionCollection.cs
	  Mono.Cecil/MethodDefinitionCollection.cs
	  Mono.Cecil/ConstructorCollection.cs:
		Add a GetConstructor(bool,ParameterDefinitionCollection) method
		required by the linker.

	* Mono.Cecil.Metadata/MetadataReader.cs
	  Mono.Cecil.Metadata/StringsHeap.cs:
		Read the string on demand, based on the index.
		Needed due to some obfuscators that create a string entry like
		xClassName, and make the pointer points to after the x.

2006-07-03	Rodrigo B. de Oliveira <rodrigobamboo@gmail.com>
	* CodeGen/templates/ImageReader.cs
	  Mono.Cecil.Binary/ImageReader.cs:
	  	CompactFramework compatibility.

2006-07-02	Rodrigo B. de Oliveira <rodrigobamboo@gmail.com>

	* CodeGen/templates/ImageReader.cs
	  Mono.Cecil.Binary/ImageReader.cs:
	  	Proper FileNotFoundException construction.

	* Mono.Cecil/MethodDefinition.cs
	  Mono.Cecil/IMethod.cs:
		Helper properties IsInternalCall and IsRuntime.

2006-06-21  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil.Cil/CilWorker.cs:
		Fix ldc.i4.s emitting.

2006-06-13  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/ReflectionWriter.cs:
		Fix for compiling on CF 1.
	* Mono.Cecil/StructureReader.cs:
		Fix for a "bug" when csc 7.1 emits an assembly
		with an assembly row, but no blob heap.
		Plus style fix.

2006-06-08  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/IMethod.cs
	  Mono.Cecil/MethodDefinition.cs
	  Mono.Cecil/ReflectionWriter.cs:
		Add a public HasBody property.

2006-06-07  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/MethodDefinition.cs
	  Mono.Cecil/ReflectionWriter.cs:
		Read and write method bodies only when allowed.

2006-05-29  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/IMethodDefinition.cs
	  Mono.Cecil/MethodDefinition.cs:
		Remove the useless CreateBody method.

2006-05-27  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/StructureWriter.cs
	  Mono.Cecil/ReflectionReader.cs
	  Mono.Cecil/MethodDefinition.cs
	  Mono.Cecil.Metadata/MetadataToken.cs
	  Mono.Cecil.Signatures/SignatureReader.cs:
		Play better with mixed mode assemblies.

	* Mono.Cecil/SecurityDeclarationReader.cs
	  Mono.Cecil/ReflectionWriter.cs
	  Mono.Cecil.Signatures/SignatureReader.cs:
		Read/Write this awful load of crap that is sharepoint.

2006-05-22  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil.Cil/CilWorker.cs:
		Fix #78479. Patch by David Emsellem.

2006-05-20  Jb Evain  <jbevain@gmail.com>

	* CodeGen/templates/ImageReader.cs
	  CodeGen/templates/ImageWriter.cs
	  Mono.Cecil/AssemblyFactory.cs
	  Mono.Cecil/StructureWriter.cs
	  Mono.Cecil/Binary/ImageReader.cs
	  Mono.Cecil/Binary/Image.cs
	  Mono.Cecil/Binary/ImageWriter.cs
	  Mono.Cecil.Metadata/MetadataWriter.cs:
		Optimize assembly writing.
		Add methods to read assemblies from byte arrays.

	* Mono.Cecil/StructureWriter.cs:
		Throw an exception when the target is an exe
		and no entry point have been setted.
	* Mono.Cecil/AssemblyFactory.cs:
		Add helpers method to defines assemblies.
	* Mono.Cecil/MethodDefinition.cs:
		Set the hasThis flag to the correct value.
	* Mono.Cecil.Cil/CodeReader.cs:
		Remove old comment.
	* Mono.Xml/SmallXmlParser.cs:
		Make private.

2006-05-18  Jb Evain  <jbevain@gmail.com>

	* CodeGen/templates/MetadataTableReader.cs
	  Mono.Cecil.Metadata/MetadataTableReader.cs
	  Mono.Cecil.Metadata/TableCollection.cs
	  Mono.Cecil.Metadata/TablesHeap.cs:
		Optimize a little bit.

	* CodeGen/templates/MetadataTableWriter.cs
	  Mono.Cecil.Metadata/MetadataTableWriter.cs
	  Mono.Cecil.Metadata/TableCollection.cs:
		Fix for last changeset.

	* Mono.Cecil.Metadata/RIdAttribute.cs:
		deleted.

	* Mono.Cecil/ReflectionReader.cs
	  Mono.Cecil/StructureReader.cs
	  Mono.Cecil/ReflectionWriter.cs
	  Mono.Cecil/AggressiveReflectionReader.cs
	  Mono.Cecil.Cil/CodeReader.cs
	  CodeGen/templates/Utilities.cs
	  CodeGen/templates/MetadataTableReader.cs
	  CodeGen/templates/MetadataTableWriter.cs
	  CodeGen/templates/Table.cs
	  CodeGen/templates/MetadataRowReader.cs
	  CodeGen/templates/MetadataRowWriter.cs
	  Mono.Cecil.Metadata/Assembly.cs
	  Mono.Cecil.Metadata/InterfaceImpl.cs
	  Mono.Cecil.Metadata/PropertyMap.cs
	  Mono.Cecil.Metadata/Constant.cs
	  Mono.Cecil.Metadata/MethodSpec.cs
	  Mono.Cecil.Metadata/DeclSecurity.cs
	  Mono.Cecil.Metadata/TypeDef.cs
	  Mono.Cecil.Metadata/GenericParamConstraint.cs
	  Mono.Cecil.Metadata/MethodImpl.cs
	  Mono.Cecil.Metadata/NestedClass.cs
	  Mono.Cecil.Metadata/MetadataTableReader.cs
	  Mono.Cecil.Metadata/AssemblyRefProcessor.cs
	  Mono.Cecil.Metadata/AssemblyRef.cs
	  Mono.Cecil.Metadata/AssemblyRefOS.cs
	  Mono.Cecil.Metadata/Method.cs
	  Mono.Cecil.Metadata/MetadataTableWriter.cs
	  Mono.Cecil.Metadata/MetadataRowReader.cs
	  Mono.Cecil.Metadata/ExportedType.cs
	  Mono.Cecil.Metadata/CustomAttribute.cs
	  Mono.Cecil.Metadata/Param.cs
	  Mono.Cecil.Metadata/ClassLayout.cs
	  Mono.Cecil.Metadata/MetadataRowWriter.cs
	  Mono.Cecil.Metadata/Utilities.cs
	  Mono.Cecil.Metadata/AssemblyOS.cs
	  Mono.Cecil.Metadata/ModuleRef.cs
	  Mono.Cecil.Metadata/FieldMarshal.cs
	  Mono.Cecil.Metadata/GenericParam.cs
	  Mono.Cecil.Metadata/ImplMap.cs
	  Mono.Cecil.Metadata/TableCollection.cs
	  Mono.Cecil.Metadata/TablesHeap.cs
	  Mono.Cecil.Metadata/TypeRef.cs
	  Mono.Cecil.Metadata/ManifestResource.cs
	  Mono.Cecil.Metadata/File.cs
	  Mono.Cecil.Metadata/EventMap.cs
	  Mono.Cecil.Metadata/AssemblyProcessor.cs
	  Mono.Cecil.Metadata/FieldLayout.cs
	  Mono.Cecil.Metadata/Event.cs
	  Mono.Cecil.Metadata/Field.cs
	  Mono.Cecil.Metadata/Property.cs
	  Mono.Cecil.Metadata/Module.cs
	  Mono.Cecil.Metadata/MethodSemantics.cs
	  Mono.Cecil.Metadata/StandAloneSig.cs
	  Mono.Cecil.Metadata/FieldRVA.cs
	  Mono.Cecil.Metadata/TypeSpec.cs
	  Mono.Cecil.Metadata/IMetadataTable.cs
	  Mono.Cecil.Metadata/MemberRef.cs:
		Fix the way the metadata tables are handled.

	* Mono.Cecil.Signatures/SignatureWriter.cs:
		Fix bug in string writing.

2006-05-12  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/AssemblyInfo.cs:
		Hide the info if Cecil is embedded.

2006-05-09  Jb Evain  <jbevain@gmail.com>

	* cecil.build: rename to default.build

2006-05-08  Jb Evain  <jbevain@gmail.com>

	* Makefile:
		Sign the assembly.

	* cecil.csproj:
		Add an msbuild file.

2006-05-05  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/AssemblyFactory.cs
	  Mono.Cecil/StructureReader.cs
	  Mono.Cecil/ModuleDefinition.cs:
		Add an AssemblyFactory.GetAssemblyManifest method.

2006-05-04  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/TableComparers.cs:
		TypeDef.Compare: the name is enough against <Module>.

	* Mono.Cecil/ReflectionWriter.cs:
		Fix writing of namedargs in custom attributes.

2006-04-26  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil.Signatures/SignatureReader.cs:
		Don't create tons of hashtables.

2006-04-24  Jb Evain  <jbveain@gmail.com>

       * Mono.Cecil.Cil/MethodBody.cs:
               Fix cloning.

2006-04-21  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/AssemblyFactory.cs
	  Mono.Cecil.Binary/MemoryBinaryWriter.cs:
		Use MemoryStream::WriteTo when it's possible.

2006-04-21	Rodrigo B. de Oliveira	<rodrigobamboo@gmail.com>

	* Mono.Cecil/SecurityDeclaration.cs
	  Mono.Cecil/ISecurityDeclaration.cs
	  Mono.Cecil/SecurityDeclarationCollection.cs
	  Mono.Cecil/ModuleDefinition.cs:
	  	Patch by Almann T. Goo (almann.goo@gmail.com) conditionally
		removing references to PermissionSet when compiling for the CompactFramework.

	* Mono.Cecil/CompactFrameworkCompatibility.cs:
		System.Security.PermissionSet definition no longer needed.

2006-04-21  Jb Evain  <jbevain@gmail.com>

	* *Collection.cs:
		Fix typo in RemoveAt.

2006-04-20  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/ReflectionWriter.cs:
		Fix writing of complex arrays.
		Now we roundtrip SharpDevelop.

	* Mono.Cecil/ReflectionWriter.cs
	  Mono.Cecil/TableComparers.cs:
		Ensure <Module> will always be the first type.
		Fix roundtrip of Nemerle.

2006-04-19  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil.Cil/CodeWriter.cs:
		Handle the case where an handler points after the last
		instruction. Now we roundtrip db4o.

	* Mono.Cecil/IIndexedCollection.cs:
	  *Collection.cs:
		Make every collection implement an indexed collection.

2006-04-15  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/CustomAttribute.cs:
		Fix handling of types.

2006-04-11  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/FieldDefinition.cs
	  Mono.Cecil/ReflectionReader.cs
	  Mono.Cecil/TypeDefinition.cs
	  Mono.Cecil/IField.cs
	  Mono.Cecil/ITypeDefinition.cs
	  Mono.Cecil/ReflectionWriter.cs
	  Mono.Cecil/AggressiveReflectionReader.cs
	  Mono.Cecil.Cil/IVariable.cs
	  Mono.Cecil.Cil/MethodBody.cs
	  Mono.Cecil.Cil/VariableDefinition.cs
	  Mono.Cecil.Cil/CodeWriter.cs:
		Don't use interfaces internally.

	* Mono.Cecil/TypeReference.cs:
		Make TypeReference extend MemberReference.

	* Mono.Cecil/Modifiers.cs
	  Mono.Cecil.Cil/CodeReader.cs
	  Mono.Cecil.Cil/CodeWriter.cs
	  Mono.Cecil.Signatures/LocalVarSig.cs
	  Mono.Cecil.Signatures/SignatureReader.cs:
		Fix modifiers on localvar signatures.
		Fix roundtrip of delphi assemblies.

	* Mono.Cecil/CustomAttribute.cs
	  Mono.Cecil/ReflectionReader.cs
	  Mono.Cecil/ReflectionWriter.cs
	  Mono.Cecil.Signatures/SignatureWriter.cs:
		Work on complex custom attributes encoding.

	* Mono.Cecil/TableComparers.cs:
		Style.

2006-04-09  Eyal Alaluf  <eyala@mainsoft.com>

    * Mono.Cecil/ReflectionReader.cs
	    Cannot assume that TypeRefs are ordered is such a way that an outer
		class index comes always before all its inner classes.

2006-04-06  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/ReflectionWriter.cs
	  Mono.Cecil.Signatures/SignatureWriter.cs:
		Clean up things a little bit prior ending
		custom attribute encoding.

	* Mono.Cecil/ReflectionWriter.cs:
		Write custom attributes of parameters
		onyl when all methods have their tokens.

	* Mono.Cecil/ReflectionReader.cs
	  Mono.Cecil/ReflectionWriter.cs
	  Mono.Cecil/AggressiveReflectionReader.cs:
		Handle custom attributes on generic parameters.

2006-04-05  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/ReflectionWriter.cs:
		Ensure the param[0] is written when it should be.

2006-04-04  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/ReflectionHelper.cs:
		Remove an unused hack.

	* Mono.Cecil/AssemblyInfo.cs: Go 0.4.1

	* Mono.Cecil.Metadata/MetadataHeap.cs
	  Mono.Cecil.Metadata/MetadataStream.cs:
		Read #- stream has well.

	* Mono.Cecil/ReflectionHelper.cs:
		Implement Import stuff for System.Type and SR.*

2006-04-03	Rodrigo B. de Oliveira	<rodrigobamboo@gmail.com>

	* Mono.Cecil/SecurityDeclarationReader.cs
	  Mono.Cecil/TypeReferenceCollection.cs
	  Mono.Cecil/CompactFrameworkCompatibility.cs
	  Mono.Cecil/AssemblyFactory.cs
	  Mono.Cecil/AssemblyName.cs
	  Mono.Cecil/ExternTypeCollection.cs
	  Mono.Cecil/TypeDefinitionCollection.cs
	  CodeGen/templates/NamedCollectionImplem.cs
	  Mono.Cecil.Metadata/CultureUtils.cs
	  cecil.build:
		CompactFramework 2.0 support through CF_2_0 compilation symbol.

2006-04-03  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil.dll.sources
	  Mono.Cecil/GenericParameter.cs
	  Mono.Cecil/ReflectionHelper.cs
	  Mono.Cecil/FieldDefinition.cs
	  Mono.Cecil/CustomAttribute.cs
	  Mono.Cecil/TypeDefinition.cs
	  Mono.Cecil/IModuleDefinition.cs
	  Mono.Cecil/ImportContext.cs
	  Mono.Cecil/AssemblyName.cs
	  Mono.Cecil/MethodDefinition.cs
	  Mono.Cecil/EventDefinition.cs
	  Mono.Cecil/ModuleDefinition.cs
	  Mono.Cecil/ReflectionWriter.cs
	  Mono.Cecil/GenericContext.cs
	  Mono.Cecil/ParameterDefinition.cs
	  Mono.Cecil/PropertyDefinition.cs
	  Mono.Cecil.Cil/MethodBody.cs:
		Work on generic assemblies manipulation via
		import stuff.

2006-03-31  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/AssemblyFlags.cs:
		Add a Retargetable flag used on the CF.

2006-03-30  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/SecurityDeclarationReader.cs:
		Don't crash if the declaration is empty.

	* Mono.Cecil/ParamAttributes.cs:
		Update the Optional flag.
	  Mono.Cecil/ReflectionWriter.cs:
		Fix the encoding of nullref.
		Fixes #77959. Based on a patch by
		Armand Du Plessis < armand@dotnet.org.za>

2006-03-29  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/IHasSecurity.cs
	  Mono.Cecil/IHasConstant.cs
	  Mono.Cecil/IHasMarshalSpec.cs:
	  Mono.Cecil/MethodReturnType.cs
	  Mono.Cecil/AssemblyDefinition.cs:
		Implement IMetadataTokenProvider.

	* Mono.Cecil/StructureReader.cs
	  Mono.Cecil/ReflectionWriter.cs:
		Use more the token providers.

2006-03-28  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/ReflectionReader.cs
	  Mono.Cecil/MarshalDesc.cs
	  Mono.Cecil/IMarshalSpec.cs
	  Mono.Cecil/ReflectionWriter.cs:
		Fix round-tripping of assemblies using
		COM stuff.

2006-03-27  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil.Metadata/MetadataToken.cs:
		Override GetHashCode as we override Equals.

	* Mono.Cecil/TableComparers.cs:
		Fix the ordering of generic parameters.
		This revision roundtrips C5. Yeah!

	* Mono.Cecil/ReflectionWriter.cs:
		Fix method spec "caching"
	  Mono.Cecil.Cil/OpCode.cs:
		Override ToString ();
	  Mono.Cecil.Metadata/MetadataToken.cs:
		Implement operator ==

	* Mono.Cecil/ReflectionWriter.cs
	  Mono.Cecil/TableComparers.cs:
		Better handling of generic tables sorting.

	* Mono.Cecil/ReflectionWriter.cs
	  Mono.Cecil/TableComparers.cs:
		Sort generic tables as well.

2006-03-27	Rodrigo B. de Oliveira	<rodrigobamboo@gmail.com>
	* Mono.Cecil.Metadata/MetadataWriter.cs:
		Use CompactFramework compatible version of
		System.Convert.ToBase64String.

2006-03-27  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil.dll.sources
	  Mono.Cecil/GenericParameter.cs
	  Mono.Cecil/ConstraintCollection.cs
	  Mono.Cecil/IGenericParameter.cs
	  Mono.Cecil/IConstraintCollection.cs
	  CodeGen/cecil.xml:
		Add a ConstraintCollection to be used within
		generic parameters.

	* Mono.Cecil/GenericInstanceType.cs:
		Correctly return if the instance is a value type
		or not.

2006-03-25  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/ModuleDefinition.cs:
		Support the unreadable security declarations
		when converting one to byte [].

	* Mono.Cecil/IModuleDefinition.cs
	  Mono.Cecil/ModuleDefinition.cs
	  Mono.Cecil/ReflectionWriter.cs:
		Add a FullLoad method on a module.

	* Mono.Cecil/StructureWriter.cs
	  Mono.Cecil/ReflectionWriter.cs:
		Fix a  few bugs in generics type emitting.

	* Mono.Cecil.Cil/CodeWriter.cs:
		Cache local sig as well.

2006-03-24  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/ReflectionWriter.cs:
		Cache method specs as well.

	* CodeGen/templates/ImageWriter.cs
	  Mono.Cecil.Metadata/MetadataWriter.cs
	  Mono.Cecil.Binary/ImageWriter.cs:
		Replace the foreach char pattern by
		Encoding.GetBytes

2006-03-23  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/TypeReferenceCollection.cs
	  Mono.Cecil/ExternTypeCollection.cs
	  Mono.Cecil/TypeDefinitionCollection.cs
	  CodeGen/templates/NamedCollectionImplem.cs
	  CodeGen/templates/ImageReader.cs:
		Ensure type with the same name are added
		to the collection.

	* Mono.Cecil.Metadata/MetadataWriter.cs:
		Ensure every blob signature is unique.

	* Mono.Cecil/IModuleDefinition.cs
	  Mono.Cecil/ModuleDefinition.cs:
		Rename method to avoid confusion.

2006-03-22  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil.Cil/CodeWriter.cs:
		Precisely detect whether we emit fat seh or not.

	* Mono.Cecil/ReflectionWriter.cs:
		Avoid duplicates in the typespec table.

2006-03-21  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/ReflectionWriter.cs:
		Correctly write generic parameters.

	* Mono.Cecil/SecurityDeclarationReader.cs
	  Mono.Cecil/SecurityDeclaration.cs
	  Mono.Cecil/ReflectionWriter.cs:
		Fix for security declarations reading on .net 2.0.

	* Mono.Cecil/ReflectionReader.cs
	  Mono.Cecil/GenericContext.cs:
		Fix test case RoundtripTestFixture.boo.

2006-03-20  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil.Metadata/MetadataReader.cs:
		#Strings heap is utf8, fix #77820.

2006-03-08  Jb Evain  <jbevain@gmail.com>

	* CodeGen/cecil-gen-tests.rb
	  CodeGen/templates/Tests.cs:
		Start of a very small infrastructure to use tests from
		rotor/mono with Cecil.

	* Mono.Cecil/IMethod.cs
	  Mono.Cecil/TypeDefinition.cs
	  Mono.Cecil/MethodDefinition.cs
	  Mono.Cecil.Cil/CodeReader.cs
	  Mono.Cecil.Cil/CodeWriter.cs:
		Add support for the very special case ldarg 0.
		Patch idea by Vladislav Spivak <spivak@mainsoft.com>

2006-03-07  Jb Evain  <jbevain@gmail.com>

	* CodeGen/templates/ImageReader.cs
	  Mono.Cecil/AssemblyFactory.cs
	  Mono.Cecil/StructureReader.cs
	  Mono.Cecil.Binary/Image.cs
	  Mono.Cecil.Binary/ImageReader.cs:
		Allow users to get a loaded image using
		Image.GetImage as they have no access to
		the ImageReader.

2006-03-06  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil.Signatures/SignatureReader.cs:
		Fix array reading in custom attributes.

2006-03-06  Joshua Tauberer <tauberer@for.net>

	* Mono.Cecil/TypeAttributes.cs: Fixed typo
	  in value for Abstract.

2006-02-27  Jb Evain  <jbevain@gmail.com>

	* CodeGen/templates/IndexedCollectionImplem.cs
	  CodeGen/templates/IIndexedCollection.cs
	  Mono.Cecil.Cil/InstructionCollection.cs
	  Mono.Cecil.Cil/IInstructionCollection.cs:
		Small API fix, prevent the user from not using
		the CilWorker.

	* Mono.Cecil.Cil/CodeReader.cs
	  Mono.Cecil.Cil/Label.cs:
		Remove Label.

	* Mono.Cecil/ReflectionReader.cs:
		Fix typo.

2006-02-20  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil.Signatures/SignatureWriter.cs:
		Fix a bug when a value is null in a custom attribute.

2006-02-20  Sebastien Pouliot  <sebastien@ximian.com>

	* Mono.Cecil.Metadata/MetadataWriter.cs:
		Fix GetStrongNameSignatureSize to handle the ECMA pseudo-key.

2006-02-07  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/AssemblyInfos.cs:
		Tag this version 0.3, as users are happy with it.

2006-01-26  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/CustomAttribute.cs:
		Fix cloning of non readable attributes.

	* Mono.Cecil/ReflectionReader.cs
	  Mono.Cecil/ReflectionWriter.cs
	  Mono.Cecil.Signatures/MethodRefSig.cs
	  Mono.Cecil.Signatures/SignatureWriter.cs
	  Mono.Cecil.Signatures/MethodDefSig.cs:
		Work on generics.

	* Mono.Cecil/ArrayType.cs
	  Mono.Cecil/ReferenceType.cs
	  Mono.Cecil/PointerType.cs:
		Fix names of typespecs.

	* Mono.Cecil/TypeReferenceCollection.cs
	  Mono.Cecil/ExternTypeCollection.cs
	  CodeGen/templates/NamedCollectionImplem.cs:
		Allow multiple key by names in type references.

2006-01-25  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/AssemblyFactory.cs:
		Don't trap exceptions.

	* Mono.Cecil/GenericParameter.cs
	  Mono.Cecil/IMethod.cs
	  Mono.Cecil/GenericInstanceType.cs
	  Mono.Cecil/TypeReference.cs
	  Mono.Cecil/GenericInstanceMethod.cs
	  Mono.Cecil/ReflectionReader.cs
	  Mono.Cecil/TypeDefinition.cs
	  Mono.Cecil/IGenericArgumentCollection.cs
	  Mono.Cecil/ITypeReference.cs
	  Mono.Cecil/IGenericInstance.cs
	  Mono.Cecil/GenericArgumentCollection.cs
	  Mono.Cecil/MethodDefinition.cs
	  Mono.Cecil/MethodReference.cs
	  Mono.Cecil/ITypeDefinition.cs
	  Mono.Cecil/IGenericArgumentProvider.cs
	  Mono.Cecil/ReflectionWriter.cs
	  Mono.Cecil/GenericContext.cs
	  CodeGen/cecil.xml:
		Clean the generic api. This is not stable yet.

2006-01-24  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/ArrayType.cs:
		Bug reported by  Vladislav Spivak (spivak@mainsoft.com).
		Fix a bug in array handling.
	* Mono.Cecil/ConstructorCollection.cs
	  CodeGen/templates/IndexedCollectionImplem.cs:
		Bug reported by Oleg Varchovsky (olegv@mainsoft.com).
		Fix the lookup of constructors.

2006-01-19  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/AssemblyName.cs:
		Fix computation of public key token.

2006-01-18  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil.Cil/CodeWriter.cs
	  Mono.Cecil.Metadata/MetadataToken.cs:
		Add an use an ToUInt method and use it.
	  CodeGen/templates/DebugHeader.cs
	  Mono.Cecil.Binary/DebugHeader.cs:
		Fix the size of the debug header.

	* Mono.Cecil/ModuleReference.cs
	  Mono.Cecil/AssemblyName.cs
	  Mono.Cecil/StructureReader.cs
	  Mono.Cecil/IMetadataScope.cs:
		Make IMetadataScope implement IMetadataTokenProvider.
	* Mono.Cecil/ReflectionWriter.cs:
		Fix a typo when saving nested type refs.

2006-01-17  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/ArrayType.cs
	  Mono.Cecil/ArrayDimension.cs
	  Mono.Cecil/ReflectionWriter.cs:
		End arrays support.

2006-01-03  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/GenericParameter.cs
	  Mono.Cecil/ReflectionHelper.cs
	  Mono.Cecil/ReflectionReader.cs
	  Mono.Cecil/GenericContext.cs:
		Work on generics.

2005-12-31  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/ReflectionHelper.cs:
		Fix import of type specs.

2005-12-30  Jb Evain  <jbevain@gmail.com>

	* CodeGen/templates/ImageReader.cs
	  Mono.Cecil.Metadata/MetadataReader.cs
	  Mono.Cecil.Binary/Image.cs
	  Mono.Cecil.Binary/ImageReader.cs:
		Add support to assemblies where the metadata is defined
		outside of the text section. (c++/cli /safe for instance)

2005-12-23  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/AssemblyInfo.cs:
		Version 0.2.2.2 devel.

	* Mono.Cecil/AssemblyInfo.cs:
		Version 0.2 to be released.

	* Mono.Cecil/ReflectionWriter.cs:
		IGenericInstance are typespecs as well.

	* Mono.Cecil/ArrayType.cs:
		Add a single dimension in the default ctor.
	* Mono.Cecil/ReflectionReader.cs:
		Don't manually add the default dimension as it's done
		int the array type ctor.
	* Mono.Cecil/ReflectionHelper.cs:
		Import type specs.

2005-12-22  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/ReflectionWriter:
		Write pinvoke infos as well.

	* Mono.Cecil/ReflectionReader.cs:
		Unsure that primitive value types are viewed as
		value types.

	* CodeGen/templates/Section.cs
	  CodeGen/templates/ImageReader.cs
	  Mono.Cecil.Metadata/MetadataReader.cs
	  Mono.Cecil.Binary/Image.cs
	  Mono.Cecil.Binary/Section.cs
	  Mono.Cecil.Binary/ImageReader.cs:
		Simplify the way you read binary data whithin
		high level layer.

	* Mono.Cecil.Cil/CodeReader.cs:
		Make helper methods public static.
	* Mono.Cecil/ReflectionReader.cs:
		Don't try to get the entry point method
		if it don't point on a valid method RID.

	* CodeGen/templates/NamedCollectionImplem.cs
	  Mono.Cecil/ExternTypeCollection.cs
	  Mono.Cecil/TypeDefinitionCollection.cs
	  Mono.Cecil/TypeReferenceCollection.cs:
		Don't add existing values.

	* Mono.Cecil/ModuleDefinition.cs:
		Protect import from null refs.

2005-12-21  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/StructureWriter.cs:
		Don't increment pdb age. Not Cecil's job.

	* Mono.Cecil.Cil/ICilWorker.cs
	  Mono.Cecil.Cil/CilWorker.cs:
		Add a new replace method.

2005-12-20  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/StructureWriter.cs:
		Ensure every assembly reference is processed.

	* Mono.Cecil/ReflectionHelper.cs:
		Don't assume the cache is magically loaded.
		Aka: most stupid bug of the year.

2005-12-19  Jb Evain  <jbevain@gmail.com>

	* CodeGen/templates/DebugHeader.cs
	  Mono.Cecil.Binary/DebugHeader.cs
	  Mono.Cecil.Binary/DebugStoreType.cs:
		New files to store debug header infos.
	* Mono.Cecil.dll.sources: updated
	* CodeGen/cecil.xml
	  CodeGen/cecil-gen.rb
	  Mono.Cecil/StructureWriter.cs
	  Mono.Cecil.Binary/IBinaryVisitor.cs
	  Mono.Cecil.Binary/ImageWriter.cs
	  Mono.Cecil.Binary/Image.cs
	  Mono.Cecil.Binary/ImageInitializer.cs
	  Mono.Cecil.Binary/BaseImageVisitor.cs
	  Mono.Cecil.Binary/ImageReader.cs
	  Mono.Cecil.Metadata/MetadataWriter.cs:
		Read and write debug header.

	* CodeGen/templates/ImageWriter.cs
	  Mono.Cecil.Binary/ImageWriter.cs:
		Revert revision 54409.

2005-12-14  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil.Cil/ICilWorker.cs
	  Mono.Cecil.Cil/CilWorker.cs:
		Add a remove method.

	* CodeGen/templates/ImageWriter.cs
	  Mono.Cecil.Binary/ImageWriter.cs:
		Don't allocate potential big arrays here.

2005-12-13  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil.Metadata/MetadataWriter.cs:
		Set the correct version for .net 2 assemblies.
		Correctly write embedded resources.
		Fix #76963.

2005-12-03  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/MethodSpecification.cs:
		Override the declaring type and the name property to
		match the inner method.
	* Mono.Cecil/GenericInstanceType.cs:
		Correctly set the FullName.
	* Mono.Cecil/GenericInstanceMethod.cs:
		Style.

2005-12-02  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/TypeDefinition.cs:
		Fix interface import. Patch by Thomas Gil.

2005-11-24  Jb Evain  <jbevain@gmail.com>

	* CodeGen/cecil-gen.rb
	  CodeGen/templates/MetadataTableReader.cs
	  CodeGen/templates/PEFileHeader.cs
	  CodeGen/templates/CLIHeader.cs
	  CodeGen/templates/PEOptionalHeader.cs
	  CodeGen/templates/Table.cs
	  CodeGen/templates/MetadataRowReader.cs
	  CodeGen/templates/OpCodes.cs
	  CodeGen/templates/Section.cs
	  CodeGen/templates/ImageReader.cs:
		Update the codegen engine so that everyone can run it
		without having to install a dependency (eruby).

	* Mono.Cecil.Metadata/Utilities.cs: re-codegenerated.

2005-11-23  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/IGenericArgumentProvider.cs
		Style.
	* CodeGen/cecil.xml:
		Mirror Martin's change in the codegen engine.

2005-11-23  Martin Baulig  <martin@ximian.com>

	Generics API changes:
	TypeReference and MethodReference now contain a
	`GenericArguments' property (of type `GenericArgumentCollection')
	and `GenericParameters' is moved into TypeDefinition/MethodDefinition.

	* Mono.Cecil/IGenericArgumentProvider.cs: New file.
	(IGenericArgumentProvider): New public interface.

	* Mono.Cecil/IGenericArgumentCollection.cs
	(IGenericArgumentCollection.Container): Changed type from
	`IGenericInstance' -> `IGenericArgumentProvider'.

	* Mono.Cecil/IGenericInstance.cs
	(IGenericInstance.Arguments): Renamed to `GenericArguments'.

	* Mono.Cecil/ITypeReference.cs
	(ITypeReference): Implement `IGenericArgumentProvider' instead of
	`IGenericParameterProvider'.

	* Mono.Cecil/ITypeDefinition.cs
	(ITypeDefinition): Implement `IGenericParameterProvider'.

	* Mono.Cecil/IMethod.cs
	(IMethodReference): Implement `IGenericArgumentProvider' instead of
	`IGenericParameterProvider'.
	(IMethodDefinition): Implement `IGenericParameterProvider'.

	* Mono.Cecil/TypeReference.cs
	(TypeReference.GenericParameters): Removed.
	(TypeReference.GenericArguments): New public property.

	* Mono.Cecil/TypeDefinition.cs
	(TypeDefinition.GenericParameters): New public property.
	(TypeDefinition.OnGenericParameterAdded): If a generic parameter
	is added, also add it to the `GenericArguments'.

	* Mono.Cecil/MethodReference.cs
	(MethodReference.GenericParameters): Removed.
	(MethodReference.GenericArguments): New public property.

	* Mono.Cecil/MethodDefinition.cs
	(MethodDefinition.GenericParameters): New public property.
	(MethodDefinition.OnGenericParameterAdded): If a generic parameter
	is added, also add it to the `GenericArguments'.

	* Mono.Cecil/GenericInstanceType.cs
	(GenericInstanceType): Removed the `m_arguments' field; we now
	inherit the `GenericArguments' property from `TypeReference'.

	* Mono.Cecil/GenericInstanceMethod.cs
	(GenericInstanceMethod): Removed the `m_arguments' field; we now
	inherit the `GenericArguments' property from `MethodReference'.

	* Mono.Cecil/GenericContext.cs
	(GenericContext): We now operate on type/method references and not
	definitions.
	(GenericContext.Type): Changed type to `TypeReference'.
	(GenericContext.Method): Changed type to `MethodReference'.

2005-11-23  Martin Baulig  <martin@ximian.com>

	* Mono.Cecil.Metadata/TokenType.cs: Added `GenericParam'.

	* Mono.Cecil.Metadata/Utilities.cs
	(GetMetadataToken): In `case CodedIndex.HasCustomAttribute', add
	`TokenType.GenericParam'.

2005-11-22  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/IMethodDefinitionCollection.cs
	  Mono.Cecil/MethodDefinitionCollection.cs
	  CodeGen/templates/IndexedCollectionImplem.cs
	  CodeGen/templates/IIndexedCollection.cs:
		Add a new search method.
	* CodeGen/templates/NamedCollectionImplem.cs
	  Mono.Cecil/TypeReferenceCollection.cs
	  Mono.Cecil/ExternTypeCollection.cs
	  Mono.Cecil/TypeDefinitionCollection.cs:
		Style.

2005-11-13	Rodrigo B. de Oliveira <rodrigobamboo@gmail.com>
	* Mono.Cecil/ReflectionReader.cs
		Fix for NRE when reading assemblies with a field initializer
		pointing to a data section
		(TestCases/Regression/OddInt64Initializer.dll).

2005-11-11  Sebastien Pouliot  <sebastien@ximian.com>

	* Mono.Cecil.Metadata/MetadataWriter.cs
		Add support for different strongname key size (between 384
		and 16384 bits) as now supported in fx 2.0. Default is still
		1024 bits.

2005-11-10	Rodrigo B. de Oliveira <rodrigobamboo@gmail.com>
	* Mono.Cecil/CompactFrameworkCompatibility.cs
	  Mono.Cecil/SecurityDeclarationReader.cs
	  Mono.Cecil/TypeReferenceCollection.cs
	  Mono.Cecil/ReflectionReader.cs
	  Mono.Cecil/AssemblyFactory.cs
	  Mono.Cecil/AssemblyName.cs
	  Mono.Cecil/ExternTypeCollection.cs
	  Mono.Cecil/ModuleDefinition.cs
	  Mono.Cecil/TypeDefinitionCollection.cs
	  CodeGen/templates/NamedCollectionImplem.cs
	  CodeGen/templates/ImageReader.cs
	  Mono.Cecil.Metadata/MetadataReader.cs
	  Mono.Cecil.Metadata/MetadataWriter.cs
	  Mono.Cecil.Metadata/CultureUtils.cs
	  Mono.Xml/SecurityParser.cs
	  Mono.Xml/SmallXmlParser.cs
	  Mono.Cecil.Signatures/SignatureReader.cs
	  Mono.Cecil.Binary/ImageReader.cs
	  cecil.build
	  	Implement support for compiling on the CompactFramework

2005-11-08  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/GenericInstanceType.cs
	  Mono.Cecil/TypeReference.cs:
		Fix a regression with 2.0 assemblies.

2005-11-03  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/CallSite.cs
	  Mono.Cecil/ReflectionReader.cs
	  Mono.Cecil/ICallSite.cs
	  Mono.Cecil.Cil/CodeReader.cs
	  Mono.Cecil.Cil/CodeWriter.cs
	  Mono.Cecil.Signatures/SignatureReader.cs
	  Mono.Cecil.dll.sources:
		Implement support for calli opcodes reading.

2005-11-01  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/FunctionPointerType.cs
	  Mono.Cecil/ReflectionReader.cs
	  Mono.Cecil.Signatures/SignatureReader.cs:
		Work on function pointers.

	* Mono.Cecil/AssemblyInfo.cs:
		Increase Cecil SVN version.

	* Mono.Cecil/ArrayType.cs
	  Mono.Cecil/MethodSpecification.cs
	  Mono.Cecil/TypeSpecification.cs
	  Mono.Cecil/IMethodSpecification.cs
	  Mono.Cecil/GenericInstanceType.cs
	  Mono.Cecil/IGenericInstanceType.cs
	  Mono.Cecil/GenericInstanceMethod.cs
	  Mono.Cecil/IModifierType.cs
	  Mono.Cecil/IPinnedType.cs
	  Mono.Cecil/ReferenceType.cs
	  Mono.Cecil/IGenericInstanceMethod.cs
	  Mono.Cecil/PinnedType.cs
	  Mono.Cecil/PointerType.cs
	  Mono.Cecil/IPointerType.cs
	  Mono.Cecil/IReferenceType.cs
	  Mono.Cecil/IArrayType.cs
	  Mono.Cecil/ITypeSpecification.cs
	  Mono.Cecil/Modifiers.cs
	  Mono.Cecil.dll.sources:
		Uniformize the specification model.

2005-10-31  Jb Evain  <jbevain@gmail.com>

	* AUTHORS,
	  NEWS,
	  README,
	  TODO,
	  Mono.Cecil/AssemblyInfo.cs:
		Cecil 0.1 release.

	* Mono.Cecil/ReflectionReader.cs:
		Force value type property on known core types.

2005-10-28  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/TypeReference.cs
	  Mono.Cecil/ReflectionReader.cs
	  Mono.Cecil/TypeDefinition.cs
	  Mono.Cecil/ModuleDefinition.cs
	  Mono.Cecil/ReflectionWriter.cs:
		Uniformize the API.

	* Mono.Cecil.Signatures/SignatureWriter.cs:
		Correct a bug in strings encoding in custom attributes.

	* CodeGen/templates/ImageWriter.cs
	  Mono.Cecil.Metadata/MetadataWriter.cs
	  Mono.Cecil/StructureWriter.cs
	  Mono.Cecil/ReflectionWriter.cs
	  Mono.Cecil.Binary/ImageWriter.cs:
		Implement a big of public key management,
		here we reserve space for the strong name
		signature if needed.

	* Mono.Cecil/StructureWriter.cs
	  Mono.Cecil/StructureReader.cs:
		Disable public key writing until
		it is implemented.

	* Mono.Cecil/GenericParameter.cs
	  Mono.Cecil/TypeReference.cs
	  Mono.Cecil/MethodReference.cs:
		Work on generics writing api.
	* Mono.Cecil/ReflectionReader.cs:
		Fix a bug when defining a fresh assembly.

	* Mono.Cecil/GenericInstanceType.cs
	  Mono.Cecil/ReflectionWriter.cs
	  Mono.Cecil/IGenericParameterProvider.cs
	  Mono.Cecil.Signatures/Var.cs
	  Mono.Cecil.Signatures/MVar.cs
	  Mono.Cecil.Signatures/SignatureReader.cs
	  Mono.Cecil.Signatures/SignatureWriter.cs
	  Mono.Cecil.Cil/CodeWriter.cs:
		Work on generics writing.

2005-10-27  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil.Cil/CodeReader.cs
	  Mono.Cecil.Cil/CilWorker.cs
	  Mono.Cecil.Cil/CodeWriter.cs
	  Mono.Cecil.Cil/OpCode.cs:
		Override op == and != on opcodes.

	* Mono.Cecil/FieldDefinition.cs
	  Mono.Cecil/TypeDefinition.cs
	  Mono.Cecil/MethodDefinition.cs
	  Mono.Cecil/EventDefinition.cs
	  Mono.Cecil/PropertyDefinition.cs:
		Fix setters working on attributes.

	* Mono.Cecil.Cil/CodeWriter.cs:
		Compute max stack before writing method.

	* Mono.Cecil/GenericContext.cs
	  Mono.Cecil/ReflectionReader.cs
	  Mono.Cecil.Signatures/SignatureReader.cs:
		Work on generics support.

	* CodeGen/cecil.xml
	  Mono.Cecil/ISecurityDeclarationCollection.cs
	  Mono.Cecil/SecurityDeclarationCollection.cs:
		Remove the security declaration from the codegen.

2005-10-27  Sebastien Pouliot  <sebastien@ximian.com>

	* Mono.Cecil\SecurityDeclaration.cs
		Copy the permission set when cloning.
	* Mono.Cecil\SecurityDeclarationCollection.cs
		Ajusted to use an Hashtable, to Union permission sets on
		the same action and to set/unset HasSecurity when needed.
	* Mono.Cecil\ModuleDefinition.cs:
		Added TODO (remainder) for complete 2.0 format support.
	* Mono.Cecil\ReflectionWriter.cs:
		Move MetadataToken finding outside the loop.
	* Mono.Cecil\ISecurityDeclarationCollection.cs:
		Adjust interface.

2005-10-27  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/TypeDefinition.cs
	  Mono.Cecil/MethodDefinition.cs:
		Add generics parameters in visitor path.

	* Mono.Cecil/GenericParamAttributes.cs:
		Add new constraints flags.

2005-10-22  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/GenericParameter.cs
	  Mono.Cecil/ReflectionReader.cs
	  Mono.Cecil/IGenericParameter.cs
	  Mono.Cecil/AggressiveReflectionReader.cs
	  Mono.Cecil/GenericContext.cs:
		Support generic parameters constraints.

2005-10-21  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/FieldDefinition.cs
	  Mono.Cecil/CustomAttribute.cs
	  Mono.Cecil/TypeDefinition.cs
	  Mono.Cecil/SecurityDeclaration.cs
	  Mono.Cecil/MethodDefinition.cs
	  Mono.Cecil/EventDefinition.cs
	  Mono.Cecil/ParameterDefinition.cs
	  Mono.Cecil/PropertyDefinition.cs:
		Implement ICloneable.

	* Mono.Cecil/IAssemblyDefinition.cs:
		Mirror changes on asm kind.
	* Mono.Cecil/StructureReader.cs:
		Fix asm kind detection.

	* Mono.Cecil/StructureWriter.cs
	  Mono.Cecil/ReflectionReader.cs
	  Mono.Cecil/MethodDefinition.cs
	  Mono.Cecil/ReflectionWriter.cs:
		Fix regressions.
	* Mono.Cecil.Cil/MethodBody.cs:
		Fix method cloning.

	* CodeGen/templates/MetadataTableReader.cs
	  Mono.Cecil.Metadata/MetadataTableReader.cs
	  Mono.Cecil.Metadata/MetadataReader.cs:
		Add helpers for reading.

	* Mono.Cecil/ReflectionReader.cs
	  Mono.Cecil/MethodDefinition.cs
	  Mono.Cecil/AggressiveReflectionReader.cs
	  Mono.Cecil/GenericContext.cs:
		Working on generic parameters reading.
		Still have troubles reading a 2.0 corlib.

	* Mono.Cecil/IHasMarshalSpec.cs:
		API fix.

	* Mono.Cecil/ParameterDefinition.cs
	  Mono.Cecil.Cil/VariableDefinition.cs:
		Override ToString.

2005-10-20  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil.Cil/CodeReader.cs
	  Mono.Cecil.Cil/CodeWriter.cs
	  Mono.Cecil.Cil/ICilWorker.cs
	  Mono.Cecil.Cil/CilWorker.cs:
		ShortInlineI operands are signed.
		Spotted by Rodrigo B. de Oliveira.

	* CodeGen/templates/OpCodes.cs
	  Mono.Cecil.Cil/OpCodes.cs:
		Add 2.0 opcodes.

	* Mono.Cecil/StructureWriter.cs
	  Mono.Cecil/AssemblyDefinition.cs
	  Mono.Cecil/AssemblyFactory.cs
	  Mono.Cecil/StructureReader.cs
	  Mono.Cecil/ReflectionWriter.cs:
		Handle the assembly kind in a smoothie way.

2005-10-19  Sebastien Pouliot  <sebastien@ximian.com>

	* Mono.Cecil/AssemblyDefinition.cs: Added an override for ToString to
	ease debugging.
	* Mono.Cecil/ModuleDefinition.cs: Make SecurityDeclaration works with
	2.0 assemblies.
	* Mono.Cecil/ReflectionReader.cs: Modified BuildSecurityDeclaration
	to use the new SecurityDeclarationReader (supporting both formats).
	* Mono.Cecil/SecurityAction.cs: Removed actions that were "cutted" out
	of 2.0 final.
	* Mono.Cecil/SecurityDeclarationReader.cs: New. Handle both the 1.x
	and 2.0 formats for reading declarative security.

2005-10-18  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/GenericParameter.cs:
		A little change before the fix.

	* Mono.Cecil/ReflectionHelper.cs
	  Mono.Cecil/MethodDefinition.cs
	  Mono.Cecil.Cil/MethodBody.cs:
		Implement method cloning.

	* Mono.Cecil/ModuleReference.cs
	  Mono.Cecil/FieldDefinition.cs
	  Mono.Cecil/TypeReference.cs
	  Mono.Cecil/ReflectionReader.cs
	  Mono.Cecil/TypeDefinition.cs
	  Mono.Cecil/EventDefinition.cs
	  Mono.Cecil/ModuleDefinition.cs
	  Mono.Cecil/FieldReference.cs
	  Mono.Cecil/ReflectionWriter.cs
	  Mono.Cecil/PropertyDefinition.cs
	  Mono.Cecil/AssemblyFactory.cs:
		Small API change.

	* Mono.Cecil.Cil/CodeReader.cs:
		Fix variables names.

	TODO before 0.1:
		Fix generic parameters,
		generic writing,
		constructor changes (with S.Type and SR.*Info)

2005-10-14  Jb Evain  <jbevain@gmail.com>

	Work on generics support.

	* CodeGen/cecil.xml: new collections, coded indexes, opcodes.

	* Mono.Cecil/IGenericParameterCollection.cs
	  Mono.Cecil/GenericParameterCollection.cs
	  Mono.Cecil/IGenericArgumentCollection.cs
	  Mono.Cecil/GenericArgumentCollection.cs:
		Added new collections.

	* Mono.Cecil.Metadata/Utilities.cs: updated.
	* Mono.Cecil.Metadata/TokenType.cs: added MethodSpec.

	* Mono.Cecil/IGenericParameter.cs
	  Mono.Cecil/GenericParameter.cs
	  Mono.Cecil/IGenericParameterConstraints.cs
	  Mono.Cecil/GenericParameterConstraints.cs
	  Mono.Cecil/IGenericParameterProvider.cs
	  Mono.Cecil/IGenericInstance.cs
	  Mono.Cecil/IGenericInstanceType.cs
	  Mono.Cecil/GenericInstanceType.cs
	  Mono.Cecil/IGenericInstanceMethod.cs
	  Mono.Cecil/GenericInstanceMethod.cs:
		Generics API elements.

	* Mono.Cecil/IMethod.cs
	  Mono.Cecil/MethodReference.cs
	  Mono.Cecil/ITypeReference.cs
	  Mono.Cecil/TypeReference.cs:
		Implement IGenericParameterProvider

	* Mono.Cecil/ReflectionReader.cs
	  Mono.Cecil/IReflectionVisitor.cs
	  Mono.Cecil/BaseReflectionVisitor.cs
	  Mono.Cecil/StructureReader.cs
	  Mono.Cecil/AggressiveReflectionReader.cs
	  Mono.Cecil/MemberReference.cs:
		Support for the new generics elements.

	* Mono.Cecil.Signatures/Var.cs
	  Mono.Cecil.Signatures/MVar.cs
	  Mono.Cecil.Signatures/GenericInstSignature.cs
	  Mono.Cecil.Signatures/GenericInst.cs:
		Added file header.

	* Mono.Cecil.Signatures/SignatureReader.cs
	  Mono.Cecil.Signatures/GenericInstSignature.cs
	  Mono.Cecil.Signatures/MethodDefSig.cs
	  Mono.Cecil.Signatures/GenericInst.cs
	  Mono.Cecil.Signatures/MethodSpec.cs
	  Mono.Cecil/MethodCallingConvention.cs
	  Mono.Cecil.Cil/CodeReader.cs:
		Added support for generic signatures.

	* Mono.Cecil.Cil/OpCodes.cs:
		Add consrained. opcode.

	* Mono.Cecil.dll.sources:
		Updated.

	Known problems: !!parameters

2005-10-13  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/ReflectionHelper.cs
	  Mono.Cecil/FieldDefinition.cs
	  Mono.Cecil/CustomAttribute.cs
	  Mono.Cecil/MethodReturnType.cs
	  Mono.Cecil/TypeDefinition.cs
	  Mono.Cecil/SecurityDeclaration.cs
	  Mono.Cecil/MethodDefinition.cs
	  Mono.Cecil/EventDefinition.cs
	  Mono.Cecil/ModuleDefinition.cs
	  Mono.Cecil/ParameterDefinition.cs
	  Mono.Cecil/IMethodReturnType.cs
	  Mono.Cecil/PropertyDefinition.cs
	  Mono.Cecil.Cil/MethodBody.cs:
		Work on the import.
	* Mono.Cecil/ITypeParameterType.cs
	  Mono.Cecil/TypeParameterType.cs:
		Correct the interface.

2005-10-12  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/EventDefinition.cs
	  Mono.Cecil/TypeDefinition.cs
	  Mono.Cecil/ModuleDefinition.cs
	  Mono.Cecil/ReflectionWriter.cs
	  Mono.Cecil/PropertyDefinition.cs:
		Small fixes.

2005-09-16  Martin Baulig  <martin@ximian.com>

	Added generics support to Cecil.

	* Mono.Cecil/IGenericInstType.cs: New file.
	* Mono.Cecil/ITypeParameterType.cs: New file.
	* Mono.Cecil/IMethodTypeParameterType.cs: New file.

	* Mono.Cecil.Metadata/ElementType.cs
	(ElementType): Added `Var', `MVar' and `GenericInst'.

	* Mono.Cecil.Metadata/Utilities.cs
	(Utilities.GetMetadataToken): .NET 2.0 also uses TypeDef's in the
	MemberRefParent.

	* Mono.Cecil/GenericInstType.cs: New file.
	* Mono.Cecil/MethodTypeParameterType.cs: New file.
	* Mono.Cecil/TypeParameterType.cs: New file.

	* Mono.Cecil.Signatures/Var.cs: New file.
	* Mono.Cecil.Signatures/MVar.cs: New file.
	* Mono.Cecil.Signatures/GenericInst.cs: New file.
	* Mono.Cecil.Signatures/GenericInstSignature.cs: New file.

	* Mono.Cecil/ReflectionReader.cs
	(ReflectionReader.GetTypeRefFromSig): Add the new types.

	* Mono.Cecil.Signatures/SignatureReader.cs
	(SignatureReader.ReadType): Add the new types.

2005-10-06  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/ReflectionHelper.cs
	  Mono.Cecil/ModuleDefinition.cs:
		Fix a bug in type importing.

2005-10-06  Jb Evain  <jbevain@gmail.com>

	* Hopefully, this is the last API change before the release of Cecil 0.1.
	  Mono.Cecil.Implem has been moved to Mono.Cecil. The interfaces where
	  very convenient for a reading API, it was far less convenient for a
	  modification and writing one. The modification API still needs some work,
	  but this should be easier this way.

2005-09-27  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil.Metadata/MetadataReader.cs:
		Fix resources reading.

	* Mono.Cecil.Implem/StructureWriter.cs:
		Correctly set the offset of resources in the manifest.
	* Mono.Cecil.Implem/StructureFactories.cs:
		Use correct overrides when creating assembly references.
	* Mono.Cecil.Implem/ReflectionFactories:
		Correctly create type references.

2005-09-06  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/IReflectionFactories.cs
	  Mono.Cecil.Implem/ReflectionFactories.cs:
		Allow the creation of reference types for methods
		parameters and return types.
	* Mono.Cecil.Cil/ICilWorker.cs
	  Mono.Cecil.Implem/CilWorker.cs
	  Mono.Cecil.Implem/CodeReader.cs
	  Mono.Cecil.Implem/CodeWriter.cs:
		Global fix on the handling of parameters in instructions.
	* Mono.Cecil.Implem/AssemblyName.cs:
		Correcty write the version of an assembly fullname.
		Spotted by Bruno Cabral.
	* Mono.Cecil.Implem/TypeDefinition.cs:
		Set the declaring type of a nested type on add.
	* Mono.Cecil.Implem/CustomAttribute.cs
	  Mono.Cecil.Implem/ReflectionReader.cs
	  Mono.Cecil.Implem/ReflectionWriter.cs
	  Mono.Cecil.Implem/AggressiveReflectionReader.cs
	  Mono.Cecil.Signatures/CustomAttrib.cs
	  Mono.Cecil.Signatures/SignatureReader.cs:
		Global fix on custom attribute handling. Some
		custom attribute (containing enums) blobs can not be
		decoded.

2005-09-04  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil.Implem/Instruction.cs:
		Add the setter for IInstruction::OpCode.

2005-09-02  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/ICustomAttribute.cs
	  Mono.Cecil.Implem/ReflectionFactories.cs
	  Mono.Cecil.Implem/CustomAttribute.cs
	  Mono.Cecil.Implem/ReflectionWriter.cs
	  Mono.Cecil.Signatures/SignatureWriter.cs:
		Prepare the work on custom attributes.
	* Mono.Cecil.Cil/IInstruction.cs:
		Let users modify the content of an instruction.
	* Mono.Cecil.Implem/StructureReader.cs:
		Do not try to read 2.0 assemblies.

2005-08-28  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil.Metadata/MetadataWriter.cs:
		Write the fields initial value back.
		As of this revision, a round tripped mcs
		can compile Cecil.

	* Mono.Cecil.Implem/ReflectionWriter.cs:
		Emit things in proper order.
	  Mono.Cecil.Implem/CodeReader.cs
	  Mono.Cecil.Implem/CodeWriter.cs:
		Correct bug with InlineVar opcodes.
		Emit fat body if maxstack is set.

	* Mono.Cecil.Implem/CodeWriter.cs:
		Handle null tokens.
	  Mono.Cecil.Metadata/MetadataWriter.cs:
		Allow one empty string in the userstring heap.

	* Mono.Cecil.Implem/ReflectionReader.cs
	  Mono.Cecil.Implem/ReflectionWriter.cs:
		Strings constant are unicode.

	* Mono.Cecil/LoadingType.cs
	  Mono.Cecil/AssemblyFactory.cs
	  CodeGen/templates/IndexedCollectionImplem.cs
	  CodeGen/templates/LzIndexedCollectionImplem.cs
	  CodeGen/cecil.xml
	  Mono.Cecil.Implem/InterfaceCollection.cs
	  Mono.Cecil.Implem/ILazyLoadable.cs
	  Mono.Cecil.Implem/ExternTypeCollection.cs
	  Mono.Cecil.Implem/SecurityDeclarationCollection.cs
	  Mono.Cecil.Implem/ReflectionHelper.cs
	  Mono.Cecil.Implem/OverrideCollection.cs
	  Mono.Cecil.Implem/EventDefinitionCollection.cs
	  Mono.Cecil.Implem/FieldDefinitionCollection.cs
	  Mono.Cecil.Implem/PropertyDefinitionCollection.cs
	  Mono.Cecil.Implem/CustomAttributeCollection.cs
	  Mono.Cecil.Implem/MethodDefinition.cs
	  Mono.Cecil.Implem/EventDefinition.cs
	  Mono.Cecil.Implem/FieldDefinition.cs
	  Mono.Cecil.Implem/ModuleDefinition.cs
	  Mono.Cecil.Implem/ReflectionController.cs
	  Mono.Cecil.Implem/TypeReference.cs
	  Mono.Cecil.Implem/ReflectionReader.cs
	  Mono.Cecil.Implem/ReflectionWriter.cs
	  Mono.Cecil.Implem/AssemblyDefinition.cs
	  Mono.Cecil.Implem/TypeDefinition.cs
	  Mono.Cecil.Implem/AggressiveReflectionReader.cs
	  Mono.Cecil.Implem/MethodDefinitionCollection.cs
	  Mono.Cecil.Implem/LazyReflectionReader.cs
	  Mono.Cecil.Implem/ParameterDefinition.cs
	  Mono.Cecil.Implem/PropertyDefinition.cs
	  Mono.Cecil.Implem/ConstructorCollection.cs
	  Mono.Cecil.Signatures/SignatureWriter.cs:
		Get rid of the complexity introduced by the
		internal lazy loading.

	* Mono.Cecil.Implem/EventDefinition.cs
	  Mono.Cecil.Implem/PropertyDefinition.cs:
		Fix the behavior of .ToString ().

2005-08-27  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil.Implem/ReflectionWriter.cs:
		Write back custom attributes of modules and assemblies
		as well as their security declaration.
	* Mono.Cecil.Implem/CodeWriter.cs:
		Fix branches computation.
	  Mono.Cecil.Signatures/SignatureReader.cs:
		Disable custom attribute reading cache.

	* CodeGen/templates/ImageWriter.cs
	  Mono.Cecil.Binary/ImageWriter.cs:
		Compute relocations.
	* Mono.Cecil.Implem/ReflectionFactories.cs:
		Blah.

	* Mono.Cecil.Implem/TablesComparer.cs
	  Mono.Cecil.Implem/ReflectionWriter.cs:
		Sort all tables that need to be sorted.

	* Mono.Cecil.Implem/CodeReader.cs:
		Oops. Add fat exception handlers to the method body.

	* CodeGen/templates/ImageWriter.cs
	  Mono.Cecil.Implem/StructureWriter.cs
	  Mono.Cecil.Implem/ReflectionWriter.cs
	  Mono.Cecil.Implem/TypeDefinition.cs
	  Mono.Cecil.Binary/ImageWriter.cs:
		Correct a few bugs: relocations now works.
		Encode enums in custom attributes.
		Compute memberrefs tokens before visitings types.

	* Mono.Cecil.Implem/FieldDefinition.cs:
		Correct a bug that causes null ref due to
		the new api.
	* Mono.Cecil.Signatures/SignatureWriter.cs:
		Implement a very little more custom attributes
		writing.

2005-08-26  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/IMemberReferenceCollection.cs
	  Mono.Cecil/IReflectionVisitor.cs
	  Mono.Cecil/IReflectionFactories.cs
	  Mono.Cecil/BaseReflectionVisitor.cs
	  Mono.Cecil/IModuleDefinition.cs
	  CodeGen/cecil.xml
	  Mono.Cecil.Implem/ReflectionFactories.cs
	  Mono.Cecil.Implem/ReflectionHelper.cs
	  Mono.Cecil.Implem/ModuleDefinition.cs
	  Mono.Cecil.Implem/MemberReferenceCollection.cs
	  Mono.Cecil.Implem/ReflectionReader.cs
	  Mono.Cecil.Implem/ReflectionWriter.cs
	  Mono.Cecil.Implem/ParameterDefinition.cs:
		Handle member references nicely.

	* Mono.Cecil/ICustomAttributeProvider.cs
	  Mono.Cecil/IModuleDefinitionCollection.cs
	  Mono.Cecil/IReflectionStructureFactories.cs
	  Mono.Cecil/IInterfaceCollection.cs
	  Mono.Cecil/IMethod.cs
	  Mono.Cecil/IReflectionFactories.cs
	  Mono.Cecil/INestedTypeCollection.cs
	  Mono.Cecil/ITypeReferenceCollection.cs
	  Mono.Cecil/IExternTypeCollection.cs
	  Mono.Cecil/IAssemblyDefinition.cs
	  Mono.Cecil/ITypeDefinition.cs
	  Mono.Cecil/ICustomAttribute.cs
	  Mono.Cecil/IArrayDimensionCollection.cs
	  Mono.Cecil/TypeFactory.cs
	  Mono.Cecil/IConstructorCollection.cs
	  Mono.Cecil/IHasSecurity.cs
	  Mono.Cecil/IMethodDefinitionCollection.cs
	  Mono.Cecil/IPropertyDefinitionCollection.cs
	  Mono.Cecil/IAssemblyNameReferenceCollection.cs
	  Mono.Cecil/IModuleReferenceCollection.cs
	  Mono.Cecil/IArrayType.cs
	  Mono.Cecil/ISecurityDeclarationCollection.cs
	  Mono.Cecil/IModuleDefinition.cs
	  Mono.Cecil/IResourceCollection.cs
	  Mono.Cecil/IParameterDefinitionCollection.cs
	  Mono.Cecil/IEventDefinitionCollection.cs
	  Mono.Cecil/ITypeDefinitionCollection.cs
	  Mono.Cecil/IFieldDefinitionCollection.cs
	  Mono.Cecil/ICustomAttributeCollection.cs
	  Mono.Cecil/ISecurityDeclaration.cs
	  Mono.Cecil/IOverrideCollection.cs
	  Mono.Cecil/ITypeReference.cs
	  Mono.Cecil.Cil/IExceptionHandlerCollection.cs
	  Mono.Cecil.Cil/IVariableDefinitionCollection.cs
	  Mono.Cecil.Cil/IInstructionCollection.cs
	  Mono.Cecil.Cil/IMethodBody.cs
	  CodeGen/cecil-gen-types.rb
	  CodeGen/templates/ImageWriter.cs
	  CodeGen/templates/IndexedCollectionImplem.cs
	  CodeGen/templates/NamedCollectionImplem.cs
	  CodeGen/templates/IIndexedCollection.cs
	  CodeGen/templates/LzIndexedCollectionImplem.cs
	  CodeGen/templates/INamedCollection.cs
	  CodeGen/templates/LzNamedCollectionImplem.cs
	  Mono.Cecil.Implem/InterfaceCollection.cs
	  Mono.Cecil.Implem/AssemblyLinkedResource.cs
	  Mono.Cecil.Implem/ModuleReferenceCollection.cs
	  Mono.Cecil.Implem/ExternTypeCollection.cs
	  Mono.Cecil.Implem/SecurityDeclarationCollection.cs
	  Mono.Cecil.Implem/ReflectionFactories.cs
	  Mono.Cecil.Implem/ReflectionHelper.cs
	  Mono.Cecil.Implem/OverrideCollection.cs
	  Mono.Cecil.Implem/ArrayDimensionCollection.cs
	  Mono.Cecil.Implem/EmbeddedResource.cs
	  Mono.Cecil.Implem/CilWorker.cs
	  Mono.Cecil.Implem/ParameterDefinitionCollection.cs
	  Mono.Cecil.Implem/EventDefinitionCollection.cs
	  Mono.Cecil.Implem/FieldDefinitionCollection.cs
	  Mono.Cecil.Implem/PropertyDefinitionCollection.cs
	  Mono.Cecil.Implem/ModuleDefinitionCollection.cs
	  Mono.Cecil.Implem/CustomAttributeCollection.cs
	  Mono.Cecil.Implem/VariableDefinitionCollection.cs
	  Mono.Cecil.Implem/TypeReferenceCollection.cs
	  Mono.Cecil.Implem/MemberDefinition.cs
	  Mono.Cecil.Implem/StructureReader.cs
	  Mono.Cecil.Implem/FunctionPointerType.cs
	  Mono.Cecil.Implem/MethodDefinition.cs
	  Mono.Cecil.Implem/EventDefinition.cs
	  Mono.Cecil.Implem/FieldDefinition.cs
	  Mono.Cecil.Implem/InstructionCollection.cs
	  Mono.Cecil.Implem/VariableDefinition.cs
	  Mono.Cecil.Implem/CustomAttribute.cs
	  Mono.Cecil.Implem/ModuleDefinition.cs
	  Mono.Cecil.Implem/MethodReference.cs
	  Mono.Cecil.Implem/TypeReference.cs
	  Mono.Cecil.Implem/StructureFactories.cs
	  Mono.Cecil.Implem/TypeDefinitionCollection.cs
	  Mono.Cecil.Implem/AssemblyNameReferenceCollection.cs
	  Mono.Cecil.Implem/ReflectionReader.cs
	  Mono.Cecil.Implem/MethodReturnType.cs
	  Mono.Cecil.Implem/MemberReference.cs
	  Mono.Cecil.Implem/ReflectionWriter.cs
	  Mono.Cecil.Implem/Resource.cs
	  Mono.Cecil.Implem/AssemblyDefinition.cs
	  Mono.Cecil.Implem/TypeDefinition.cs
	  Mono.Cecil.Implem/AggressiveReflectionReader.cs
	  Mono.Cecil.Implem/CodeReader.cs
	  Mono.Cecil.Implem/FieldReference.cs
	  Mono.Cecil.Implem/MethodDefinitionCollection.cs
	  Mono.Cecil.Implem/LazyReflectionReader.cs
	  Mono.Cecil.Implem/LinkedResource.cs
	  Mono.Cecil.Implem/ParameterDefinition.cs
	  Mono.Cecil.Implem/PropertyDefinition.cs
	  Mono.Cecil.Implem/MethodBody.cs
	  Mono.Cecil.Implem/NestedTypeCollection.cs
	  Mono.Cecil.Implem/ConstructorCollection.cs
	  Mono.Cecil.Implem/ResourceCollection.cs
	  Mono.Cecil.Implem/ExceptionHandlerCollection.cs
	  Mono.Cecil.Binary/ImageWriter.cs
	  Mono.Cecil.Binary/ImageReader.cs:
		Fix the writing API before the API freeze. Few things
		are not implemented, see todos.

2005-08-20  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/ITypeDefinition.cs
	  Mono.Cecil/IModuleDefinition.cs
	  Mono.Cecil/ITypeReference.cs
	  Mono.Cecil.Implem/ReflectionHelper.cs
	  Mono.Cecil.Implem/ModuleDefinition.cs
	  Mono.Cecil.Implem/TypeReference.cs
	  Mono.Cecil.Implem/ReflectionReader.cs
	  Mono.Cecil.Implem/ReflectionWriter.cs
	  Mono.Cecil.Implem/TypeDefinition.cs:
		Add way to know if a type reference is a
		value type or not. This hack saved my life.

	* Mono.Cecil.Implem/CodeWriter.cs:
		Fix typespec emitting.

	* Mono.Cecil/IReflectionVisitor.cs
	  Mono.Cecil/IMethod.cs
	  Mono.Cecil/BaseReflectionVisitor.cs
	  Mono.Cecil/ITypeDefinition.cs
	  Mono.Cecil/IConstructorCollection.cs
	  CodeGen/cecil.xml
	  Mono.Cecil.Implem/MethodDefinition.cs
	  Mono.Cecil.Implem/ReflectionReader.cs
	  Mono.Cecil.Implem/ReflectionWriter.cs
	  Mono.Cecil.Implem/TypeDefinition.cs
	  Mono.Cecil.Implem/ConstructorCollection.cs:
		Support constructors decently.

	* CodeGen/templates/Utilities.cs
	  Mono.Cecil.Metadata/Utilities.cs:
		Return a null token if the rid of a md token
		is 0. Fix the crash when Mono try to read
		assemblies emitted by Cecil.

2005-08-19  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil.Implem/ReflectionWriter.cs:
		Set the RVA of a method only if it can
		have a body.
	* Mono.Cecil.Signatures/SignatureReader.cs:
		Remove debugging stuff.

	* Mono.Cecil.Implem/ReflectionReader.cs
	  Mono.Cecil.Signatures/SignatureReader.cs:
		Fix custom marshaller reading.

	* CodeGen/templates/NamedCollectionImplem.cs
	  CodeGen/templates/LzNamedCollectionImplem.cs
	  Mono.Cecil.Implem/ExternTypeCollection.cs
	  Mono.Cecil.Implem/TypeReferenceCollection.cs
	  Mono.Cecil.Implem/TypeDefinitionCollection.cs
	  Mono.Cecil.Implem/ReflectionReader.cs
	  Mono.Cecil.Implem/ReflectionWriter.cs
	  Mono.Cecil.Implem/TablesComparer.cs
	  Mono.Cecil.Implem/Constants.cs
	  Mono.Cecil.Signatures/SignatureWriter.cs:
		Correct bugs in type* tables generations.

	* Mono.Cecil/IModuleDefinitionCollection.cs
	  Mono.Cecil/IInterfaceCollection.cs
	  Mono.Cecil/INestedTypeCollection.cs
	  Mono.Cecil/ITypeReferenceCollection.cs
	  Mono.Cecil/IExternTypeCollection.cs
	  Mono.Cecil/IArrayDimensionCollection.cs
	  Mono.Cecil/IMethodDefinitionCollection.cs
	  Mono.Cecil/IPropertyDefinitionCollection.cs
	  Mono.Cecil/IAssemblyNameReferenceCollection.cs
	  Mono.Cecil/IModuleReferenceCollection.cs
	  Mono.Cecil/ISecurityDeclarationCollection.cs
	  Mono.Cecil/IResourceCollection.cs
	  Mono.Cecil/IParameterDefinitionCollection.cs
	  Mono.Cecil/IEventDefinitionCollection.cs
	  Mono.Cecil/ITypeDefinitionCollection.cs
	  Mono.Cecil/IFieldDefinitionCollection.cs
	  Mono.Cecil/ICustomAttributeCollection.cs
	  Mono.Cecil/IOverrideCollection.cs
	  Mono.Cecil.Cil/IExceptionHandlerCollection.cs
	  Mono.Cecil.Cil/IVariableDefinitionCollection.cs
	  Mono.Cecil.Cil/IInstructionCollection.cs
	  CodeGen/templates/IIndexedCollection.cs
	  CodeGen/templates/INamedCollection.cs
	  Mono.Cecil.Implem/ReflectionWriter.cs
	  Mono.Cecil.Binary/SubSystem.cs
	  Mono.Cecil.Signatures/SignatureWriter.cs:
		On going change to the writing api. Not setter allowed on
		collections. Work on custom attribute encoding. Remove
		the Flags on Subsystem.

	* Mono.Cecil.dll.sources
	  Mono.Cecil.Implem/ReflectionHelper.cs
	  Mono.Cecil.Implem/TypeReference.cs
	  Mono.Cecil.Implem/ReflectionReader.cs
	  Mono.Cecil.Implem/ReflectionWriter.cs
	  Mono.Cecil.Implem/TypeDefinition.cs
	  Mono.Cecil.Implem/TablesComparer.cs
	  Mono.Cecil.Signatures/SignatureReader.cs:
		Fix the build.
		Stop to prefix typeref by the scope.
		Cecil will have buggy behaviour if it have to handle
		two typeref with the same namespace+name, but for the
		moment, let it like that.

	* Mono.Cecil/INestedTypeCollection.cs
	  Mono.Cecil/IModuleReference.cs
	  Mono.Cecil/ITypeReferenceCollection.cs
	  Mono.Cecil/IAssemblyName.cs
	  Mono.Cecil/IExternTypeCollection.cs
	  Mono.Cecil/IMetadataScope.cs
	  Mono.Cecil/IModuleDefinition.cs
	  Mono.Cecil/IResourceCollection.cs
	  Mono.Cecil/ITypeDefinitionCollection.cs
	  CodeGen/templates/NamedCollectionImplem.cs
	  CodeGen/templates/INamedCollection.cs
	  CodeGen/templates/LzNamedCollectionImplem.cs
	  CodeGen/cecil.xml
	  Mono.Cecil.Metadata/RowCollection.cs
	  Mono.Cecil.Metadata/MetadataWriter.cs
	  Mono.Cecil.Metadata/MetadataToken.cs
	  Mono.Cecil.Implem/TablesComparer.cs
	  Mono.Cecil.Implem/ExternTypeCollection.cs
	  Mono.Cecil.Implem/ReflectionHelper.cs
	  Mono.Cecil.Implem/TypeReferenceCollection.cs
	  Mono.Cecil.Implem/StructureReader.cs
	  Mono.Cecil.Implem/StructureWriter.cs
	  Mono.Cecil.Implem/ModuleDefinition.cs
	  Mono.Cecil.Implem/TypeReference.cs
	  Mono.Cecil.Implem/TypeDefinitionCollection.cs
	  Mono.Cecil.Implem/ReflectionReader.cs
	  Mono.Cecil.Implem/ReflectionWriter.cs
	  Mono.Cecil.Implem/TypeDefinition.cs
	  Mono.Cecil.Implem/CodeReader.cs
	  Mono.Cecil.Implem/CodeWriter.cs
	  Mono.Cecil.Implem/Constants.cs
	  Mono.Cecil.Implem/NestedTypeCollection.cs
	  Mono.Cecil.Implem/ResourceCollection.cs
	  Mono.Cecil.Signatures/SignatureReader.cs
	  Mono.Cecil.Signatures/SignatureWriter.cs:
		Correct some part of the API.
		Correct tons of bugs in the writing layer.

2005-08-17  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/IField.cs
	  CodeGen/cecil.xml
	  Mono.Cecil.Metadata/MetadataReader.cs
	  Mono.Cecil.Metadata/MetadataWriter.cs
	  Mono.Cecil.Implem/ReflectionHelper.cs
	  Mono.Cecil.Implem/StructureReader.cs
	  Mono.Cecil.Implem/FieldDefinition.cs
	  Mono.Cecil.Implem/BaseReflectionReader.cs
	  Mono.Cecil.Implem/ReflectionReader.cs
	  Mono.Cecil.Implem/ReflectionWriter.cs
	  Mono.Cecil.Implem/TypeDefinition.cs
	  Mono.Cecil.Implem/AggressiveReflectionReader.cs
	  Mono.Cecil.Implem/CodeReader.cs
	  Mono.Cecil.Implem/IDetailReader.cs
	  Mono.Cecil.Implem/CodeWriter.cs
	  Mono.Cecil.Implem/LazyReflectionReader.cs
	  Mono.Cecil.Signatures/SignatureWriter.cs:
		Work on the working layer. Implement field initial
		data. Bugs.

2005-08-16  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil.Implem/ReflectionWriter.cs
	  Mono.Cecil.Implem/CodeWriter.cs
	  Mono.Cecil.Signatures/SignatureReader.cs:
		Implement local var sig writing.

	* Mono.Cecil.Implem/ArrayType.cs:
		Style.
	  Mono.Cecil.Implem/ParameterDefinition.cs:
		Correct a bug in module obtention.
	  Mono.Cecil.Signatures/SignatureReader.cs:
		Correct a bug in arrays's signature reading.

	* Mono.Cecil.dll.sources
	  Mono.Cecil/IReflectionVisitor.cs
	  Mono.Cecil/IModuleDefinitionCollection.cs
	  Mono.Cecil/IInterfaceCollection.cs
	  Mono.Cecil/IProperty.cs
	  Mono.Cecil/BaseReflectionVisitor.cs
	  Mono.Cecil/INestedTypeCollection.cs
	  Mono.Cecil/ITypeReferenceCollection.cs
	  Mono.Cecil/IParameter.cs
	  Mono.Cecil/IExternTypeCollection.cs
	  Mono.Cecil/IField.cs
	  Mono.Cecil/IArrayDimensionCollection.cs
	  Mono.Cecil/IMethodDefinitionCollection.cs
	  Mono.Cecil/IPropertyDefinitionCollection.cs
	  Mono.Cecil/IAssemblyNameReferenceCollection.cs
	  Mono.Cecil/IModuleReferenceCollection.cs
	  Mono.Cecil/IHasConstant.cs
	  Mono.Cecil/ISecurityDeclarationCollection.cs
	  Mono.Cecil/IMetadataTokenProvider.cs
	  Mono.Cecil/IModuleDefinition.cs
	  Mono.Cecil/BaseStructureVisitor.cs
	  Mono.Cecil/IResourceCollection.cs
	  Mono.Cecil/IParameterDefinitionCollection.cs
	  Mono.Cecil/IEventDefinitionCollection.cs
	  Mono.Cecil/ITypeDefinitionCollection.cs
	  Mono.Cecil/IFieldDefinitionCollection.cs
	  Mono.Cecil/ICustomAttributeCollection.cs
	  Mono.Cecil/IOverrideCollection.cs
	  Mono.Cecil.Cil/IExceptionHandlerCollection.cs
	  Mono.Cecil.Cil/IVariableDefinitionCollection.cs
	  Mono.Cecil.Cil/IInstructionCollection.cs
	  CodeGen/cecil-gen.rb
	  CodeGen/cecil-gen-types.rb
	  CodeGen/templates/IndexedCollectionImplem.cs
	  CodeGen/templates/NamedCollectionImplem.cs
	  CodeGen/templates/IIndexedCollection.cs
	  CodeGen/templates/LzIndexedCollectionImplem.cs
	  CodeGen/templates/INamedCollection.cs
	  CodeGen/templates/LzNamedCollectionImplem.cs
	  CodeGen/cecil.xml
	  Mono.Cecil.Metadata/MetadataRowWriter.cs
	  Mono.Cecil.Metadata/MetadataWriter.cs
	  Mono.Cecil.Implem/InterfaceCollection.cs
	  Mono.Cecil.Implem/ModuleReferenceCollection.cs
	  Mono.Cecil.Implem/ExternTypeCollection.cs
	  Mono.Cecil.Implem/SecurityDeclarationCollection.cs
	  Mono.Cecil.Implem/OverrideCollection.cs
	  Mono.Cecil.Implem/ParameterDefinitionCollection.cs
	  Mono.Cecil.Implem/EventDefinitionCollection.cs
	  Mono.Cecil.Implem/FieldDefinitionCollection.cs
	  Mono.Cecil.Implem/PropertyDefinitionCollection.cs
	  Mono.Cecil.Implem/ModuleDefinitionCollection.cs
	  Mono.Cecil.Implem/CustomAttributeCollection.cs
	  Mono.Cecil.Implem/VariableDefinitionCollection.cs
	  Mono.Cecil.Implem/TypeReferenceCollection.cs
	  Mono.Cecil.Implem/StructureReader.cs
	  Mono.Cecil.Implem/MethodDefinition.cs
	  Mono.Cecil.Implem/EventDefinition.cs
	  Mono.Cecil.Implem/FieldDefinition.cs
	  Mono.Cecil.Implem/InstructionCollection.cs
	  Mono.Cecil.Implem/StructureWriter.cs
	  Mono.Cecil.Implem/ModuleDefinition.cs
	  Mono.Cecil.Implem/MethodReference.cs
	  Mono.Cecil.Implem/TypeReference.cs
	  Mono.Cecil.Implem/TypeDefinitionCollection.cs
	  Mono.Cecil.Implem/AssemblyNameReferenceCollection.cs
	  Mono.Cecil.Implem/ReflectionReader.cs
	  Mono.Cecil.Implem/MethodReturnType.cs
	  Mono.Cecil.Implem/ReflectionWriter.cs
	  Mono.Cecil.Implem/AssemblyDefinition.cs
	  Mono.Cecil.Implem/TypeDefinition.cs
	  Mono.Cecil.Implem/AggressiveReflectionReader.cs
	  Mono.Cecil.Implem/MethodDefinitionCollection.cs
	  Mono.Cecil.Implem/CodeWriter.cs
	  Mono.Cecil.Implem/LazyReflectionReader.cs
	  Mono.Cecil.Implem/ParameterDefinition.cs
	  Mono.Cecil.Implem/PropertyDefinition.cs
	  Mono.Cecil.Implem/NestedTypeCollection.cs
	  Mono.Cecil.Implem/ResourceCollection.cs
	  Mono.Cecil.Implem/ExceptionHandlerCollection.cs
	  Mono.Cecil.Signatures/SignatureReader.cs
	  Mono.Cecil.Signatures/SignatureWriter.cs:
		Working on the writing layer.
		Begin to fix brokens part of the API.

2005-08-15  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/ITypeDefinition.cs
	  CodeGen/templates/MetadataTableReader.cs
	  CodeGen/templates/PEFileHeader.cs
	  CodeGen/templates/ImageWriter.cs
	  CodeGen/templates/CLIHeader.cs
	  CodeGen/templates/PEOptionalHeader.cs
	  CodeGen/templates/MetadataTableWriter.cs
	  CodeGen/templates/Table.cs
	  CodeGen/templates/MetadataRowReader.cs
	  CodeGen/templates/BaseMetadataVisitor.cs
	  CodeGen/templates/Section.cs
	  CodeGen/templates/MetadataRowWriter.cs
	  CodeGen/templates/ImageReader.cs
	  CodeGen/templates/IMetadataVisitor.cs
	  Mono.Cecil.Metadata/Assembly.cs
	  Mono.Cecil.Metadata/PropertyMap.cs
	  Mono.Cecil.Metadata/InterfaceImpl.cs
	  Mono.Cecil.Metadata/MetadataInitializer.cs
	  Mono.Cecil.Metadata/Constant.cs
	  Mono.Cecil.Metadata/MethodSpec.cs
	  Mono.Cecil.Metadata/BaseMetadataVisitor.cs
	  Mono.Cecil.Metadata/DeclSecurity.cs
	  Mono.Cecil.Metadata/TypeDef.cs
	  Mono.Cecil.Metadata/MethodImpl.cs
	  Mono.Cecil.Metadata/GenericParamConstraint.cs
	  Mono.Cecil.Metadata/NestedClass.cs
	  Mono.Cecil.Metadata/MetadataTableReader.cs
	  Mono.Cecil.Metadata/AssemblyRefProcessor.cs
	  Mono.Cecil.Metadata/AssemblyRef.cs
	  Mono.Cecil.Metadata/AssemblyRefOS.cs
	  Mono.Cecil.Metadata/Method.cs
	  Mono.Cecil.Metadata/RowCollection.cs
	  Mono.Cecil.Metadata/MetadataTableWriter.cs
	  Mono.Cecil.Metadata/StringsHeap.cs
	  Mono.Cecil.Metadata/MetadataRowReader.cs
	  Mono.Cecil.Metadata/ExportedType.cs
	  Mono.Cecil.Metadata/CustomAttribute.cs
	  Mono.Cecil.Metadata/Param.cs
	  Mono.Cecil.Metadata/MetadataReader.cs
	  Mono.Cecil.Metadata/ClassLayout.cs
	  Mono.Cecil.Metadata/MetadataRowWriter.cs
	  Mono.Cecil.Metadata/BlobHeap.cs
	  Mono.Cecil.Metadata/MetadataWriter.cs
	  Mono.Cecil.Metadata/AssemblyOS.cs
	  Mono.Cecil.Metadata/ModuleRef.cs
	  Mono.Cecil.Metadata/MetadataRoot.cs
	  Mono.Cecil.Metadata/UserStringsHeap.cs
	  Mono.Cecil.Metadata/FieldMarshal.cs
	  Mono.Cecil.Metadata/GenericParam.cs
	  Mono.Cecil.Metadata/ImplMap.cs
	  Mono.Cecil.Metadata/TableCollection.cs
	  Mono.Cecil.Metadata/TablesHeap.cs
	  Mono.Cecil.Metadata/MetadataStreamCollection.cs
	  Mono.Cecil.Metadata/ManifestResource.cs
	  Mono.Cecil.Metadata/TypeRef.cs
	  Mono.Cecil.Metadata/AssemblyProcessor.cs
	  Mono.Cecil.Metadata/EventMap.cs
	  Mono.Cecil.Metadata/File.cs
	  Mono.Cecil.Metadata/Event.cs
	  Mono.Cecil.Metadata/FieldLayout.cs
	  Mono.Cecil.Metadata/Field.cs
	  Mono.Cecil.Metadata/Property.cs
	  Mono.Cecil.Metadata/Module.cs
	  Mono.Cecil.Metadata/GuidHeap.cs
	  Mono.Cecil.Metadata/MethodSemantics.cs
	  Mono.Cecil.Metadata/StandAloneSig.cs
	  Mono.Cecil.Metadata/MetadataStream.cs
	  Mono.Cecil.Metadata/FieldRVA.cs
	  Mono.Cecil.Metadata/TypeSpec.cs
	  Mono.Cecil.Metadata/MemberRef.cs
	  Mono.Cecil.Metadata/IMetadataVisitor.cs
	  Mono.Cecil.Implem/TypeDefinition.cs
	  Mono.Cecil.Signatures/MethodRefSig.cs
	  Mono.Cecil.Signatures/SignatureReader.cs
	  Mono.Cecil.Signatures/FieldSig.cs
	  Mono.Cecil.Signatures/PropertySig.cs
	  Mono.Cecil.Signatures/ISignatureVisitor.cs
	  Mono.Cecil.Signatures/SignatureWriter.cs
	  Mono.Cecil.Signatures/MethodDefSig.cs
	  Mono.Cecil.Signatures/LocalVarSig.cs
	  Mono.Cecil.Binary/PEFileHeader.cs
	  Mono.Cecil.Binary/IBinaryVisitor.cs
	  Mono.Cecil.Binary/ImageWriter.cs
	  Mono.Cecil.Binary/CLIHeader.cs
	  Mono.Cecil.Binary/SectionCollection.cs
	  Mono.Cecil.Binary/Image.cs
	  Mono.Cecil.Binary/PEOptionalHeader.cs
	  Mono.Cecil.Binary/ImageInitializer.cs
	  Mono.Cecil.Binary/Imports.cs
	  Mono.Cecil.Binary/BaseImageVisitor.cs
	  Mono.Cecil.Binary/DOSHeader.cs
	  Mono.Cecil.Binary/Section.cs
	  Mono.Cecil.Binary/ImageReader.cs:
		Apply the new visitor model to the rest of Cecil.

	* Mono.Cecil/IReflectionVisitor.cs
	  Mono.Cecil/BaseReflectionVisitor.cs
	  Mono.Cecil/IReflectionStructureVisitor.cs
	  Mono.Cecil/BaseStructureVisitor.cs
	  Mono.Cecil.Cil/BaseCodeVisitor.cs
	  Mono.Cecil.Cil/ICodeVisitor.cs
	  CodeGen/cecil-gen.rb
	  CodeGen/cecil-gen-types.rb
	  CodeGen/templates/IndexedCollectionImplem.cs
	  CodeGen/templates/NamedCollectionImplem.cs
	  CodeGen/templates/LzIndexedCollectionImplem.cs
	  CodeGen/templates/LzNamedCollectionImplem.cs
	  CodeGen/cecil.xml
	  Mono.Cecil.Implem/InterfaceCollection.cs
	  Mono.Cecil.Implem/AssemblyLinkedResource.cs
	  Mono.Cecil.Implem/ModuleReferenceCollection.cs
	  Mono.Cecil.Implem/AssemblyName.cs
	  Mono.Cecil.Implem/Instruction.cs
	  Mono.Cecil.Implem/ExternTypeCollection.cs
	  Mono.Cecil.Implem/MarshalDesc.cs
	  Mono.Cecil.Implem/SecurityDeclarationCollection.cs
	  Mono.Cecil.Implem/OverrideCollection.cs
	  Mono.Cecil.Implem/ExceptionHandler.cs
	  Mono.Cecil.Implem/EmbeddedResource.cs
	  Mono.Cecil.Implem/ModuleReference.cs
	  Mono.Cecil.Implem/ParameterDefinitionCollection.cs
	  Mono.Cecil.Implem/EventDefinitionCollection.cs
	  Mono.Cecil.Implem/FieldDefinitionCollection.cs
	  Mono.Cecil.Implem/PropertyDefinitionCollection.cs
	  Mono.Cecil.Implem/ModuleDefinitionCollection.cs
	  Mono.Cecil.Implem/CustomAttributeCollection.cs
	  Mono.Cecil.Implem/VariableDefinitionCollection.cs
	  Mono.Cecil.Implem/TypeReferenceCollection.cs
	  Mono.Cecil.Implem/StructureReader.cs
	  Mono.Cecil.Implem/MethodDefinition.cs
	  Mono.Cecil.Implem/EventDefinition.cs
	  Mono.Cecil.Implem/FieldDefinition.cs
	  Mono.Cecil.Implem/InstructionCollection.cs
	  Mono.Cecil.Implem/StructureWriter.cs
	  Mono.Cecil.Implem/ModuleDefinition.cs
	  Mono.Cecil.Implem/CustomAttribute.cs
	  Mono.Cecil.Implem/VariableDefinition.cs
	  Mono.Cecil.Implem/TypeReference.cs
	  Mono.Cecil.Implem/TypeDefinitionCollection.cs
	  Mono.Cecil.Implem/AssemblyNameReferenceCollection.cs
	  Mono.Cecil.Implem/ReflectionReader.cs
	  Mono.Cecil.Implem/ReflectionWriter.cs
	  Mono.Cecil.Implem/PInvokeInfo.cs
	  Mono.Cecil.Implem/AssemblyDefinition.cs
	  Mono.Cecil.Implem/TypeDefinition.cs
	  Mono.Cecil.Implem/CodeReader.cs
	  Mono.Cecil.Implem/AggressiveReflectionReader.cs
	  Mono.Cecil.Implem/MethodDefinitionCollection.cs
	  Mono.Cecil.Implem/CodeWriter.cs
	  Mono.Cecil.Implem/SecurityDeclaration.cs
	  Mono.Cecil.Implem/LazyReflectionReader.cs
	  Mono.Cecil.Implem/LinkedResource.cs
	  Mono.Cecil.Implem/ParameterDefinition.cs
	  Mono.Cecil.Implem/PropertyDefinition.cs
	  Mono.Cecil.Implem/MethodBody.cs
	  Mono.Cecil.Implem/NestedTypeCollection.cs
	  Mono.Cecil.Implem/ResourceCollection.cs
	  Mono.Cecil.Implem/ExceptionHandlerCollection.cs:
		BIG changes in the visitor object model. Last one
		was causing ambiguous calls, and does not provides
		differences between an interface and a typedef for
		instance. This is corrected by suffixing the visit
		method by the name of what it is visiting, and by
		configuring some collection to stop the propagation
		of the visitor.

	* Mono.Cecil/ITypeDefinition.cs
	  Mono.Cecil/IArrayType.cs
	  CodeGen/templates/Utilities.cs
	  Mono.Cecil.Metadata/Utilities.cs
	  Mono.Cecil.Implem/ArrayType.cs
	  Mono.Cecil.Implem/TypeReference.cs
	  Mono.Cecil.Implem/ReflectionWriter.cs
	  Mono.Cecil.Implem/TypeDefinition.cs
	  Mono.Cecil.Implem/CodeWriter.cs
	  Mono.Cecil.Implem/Constants.cs
	  Mono.Cecil.Signatures/MarshalSig.cs:
		Work on the writing layer goes on.

2005-08-14  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/NativeType.cs
	  Mono.Cecil.Signatures/MarshalSig.cs
	  Mono.Cecil.Signatures/SignatureWriter.cs
	  Mono.Cecil.Signatures/Signature.cs:
		Work on signature writing.
	  Mono.Cecil.Implem/MethodDefinition.cs
	  Mono.Cecil.Implem/TypeDefinition.cs:
		Correct bugs in setting the hasThis field.

	* CodeGen/templates/ImageWriter.cs
	  Mono.Cecil.Binary/templates/ImageWriter.cs
	  Mono.Cecil/AssemblyKind.cs:
		Make assemblies executable on win32.
	  Mono.Cecil.Implem/TypeDefinition.cs:
		Mark new fields as loaded.
	  Mono.Cecil.Implem/ReflectionWriter.cs:
		Correct the style to patch provided by
		Sebastien Ros  <s.ros@evaluant.com>

2005-08-13  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/IMethod.cs
	  Mono.Cecil/ITypeDefinition.cs
	  Mono.Cecil/IModuleDefinition.cs
	  Mono.Cecil.Cil/OpCode.cs
	  Mono.Cecil.Cil/ICilWorker.cs
	  CodeGen/templates/ImageReader.cs
	  Mono.Cecil.Metadata/MetadataReader.cs
	  Mono.Cecil.Metadata/MetadataWriter.cs
	  Mono.Cecil.Metadata/MetadataRoot.cs
	  Mono.Cecil.Implem/ReflectionHelper.cs
	  Mono.Cecil.Implem/CilWorker.cs
	  Mono.Cecil.Implem/StructureReader.cs
	  Mono.Cecil.Implem/MethodDefinition.cs
	  Mono.Cecil.Implem/StructureWriter.cs
	  Mono.Cecil.Implem/ModuleDefinition.cs
	  Mono.Cecil.Implem/MethodReference.cs
	  Mono.Cecil.Implem/ReflectionReader.cs
	  Mono.Cecil.Implem/ReflectionWriter.cs
	  Mono.Cecil.Implem/TypeDefinition.cs
	  Mono.Cecil.Implem/CodeReader.cs
	  Mono.Cecil.Implem/CodeWriter.cs
	  Mono.Cecil.Implem/Constants.cs
	  Mono.Cecil.Implem/ParameterDefinition.cs
	  Mono.Cecil.Implem/MethodBody.cs
	  Mono.Cecil.Binary/ImageReader.cs
	  Mono.Cecil.Binary/MemoryBinaryWriter.cs
	  Mono.Cecil.Signatures/SignatureReader.cs
	  Mono.Cecil.Signatures/SignatureWriter.cs:
		On going work on the writing layer.

	* Mono.Cecil.Signatures/SignatureReader.cs:
		Fix a bug when reading chars inside a custom
		attribute signature.

2005-08-12  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/AssemblyFactory.cs
	  CodeGen/templates/ImageWriter.cs
	  CodeGen/templates/MetadataTableWriter.cs
	  CodeGen/templates/MetadataRowWriter.cs
	  Mono.Cecil.Metadata/MetadataTableWriter.cs
	  Mono.Cecil.Metadata/MetadataRowWriter.cs
	  Mono.Cecil.Metadata/MetadataWriter.cs
	  Mono.Cecil.Implem/StructureWriter.cs
	  Mono.Cecil.Binary/ImageWriter.cs
	  Mono.Cecil.Binary/MemoryBinaryWriter.cs:
		Use a custom binary writer instead of the old one.

	* Mono.Cecil/IMethod.cs
	  Mono.Cecil.Cil/BaseCodeVisitor.cs
	  Mono.Cecil.Cil/MethodHeader.cs
	  Mono.Cecil.Cil/ICodeVisitor.cs
	  Mono.Cecil.Implem/Instruction.cs
	  Mono.Cecil.Implem/MethodDefinition.cs
	  Mono.Cecil.Implem/FieldDefinition.cs
	  Mono.Cecil.Implem/ReflectionWriter.cs
	  Mono.Cecil.Implem/CodeReader.cs
	  Mono.Cecil.Implem/CodeWriter.cs
	  Mono.Cecil.Implem/MethodBody.cs:
		Ongoing work on the writing layer.

	* CodeGen/templates/Utilities.cs
	  CodeGen/templates/NamedCollectionImplem.cs
	  CodeGen/templates/MetadataRowWriter.cs
	  CodeGen/templates/LzNamedCollectionImplem.cs
	  CodeGen/cecil.xml
	  Mono.Cecil/IMethod.cs
	  Mono.Cecil/IAssemblyName.cs
	  Mono.Cecil/IModuleDefinition.cs
	  Mono.Cecil/AssemblyFactory.cs
	  Mono.Cecil.Metadata/MetadataRowWriter.cs
	  Mono.Cecil.Metadata/Utilities.cs
	  Mono.Cecil.Implem/ReflectionHelper.cs
	  Mono.Cecil.Implem/StructureReader.cs
	  Mono.Cecil.Implem/MethodDefinition.cs
	  Mono.Cecil.Implem/EventDefinition.cs
	  Mono.Cecil.Implem/FieldDefinition.cs
	  Mono.Cecil.Implem/StructureWriter.cs
	  Mono.Cecil.Implem/ModuleDefinition.cs
	  Mono.Cecil.Implem/MethodReference.cs
	  Mono.Cecil.Implem/TypeDefinitionCollection.cs
	  Mono.Cecil.Implem/ReflectionReader.cs
	  Mono.Cecil.Implem/ReflectionWriter.cs
	  Mono.Cecil.Implem/TypeDefinition.cs
	  Mono.Cecil.Implem/AggressiveReflectionReader.cs
	  Mono.Cecil.Implem/Constants.cs
	  Mono.Cecil.Implem/ParameterDefinition.cs
	  Mono.Cecil.Implem/PropertyDefinition.cs
	  Mono.Cecil.Signatures/SignatureWriter.cs:
		Ongoing work on the writing layer.
		Some fixes to the reading layer as well.

2005-08-11  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil.Signatures/SignatureReader.cs:
		Read Array signatures correctly.

	* Mono.Cecil/IMethodSignature.cs:
		Remove the setted for the return type.
	* Mono.Cecil.Implem/CilWorker.cs:
		Fix the build. Me idiot!
	* Mono.Cecil.Implem/Constants.cs:
		Remove unexisting type Variant.
	* Mono.Cecil.Implem/ReflectionHelper.cs:
		Complete the helper.

2005-08-10  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil.Cil/IMethodBody.cs
	  Mono.Cecil.Cil/ICilEmitter.cs
	  Mono.Cecil.Cil/ICilWorker.cs
	  Mono.Cecil.Implem/CilWorker.cs
	  Mono.Cecil.Implem/ReflectionWriter.cs
	  Mono.Cecil.Implem/MethodBody.cs
	  Mono.Cecil.Implem/CilEmitter.cs
	  Mono.Cecil.Signatures/SignatureReader.cs
	  Mono.Cecil.Signatures/SignatureWriter.cs:
		Prepare the api for the cil emitting.

	* CodeGen/templates/Utilities.cs
	  CodeGen/templates/MetadataRowReader.cs
	  CodeGen/templates/MetadataRowWriter.cs
	  Mono.Cecil.Metadata/Utilities.cs
	  Mono.Cecil.Metadata/MetadataRowReader.cs
	  Mono.Cecil.Metadata/MetadataRowWriter.cs:
		Fix the build on .net, i was using a sugar
		syntax for delegates that csc does not understand.
		Remove the coded index cache from the static class
		Utilities, and add one per row visitor.

	* Mono.Cecil/IMethodReturnType.cs
	  Mono.Cecil.Implem/MethodReturnType.cs
	  Mono.Cecil.Implem/ReflectionReader.cs
	  Mono.Cecil.Implem/ParameterDefinition.cs:
		Make IMethodReturn type inherits IHasMarshalSpec so
		that users can read marshaling info for return types,
		and implement it.

	* CodeGen/templates/ImageWriter.cs
	  Mono.Cecil.Binary/ImageWriter.cs
	  Mono.Cecil.Metadata/MetadataWriter.cs
	  Mono.Cecil.Implem/ReflectionWriter.cs:
		Cecil now emits assemblies understood by the .net clr.

2005-08-09  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/AssemblyKind.cs
	  CodeGen/templates/ImageWriter.cs
	  CodeGen/templates/ImageReader.cs
	  Mono.Cecil.Metadata/MetadataWriter.cs
	  Mono.Cecil.Binary/ImageWriter.cs
	  Mono.Cecil.Binary/ImageInitializer.cs
	  Mono.Cecil.Binary/ImageReader.cs:
		Lots of little fixes. Now dumpbin is coherent
		compared with an assembly emitted with csc or mcs
		but still not yet compatible with .net.

	* Mono.Cecil.Signatures/SignatureReader.cs:
		Fix an array out of range while trying to read
		fixed arrays signatures

	* CodeGen/templates/ImageWriter.cs
	  Mono.Cecil.Metadata/MetadataReader.cs
	  Mono.Cecil.Metadata/MetadataWriter.cs
	  Mono.Cecil.Implem/AssemblyName.cs
	  Mono.Cecil.Implem/StructureReader.cs
	  Mono.Cecil.Implem/ReflectionWriter.cs
	  Mono.Cecil.Binary/ImageCharacteristics.cs
	  Mono.Cecil.Binary/ImageWriter.cs
	  Mono.Cecil.Binary/Image.cs:
		Cecil now emits assemblies that are understood
		by Mono and Cecil itself. Still have troubles
		with Msft CLR.

2005-08-08  Jb Evain  <jbevain@gmail.com>

	* CodeGen/cecil-gen.rb
	  CodeGen/templates/MetadataTableReader.cs
	  CodeGen/templates/ImageWriter.cs
	  CodeGen/templates/MetadataTableWriter.cs
	  CodeGen/templates/BaseMetadataVisitor.cs
	  CodeGen/templates/MetadataRowReader.cs
	  CodeGen/templates/MetadataRowWriter.cs
	  CodeGen/cecil.xml
	  Mono.Cecil.Metadata/MetadataInitializer.cs
	  Mono.Cecil.Metadata/BaseMetadataVisitor.cs
	  Mono.Cecil.Metadata/MetadataTableReader.cs
	  Mono.Cecil.Metadata/MetadataTableWriter.cs
	  Mono.Cecil.Metadata/MetadataRowReader.cs
	  Mono.Cecil.Metadata/MetadataRowWriter.cs
	  Mono.Cecil.Metadata/MetadataWriter.cs
	  Mono.Cecil.Binary/ImageWriter.cs
	  Mono.Cecil.Binary/CLIHeader.cs
	  Mono.Cecil.Binary/ImageInitializer.cs:
		The writing layer almost works.

	* Mono.Cecil/AssemblyKind.cs
	  Mono.Cecil/TargetRuntime.cs
	  Mono.Cecil.dll.sources:
		Add thoses enumes to control assembly writing.
	* Mono.Cecil/AssemblyFactory.cs
	  Mono.Cecil/IReflectionVisitor.cs
	  Mono.Cecil/BaseReflectionVisitor.cs
	  Mono.Cecil/IAssemblyDefinition.cs
	  Mono.Cecil/IReflectionStructureVisitor.cs
	  Mono.Cecil/BaseStructureVisitor.cs
	  CodeGen/templates/ImageWriter.cs
	  CodeGen/templates/MetadataTableWriter.cs
	  CodeGen/templates/MetadataRowWriter.cs
	  CodeGen/templates/LzNamedCollectionImplem.cs
	  Mono.Cecil.Metadata/MetadataInitializer.cs
	  Mono.Cecil.Metadata/MetadataTableWriter.cs
	  Mono.Cecil.Metadata/MetadataRowWriter.cs
	  Mono.Cecil.Metadata/MetadataWriter.cs
	  Mono.Cecil.Metadata/MetadataStreamCollection.cs
	  Mono.Cecil.Implem/AssemblyName.cs
	  Mono.Cecil.Implem/StructureWriter.cs
	  Mono.Cecil.Implem/ModuleDefinition.cs
	  Mono.Cecil.Implem/TypeDefinitionCollection.cs
	  Mono.Cecil.Implem/ReflectionWriter.cs
	  Mono.Cecil.Implem/AssemblyDefinition.cs
	  Mono.Cecil.Binary/ImageWriter.cs
	  Mono.Cecil.Binary/ImageInitializer.cs
	  Mono.Cecil.Binary/Imports.cs:
		Things are now plugged. SaveAssembly will now emits
		a binary file. A broken file, but heh, at least it does.

2005-08-07  Jb Evain  <jbevain@gmail.com>

	* CodeGen/templates/ImageReader.cs
	  CodeGen/templates/ImageWriter.cs
	  CodeGen/templates/IMetadataVisitor.cs
	  Mono.Cecil.Binary/ImageReader.cs
	  Mono.Cecil.Binary/ImageWriter.cs
	  Mono.Cecil.Metadata/IMetadataVisitor.cs
	  Mono.Cecil.Metadata/BaseMetadataVisitor.cs
	  Mono.Cecil.Metadata/MetadataReader.cs
	  Mono.Cecil.Metadata/MetadataWriter.cs
	  Mono.Cecil.Metadata/MetadataStreamCollection.cs:
		Simplify IMetadataVisitor.
		Work on the writing layer, closer to have something testable
		than ever.

	* CodeGen/cecil.xml
	  CodeGen/templates/ImageWriter.cs
	  Mono.Cecil.Metadata/MetadataWriter.cs
	  Mono.Cecil.Binary/PEOptionalHeader.cs
	  Mono.Cecil.Binary/ImageWriter.cs
	  Mono.Cecil.Binary/Imports.cs:
		don't stop don't stop come ON!

	* CodeGen/templates/ImageWriter.cs
	  CodeGen/templates/ImageReader.cs
	  CodeGen/templates/Section.cs
	  Mono.Cecil.Binary/Image.cs
	  Mono.Cecil.Binary/ImageReader.cs
	  Mono.Cecil.Binary/ImageInitializer.cs
	  Mono.Cecil.Binary/ImageWriter.cs
	  Mono.Cecil.Binary/Section.cs
	  Mono.Cecil.Metadata/MetadataReader.cs
	  Mono.Cecil.Metadata/MetadataWriter.cs
	  Mono.Cecil.Implem/StructureReader.cs
	  Mono.Cecil.Implem/StructureWriter.cs
	  Mono.Cecil.Implem/CodeWriter.cs:
		Some writing layer love.

	* CodeGen/templates/ImageWriter.cs
	  CodeGen/templates/ImageReader.cs
	  Mono.Cecil.Binary/Imports.cs
	  Mono.Cecil.Binary/ImageReader.cs
	  Mono.Cecil.Binary/ImageInitializer.cs
	  Mono.Cecil.Binary/ImageWriter.cs:
		Read an write correctly the Hint/Name table
		at the end of the .text section.

	* CodeGen/templates/ImageWriter.cs
	  Mono.Cecil.Metadata/MetadataWriter.cs
	  Mono.Cecil.Binary/ImageWriter.cs
	  Mono.Cecil.Binary/ImageInitializer.cs:
		More writing layer stuff.

2005-08-06  Jb Evain  <jbevain@gmail.com>

	* CodeGen/templates/ImageWriter.cs
	  CodeGen/templates/MetadataTableWriter.cs
	  Mono.Cecil.Metadata/MetadataInitializer.cs
	  Mono.Cecil.Metadata/MetadataTableWriter.cs
	  Mono.Cecil.Metadata/StringsHeap.cs
	  Mono.Cecil.Metadata/BlobHeap.cs
	  Mono.Cecil.Metadata/MetadataWriter.cs
	  Mono.Cecil.Metadata/UserStringsHeap.cs
	  Mono.Cecil.Metadata/TableCollection.cs
	  Mono.Cecil.Metadata/TablesHeap.cs
	  Mono.Cecil.Metadata/MetadataHeap.cs
	  Mono.Cecil.Metadata/GuidHeap.cs
	  Mono.Cecil.Metadata/MetadataStream.cs
	  Mono.Cecil.Implem/StructureWriter.cs
	  Mono.Cecil.Implem/ReflectionWriter.cs
	  Mono.Cecil.Implem/CodeWriter.cs
	  Mono.Cecil.Binary/ImageWriter.cs
	  Mono.Cecil.Binary/ImageInitializer.cs:
		Playing lego with bricks from the writing layer.

	* Mono.Cecil.dll.sources:
		Updated.
	* CodeGen/templates/CLIHeader.cs
	  CodeGen/templates/PEOptionalHeader.cs
		Blah.
	* CodeGen/cecil.xml
	  Mono.Cecil.Binary/CLIHeader.cs
	  Mono.Cecil.Binary/PEOptionalHeader.cs:
	  Mono.Cecil.Binary/PEFileHeader.cs
		On going work on the writing layer

	* CodeGen/templates/ImageWriter.cs
	  CodeGen/templates/ImageReader.cs
	  Mono.Cecil.Binary/BaseImageVisitor.cs
	  Mono.Cecil.Binary/ImageReader.cs
	  Mono.Cecil.Binary/ImageInitializer.cs
	  Mono.Cecil.Binary/ImageWriter.cs
	  Mono.Cecil.Metadata/BaseMetadataVisitor.cs
	  Mono.Cecil.Metadata/MetadataReader.cs
	  Mono.Cecil.Metadata/MetadataInitializer.cs
	  Mono.Cecil.Metadata/MetadataWriter.cs
	  Mono.Cecil.Metadata/MetadataStream.cs
	  Mono.Cecil.Implem/ReflectionWriter.cs
	  Mono.Cecil.Implem/CodeWriter.cs:
		Add helpers visitor.
		On going work on the writing layer.

	* CodeGen/templates/Utilities.cs
	  CodeGen/templates/MetadataRowReader.cs
	  CodeGen/templates/MetadataRowWriter.cs
	  Mono.Cecil.Metadata/StringsHeap.cs
	  Mono.Cecil.Metadata/MetadataRowReader.cs
	  Mono.Cecil.Metadata/MetadataRowWriter.cs
	  Mono.Cecil.Metadata/MetadataReader.cs
	  Mono.Cecil.Metadata/Utilities.cs
	  Mono.Cecil.Metadata/BlobHeap.cs
	  Mono.Cecil.Metadata/MetadataWriter.cs
	  Mono.Cecil.Metadata/MetadataHeap.cd
	  Mono.Cecil.Metadata/GuidHeap.cs:
		On going work on the writing layer.

	* CodeGen/templates/MetadataTableWriter.cs
	  Mono.Cecil.Metadata/MetadataTableWriter.cs
	  Mono.Cecil.Metadata/MetadataWriter.cs:
		On going work on the writing layer.
	* Mono.Cecil.Implem/StructureWriter.cs:
		Correctly override methods
	* CodeGen/templates/MetadataRowWriter.cs
	  Mono.Cecil.Metadata/MetadataRowWriter.cs
	  Mono.Cecil.Implem/ReflectionWriter.cs:
		Fix build warnings.

	* Mono.Cecil/IResource.cs
	  Mono.Cecil.Implem/AssemblyLinkedResource.cs
	  Mono.Cecil.Implem/EmbeddedResource.cs
	  Mono.Cecil.Implem/LinkedResource.cs
	  Mono.Cecil.Implem/Resource.cs:
		Rename field Attributes to Flags for the sake of consistency.
	* Mono.Cecil.Metadata/MetadataWriter.cs
	  Mono.Cecil.Implem/ReflectionWriter.cs
	  Mono.Cecil.Implem/StructureWriter.cs:
		On going work on the writing layer.
	* Mono.Cecil.Implem/StructureReader.cs:
		Style.

	* Mono.Cecil/IAssemblyName.cs
	  Mono.Cecil.Implem/AssemblyName.cs
	  Mono.Cecil.Implem/StructureReader.cs:
		Add an AssemblyFlag property to an IAssemblyNameReference,
		implement it, and read it.

2005-08-04  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil.Implem/ReflectionReader.cs:
		set a correct name to nameless parameters

	* Mono.Cecil.Signatures/SignatureReader.cs:
		don't crash on null custom attributes

2005-08-03  Jb Evain  <jbevain@gmail.com>

	* CodeGen/templates/OpCodes.cs
	  Mono.Cecil.Cil/OpCodes.cs
	  Mono.Cecil.Cil/OpCode.cs:
		Revert modifications to reduce code. OpCodes::.ctors were
		not called.

	* Mono.Cecil.Implem/ReflectionReader.cs:
		Make sure parameters are read even if there is no
		corresponding Param row. Thanks Cesar for the hint.

	* Mono.Cecil.Metadata/MetadataWriter.cs
	  Mono.Cecil.Metadata/UserStringsHeap.cs
	  Mono.Cecil.Metadata/GuidHeap.cs
	  Mono.Cecil.Implem/CodeReader.cs:
		On going work on the writing layer

	* CodeGen/cecil-gen.rb
	  CodeGen/cecil-gen-sources.rb
		make executable
	* *.*: set svn:eol-style to native

	* Mono.Cecil/BaseStructureVisitor.cs
	  Mono.Cecil/BaseReflectionVisitor.cs
	  Mono.Cecil.Implem/BaseReflectionReader.cs:
		Add empty visitors for the sake of simplicity
	* Mono.Cecil.Implem/StructureReader.cs
	  Mono.Cecil.Implem/ReflectionReader.cs:
		Inherit new visitors

2005-08-03  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil.Implem/ReflectionReader.cs
	  Mono.Cecil.Implem/AggressiveReflectionReader.cs
	  Mono.Cecil.Implem/LazyReflectionReader.cs
	  Mono.Cecil.Implem/CodeReader.cs:
		Modify and add helpers to avoid lots of casts.
		Correct a bug in custom attributes attribution.

2005-08-02  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil.Signatures/TypeSpec.cs:
		Don't restrain the SigType
	* Mono.Cecil.Implem/AggressiveReflectionReader.cs:
		Set PInvokeInfos on the correct method

2005-07-30  Jb Evain  <jbevain@gmail.com>

	* CodeGen/cecil-gen.rb
	  CodeGen/cecil-gen-sources.rb:
		make them executable
	* CodeGen/cecil-gen-types: style
	* CodeGen/templates/ImageWriter.cs
	  Mono.Cecil.Binary/ImageWriter.cs:
		Prelimimary work on assembly writing

2005-07-29  Jb Evain  <jbevain@gmail.com>

	* CodeGen/cecil-gen-types.rb
	  CodeGen/templates/MetadataTableWriter.cs
	  CodeGen/templates/MetadataRowWriter.cs
	  Mono.Cecil/AssemblyFactory.cs
	  Mono.Cecil.Metadata/MetadataTableWriter.cs
	  Mono.Cecil.Metadata/MetadataRowWriter.cs
	  Mono.Cecil.Implem/StructureWriter.cs
	  Mono.Cecil.Implem/ReflectionWriter.cs:
		Preliminary work on assembly writing

2005-07-28  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/AssemblyFactory.cs
	  Mono.Cecil.Implem/StructureWriter.cs
		Preliminary work on assembly writing

	* Mono.Cecil/IMetadataTokenProvider.cs
	  Mono.Cecil/IMember.cs
	  Mono.Cecil/IParameter.cs:
		Add a MetadataToken property on searchable items
	* Mono.Cecil.Metadata/MetadataToken.cs:
		Add a factory method to create token from row number
	* Mono.Cecil.Implem/TypeReference.cs
	  Mono.Cecil.Implem/MemberReference.cs
	  Mono.Cecil.Implem/ParameterDefinition.cs:
		Implement the token property
	* Mono.Cecil.Implem/ReflectionReader.cs
	  Mono.Cecil.Implem/AggressiveReflectionReader.cs
	  Mono.Cecil.Implem/LazyReflectionReader.cs:
		Set the token property on reading
	* Mono.Cecil/IModuleDefinition.cs
	  Mono.Cecil.Implem/ModuleDefinition.cs
	  Mono.Cecil.Implem/ReflectionReader.cs:
		Add methods to lookup items from their tokens

2005-07-27  Jb Evain  <jbevain@gmail.com>

	* CodeGen/templates/OpCodes.cs
	  Mono.Cecil.Cil/OpCodes.cs
	  Mono.Cecil.Cil/OpCode.cs:
		Changes to reduce the size of the cache ctor

2005-07-22  Raja R Harinath  <rharinath@novell.com>

	* Makefile (MCS): Allow compiler to be overriden.

2005-07-21  Todd Berman  <tberman@off.net>

	* configure: Add a small stub configure (stolen from mcs) to set the
	prefix.
	* mono-cecil.pc.in: Add a mono-cecil.pc.in to allow for installation
	according to the new "Libraries with Unstable API" Wiki documentation.
	* Makefile: Add an install an a mono-cecil.pc target to allow for
	installation and creation of the pc file.

2005-07-14  Jb Evain  <jbevain@gmail.com>

	* CodeGen/templates/ImageReader.cs
	  Mono.Cecil.Binary/IBinaryVisitor.cs
	  Mono.Cecil.Binary/Image.cs
	  Mono.Cecil.Binary/ImageInitializer.cs
	  Mono.Cecil.Binary/Imports.cs
	  Mono.Cecil.Binary/ImageReader.cs:
		Read Imports Tables

2005-07-14  Jb Evain  <jbevain@gmail.com>

	* CodeGen/cecil-gen.rb:
		make codegen works on ruby 1.8.2
	* CodeGen/templates/*.cs
	  Mono.Cecil.Metadata/*.cs:
	  	style

2005-07-13  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil.Implem/VariableDefinition.cs:
		set the index field

2005-07-13  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil.dll.sources: regenerated
	* Mono.Cecil.Signatures/SignatureReader.cs:
		Fix compilation warnings
	* Mono.Cecil/IArrayType.cs
	  Mono.Cecil.Implem/ArrayType.cs:
	  	Add Rank helper property
	* Mono.Cecil/ITypeDefinition.cs
	  Mono.Cecil.Implem/TypeDefinition.cs:
	  	Add Constructors helper property

2005-07-11  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/IMethod.cs
	  Mono.Cecil.Implem/Instruction.cs
	  Mono.Cecil.Implem/ExceptionHandler.cs
	  Mono.Cecil.Implem/MethodDefinition.cs
	  Mono.Cecil.Implem/Label.cs
	  Mono.Cecil.Implem/CodeReader.cs
	  Mono.Cecil.Implem/MethodBody.cs
	  Mono.Cecil.Implem/CilEmitter.cs
	  Mono.Cecil.Cil/ILabel.cs
	  Mono.Cecil.Cil/IInstruction.cs
	  Mono.Cecil.Cil/IExceptionHandler.cs
	  Mono.Cecil.Cil/IMethodBody.cs
	  Mono.Cecil.Cil/ICilEmitter.cs:
		Preliminary changes on the instruction model before
		changing of latptop

2005-07-08  Jb Evain  <jbevain@gmail.com>

   * Every generated files: use \n instead of \r\n

2005-07-07  Jb Evain  <jbevain@gmail.com>

	* *.*: use Mono coding conventions
	* Mono.Xml/*.*: update Mono.Xml from corlib
	* Mono.Cecil.Metadata/CultureUtils.cs:
		Ensure that Cecil works under Mono

2005-07-02  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil/IMethod.cs
	  Mono.Cecil/IProperty.cs
	  Mono.Cecil/IEvent.cs
	  Mono.Cecil/IField.cs
	  Mono.Cecil/ITypeDefinition.cs
	  Mono.Cecil.Implem/MethodDefinition.cs
	  Mono.Cecil.Implem/PropertyDefinition.cs
	  Mono.Cecil.Implem/EventDefinition.cs
	  Mono.Cecil.Implem/FieldDefinition.cs
	  Mono.Cecil.Implem/TypeDefinition.cs:
		Add some funky sugar attributes,
		more to come

2005-07-01  Jb Evain  <jbevain@gmail.com>

	* CodeGen/cecil-gen.rb,
	  CodeGen/templates/MetadataTableWriter.cs,
	  CodeGen/templates/MetadataRowWriter.cs,
	  Mono.Cecil.Metadata/MetadataTableWriter.cs,
	  Mono.Cecil.Metadata/MetadataRowWriter.cs,
	  Mono.Cecil.Metadata/MetadataWriter.cs:
		Add metadata writing visitors
	* Mono.Cecil.Metadata/CultureUtils.cs:
		Be sure to use every possible culture infos.
	* Mono.Cecil.Cil/IVariable.cs,
	  Mono.Cecil.Implem/VariableDefinition.cs,
	  Mono.Cecil.Implem/CodeReader.cs,
	  Mono.Cecil.Implem/CilEmitter.cs:
		Add an index property to local variables
	* Mono.Cecil.Metadata/MetadataReader.cs,
	  Mono.Cecil.Metadata/MetadataRowReader.cs,
	  CodeGen/templates/MetadataRowReader.cs,
	  Mono.Cecil.Metadata/TablesHeap.cs:
		Handles null heaps
	* Mono.Cecil.Implem/StructureWriter.cs,
	  Mono.Cecil.Implem/ReflectionController.cs,
	  Mono.Cecil.Implem/ReflectionWriter.cs:
		Assemble writing classes

2005-06-28  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil.Implem/ReflectionReader.cs: style
	* Mono.Cecil.Implem/LazyReflectionReader.cs:
		read the last property as well.

2005-06-21  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil.Implem/ReflectionReader.cs: Correct a bug that prevents
		assemblies to be readed if they have an entrypoint. Suggestion by
		Mario Sopena
	* Mono.Cecil.Implem/CodeReader.cs: Use sbyte not to lose negatives
		offsets. Suggestion by Vladislav Spivak
	* CodeGen/cecil.xml,
	  Mono.Cecil.Cil/OpCodes.cs,
	  Mono.Cecil.Cil/StackBehaviour.cs: Add an PopAll enumeration value
		for StackBehaviour, and set the StackBehaviourPop property for
		leave and leave.s opcodes to it. Suggested by Vladislav Spivak

2005-06-12  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil.Implem/TypeDefinition.cs: Set the declaring type
		to this when defining a nested type.

2005-06-07  Jb Evain  <jbevain@gmail.com>

	* Mono.Cecil.dll.sources,
	* CodeGen/cecil.xml,
	* Mono.Cecil/IReflectionVisitor.cs,
	* Mono.Cecil/INestedTypeCollection.cs,
	* Mono.Cecil/ITypeDefinition,
	* Mono.Cecil.Implem/ReflectionReader.cs,
	* Mono.Cecil.Implem/ReflectionWriter.cs,
	* Mono.Cecil.Implem/TypeDefinition.cs,
	* Mono.Cecil.Implem/NestedTypeCollection:
		Add a collection of nested types for type definition

	* Mono.Cecil.Implem/ModuleDefinition.cs: simplify type creation

2005-06-07  Jb Evain  <jbevain@gmail.com>

	* ChangeLog: Cecil has now ChangeLogs. Let use them.
