Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'mcs/class/PEAPI/ChangeLog')
-rw-r--r--mcs/class/PEAPI/ChangeLog640
1 files changed, 640 insertions, 0 deletions
diff --git a/mcs/class/PEAPI/ChangeLog b/mcs/class/PEAPI/ChangeLog
new file mode 100644
index 00000000000..98323b1b74c
--- /dev/null
+++ b/mcs/class/PEAPI/ChangeLog
@@ -0,0 +1,640 @@
+2006-02-22 Ankit Jain <jankit@novell.com>
+
+ * Metadata.cs (TypeAttr): Add [Flags] attribute.
+
+2006-02-20 Ankit Jain <jankit@novell.com>
+
+ * PEAPI.cs (PEFileException): Update error message.
+ * Metadata.cs: Update to throw PEFileException instead of Exception.
+
+2006-02-19 Ankit Jain <jankit@novell.com>
+
+ * Metadata.cs (Module): Implment IExternRef to allow reference to types
+ in 'this' module.
+
+2006-02-15 Raja R Harinath <rharinath@novell.com>
+
+ * Metadata.cs (BoundArray.CompressSignedNum): Document the
+ transformation. Avoid a few casts.
+
+2006-02-15 Ankit Jain <jankit@novell.com>
+
+ * Metadata.cs (BoundArray.CompressSignedNum): New. Encode signed values,
+ used only for encoding lower bounds of arrays.
+ (BoundArray.TypeSig): Use new CompressSignedNum to encode lower bounds.
+
+2006-02-08 Ankit Jain <jankit@novell.com>
+
+ * Metadata.cs (BoundArray.ctor): Change param 'upBounds' to sizes.
+ (MetaData.CompressNum): Fix range check.
+
+2006-01-31 Ankit Jain <jankit@novell.com>
+
+ * Metadata.cs (Op.readonly_): New.
+
+2006-01-19 Ankit Jain <jankit@novell.com>
+
+ * Metadata.cs (GenericParameter.GetCodedIx): Override. Return coded index
+ for HasCustomAttr.
+ (MetaData.BuildMetaData): Sort CustomAttribute table at the end.
+
+2006-01-16 Ankit Jain <jankit@novell.com>
+
+ * Metadata.cs (PInvokeAttr): Add 'bestfit_on', 'bestfit_off', 'bestfit_mask',
+ 'charmaperror_on' & 'charmaperror_off'.
+
+2006-01-13 Ankit Jain <jankit@novell.com>
+
+ * Metadata.cs (GenericMethodSig): Ensure sig is added to the blob only once.
+
+2006-01-10 Ankit Jain <jankit@novell.com>
+
+ * Metadata.cs (GenParam): Don't use GetTypeSpec to create typespec for GenParam.
+ Adding required methods directly to GenParam.
+ * PEAPI.cs (PEFile.AddGenericParam): Add it to the TypeSpec table directly.
+
+2006-01-09 Ankit Jain <jankit@novell.com>
+
+ * PEAPI.cs (PEFile.AddGenricParam): New. Adds a GenParam to the TypeSpec
+ table.
+ * Metadata.cs (GenParam): Inherit from 'Class' instead of 'Type'.
+ (GenParam.name): Rename to param_name as it hides Class.name .
+ (GenParam.GetTypeSpec): Override to create TypeSpec for genparam.
+
+2006-01-08 Ankit Jain <jankit@novell.com>
+
+ * Metadata.cs (TypeOp): Add 'constrained' op.
+
+2006-01-07 Ankit Jain <jankit@novell.com>
+
+ * Metadata.cs (GenericParamAttributes): New.
+ (MetaDataElement.Row): Always set value.
+ (GenericParameter): Update to use GenericParameterAttributes.
+ (GenericParameterConstraint.SortKey): New. override to support sorting.
+ (ClassDef.AddGenericParameter):
+ (MethodDef.AddGenericParameter): New overloads for accepting attributes also.
+
+2006-01-06 Ankit Jain <jankit@novell.com>
+
+ * Metadata.cs (UIntConst): Change constructor param from signed int/sbyte/etc to
+ unsigned.
+ (UIntConst.GetBlobIndex):
+ (UIntConst.Write): Change use of signed types to unsigned ones.
+
+2006-01-06 Ankit Jain <jankit@novell.com>
+
+ * PEAPI.cs (PEFile.AddGenericClass): New. Adds a GenericTypeInst to the TypeSpec table.
+ * Metadata.cs (GenericTypeInst): Change base class from 'Type' to 'Class'.
+ (GenericTypeInst.GetTypeSpec):
+ (GenericTypeInst.BuildTables):
+ (GenericTypeInst.Size):
+ (GenericTypeInst.Write):
+ (GenericTypeInst.GetCodedIx): Implement these for GenericTypeInst.
+ (ClassDef.SetSuper): Set typeIndexChecked to false if 'super' is not GenericTypeInst.
+ Fixup of typeIndex is not required for GenericTypeInst .
+ (ClassDef.CheckTypeIndex): Recursively fix typeIndex if superType is ClassDef.
+ (MetaData.BuildMetaData): BuildTable for TypeSpec.
+
+2005-12-24 Jb Evain <jbevain@gmail.com>
+
+ * Metadata.cs (Property): Add a new 'instance' field.
+ (Property.SetInstance): New mutator for the instance field.
+ (Property.BuildTables): Emit the correct property tag depending on the instance field.
+
+2005-12-14 Ankit Jain <jankit@novell.com>
+
+ * Metadata.cs (BoundArray.ctor): Don't calculate sizes if upBounds is
+ null.
+
+2005-12-12 Ankit Jain <jankit@novell.com>
+
+ * Metadata.cs (TypeAttr): Add VisibilityMask.
+
+2005-12-09 Ankit Jain <jankit@novell.com>
+
+ * Metadata.cs (Method.ctor): Remove rType parameter.
+ (Method.GetRetType): Remove.
+ (Method.AddCallConv): Make it abstract.
+ (Method.GetSigIx): Likewise.
+ (MethodDef): Override and implement abstract methods from Method class.
+ (MethodRef): Likewise.
+ (MethodSpec): Change base class from MetaDataElement to Method. Override
+ abstract methods from Method but throw Exception as they are not meant to be used here.
+ (MethodDef.TypeSig): Write gen_param_count before num of params.
+ (ClassRef.AddMethod): New overload with an extra gen_param_count param.
+ * PEAPI.cs (PEFile.AddMethodToTypeSpec): New overload with an extra gen_param_count
+ param.
+ (PEFile.AddMethodSpec): Change return type from void to Method.
+
+2005-12-05 Ankit Jain <jankit@novell.com>
+
+ * Metadata.cs (GenParamType): New enum.
+ (CallConv): Add [Flags] attribute.
+ (GenParam): New. Replaces ..
+ (MVar): .. this ..
+ (GenericTypeSpec): .. and this.
+ (GenericTypeInst.ctor): Use PrimitiveType.GenericInst.GetTypeIndex () instead
+ of hard-coded 0x15.
+ (GenericTypeInst.TypeSig): First byte should the 0x0A (GENERIC_INST).
+ (Method.gen_param_count): New. Num of generic parameters.
+ (MethodDef.ctor): Use overload.
+ (MethodDef.TypeSig): Write gen_param_count if callConv is Generic.
+ (MethodRef.GenParamCount): New.
+ (MethodRef.TypeSig): Write gen_param_count if callConv is Generic.
+ (PrimitiveType.Var): New.
+ (PrimitiveType.MVar): New.
+ (PrimitiveType.GenericInst): New.
+
+2005-11-21 Ankit Jain <jankit@novell.com>
+
+ * Metadata.cs (MetaData.WriteCodedIndex): Fix indentation.
+
+2005-11-21 Ankit Jain <jankit@novell.com>
+
+ * Metadata.cs (GenericParameter.SortKey2): New. Use index as the secondary key.
+ (GenericParameter.Size): Set size correctly.
+ (GenericParameter.Write): Use StringsIndex to write the index.
+ (MetaData.WriteTildeStream): Emit 2,0 as version for NET_2_0 profile.
+ (MetaData.version): Use 'v2.0.50727' for NET_2_0 profile.
+ (MetaData.BuildMetaData): Build and sort GenericParam, MethodSpec and
+ GenericParamConstraint tables only for NET_2_0 profile.
+
+2005-09-16 Ankit Jain <jankit@novell.com>
+
+ * PEAPI.cs: Clean up indentation. Split into ...
+ Metadata.cs, Code.cs, PEAPI.cs: ... these.
+
+2005-09-08 Ankit Jain <jankit@novell.com>
+
+ * PEAPI.cs (FileImage.stackReserve): New. Set to default value of 0x100000 (1Mb).
+ (FileImage.WritePEHeader): Write stackReserve instead of the default value.
+ (PEFile.SetStackReserve): Set stack reserve for fileImage.
+
+2005-09-06 Ankit Jain <jankit@novell.com>
+
+ * PEAPI.cs (MetaData.WriteTildeStream): Change minor version back to 0.
+
+2005-08-30 Ankit Jain <jankit@novell.com>
+
+ * PEAPI.cs (MetaData.WriteTildeStream): Change minor version to 1.
+
+2005-08-29 Ankit Jain <jankit@novell.com>
+
+ * PEAPI.cs (CustomMarshaller.ctor): New.
+ (CustomMarshaller.ToBlob): Emit marshallerName and cookie strings with
+ their lengths.
+
+2005-08-26 Ankit Jain <jankit@novell.com>
+
+ * PEAPI.cs (PEFile.ctor): Restore old constructor overload to avoid
+ changing public API.
+
+2005-08-26 Ankit Jain <jankit@novell.com>
+
+ * PEAPI.cs (IResolutionScope): New. Empty interface.
+ (ClassRef): Implement IResolutionScope.
+ (ClassRef.parent): Change type from ResolutionScope to IResolutionScope.
+ (ClassRef.AddClass): New. Add nested class.
+ (ClassRef.AddValueClass): New. Add nested value class.
+
+2005-08-23 Ankit Jain <jankit@novell.com>
+
+ * PEAPI.cs (MetaData.version): Change from 1.0.3705 to 1.1.4322.
+
+2005-08-23 Ankit Jain <jankit@novell.com>
+
+ * PEAPI.cs (MSCorLib.systemClasses): Change type from ClassRef[] to
+ Class[].
+ (MSCorLib.ctor): Add assembly ref to mscorlib for non-mscorlib assemblies
+ only.
+ (MSCorLib.AddClass): Use Class instead of ClassRef.
+ (MSCorLib.GetSpecialClass): Change return type to Class from ClassRef.
+ Don't instantiate object of SystemClass if this assembly is mscorlib.
+ (MSCorLib.SetSpecialSystemClass): New. Set a System.* class for primitive
+ types, used for compiling mscorlib.
+ (MSCorLib.GetValueClass): Change to handle new type of systemClasses.
+ (MSCorLib.ValueType),
+ (MSCorLib.EnumType): Don't instantiate ClassRef if this assembly is mscorlib.
+ (ClassDef.ctor): Don't superType to System.Object for System.Object and <Module>.
+ (ClassDef.MakeValueClass): Set typeIndex to ValueType's typeIndex.
+ (ClassDef.IsValueType),
+ (ClassDef.IsEnum): Use "==" instead of .CompareTo for string comparison.
+ (ClassDef.AddNestedClass): Set typeIndexChecked = true for the nested class.
+ (PEFile.isMSCorlib): New. bool field.
+ (PEFile.ctor): Move all ctor logic into one overload and call that from others.
+ (PEFile.ctor): Add outputDir parameter.
+ (PEFile.SetName): Set name of the assembly and set isMSCorlib accordingly.
+ (PEFile.IsMSCorlib): New. bool Property.
+ (PEFile.AddClass): Call overload.
+ (PEFile.AddClass): Set superType and SetSpecialSystemClass if compiling mscorlib.
+ (PEFile.AddValueClass): Call MakeValueClass only if the class is not System.ValueType
+ or System.Enum itself, else set the supertype correctly.
+
+2005-08-16 Ankit Jain <jankit@novell.com>
+
+ * PEAPI.cs (FieldAttr): Move HasFieldMarshal from FieldDef to this.
+ (ParamAttr): Move HasDefault and HasFieldMarshal from Param to this.
+ (ManifestResource.ctor): Use 'mres' param to clone.
+ (MethodDef.ret_param): New.
+ (MethodDef.AddRetTypeMarshallInfo): New.
+ (MethodDef.TypeSig): Set seqNo for ret_param to zero.
+ (MethodDef.BuildTables): Add ret_param to Param table, and BuildTables
+ for it.
+ (FixedSysString): New. Class to represent Fixed SysString native type.
+ (NativeArray): Rename len to numElem. Init numElem, parNum and elemMult
+ to -1.
+ (NativeArray.ctor): Uncomment ctor with one param (elemType).
+ (NativeArray.ctor): Move ctor logic to the one with all params.
+ (NativeArray.ToBlob): Emit values in correct order.
+ (SafeArray.hasElemType): New. bool var to indicate presence of ElemType.
+ (SafeArray.ctor): New. Parameterless constructor.
+ (SafeArray.ToBlob): Emit correctly.
+ (FixedArray.ctor): Remove elemType param.
+ (FixedArray.ToBlob): Don't emit elemType.
+
+2005-08-08 Ankit Jain <jankit@novell.com>
+
+ * PEAPI.cs (CodeBlock): Set maxCodeSize to 255 instead of 256 for checking
+ Fat format.
+ (CILInstructions.CheckCode): Use 255 instead of 256 for checking Fat format.
+
+2005-08-08 Ankit Jain <jankit@novell.com>
+
+ * PEAPI.cs (FileImage.WriteCLIHeader): Move the check for no entrypoint
+ in case of an EXE to ilasm/codegen/CodeGen.cs to avoid creating unnecessary
+ .exe.
+
+2005-08-05 Ankit Jain <jankit@novell.com>
+
+ * PEAPI.cs (FileImage.WriteCLIHeader): Throw Exception if an EXE has been
+ requested but the source file has no entrypoint defined.
+
+2005-08-05 Ankit Jain <jankit@novell.com>
+
+ * PEAPI.cs (TypeAttr): Add HasSecurity.
+ (MethAttr): Likewise.
+ (SecurityAction): New enum.
+ (DeclSecurity.ctor): Add 'byte []' as the third parameter.
+ (DeclSecurity.BuildTables): Write the byte array to the blob.
+ (MetaData.AddDeclSecurity): Add DeclSecurity to declsec_list.
+ (MetaData.BuildMetaData): Call BuildTables for declsec_list members.
+ (PEFile.AddDeclSecurity): New. Add DeclSecurity to metaData.
+
+2005-04-30 Ankit Jain <ankit@corewars.org>
+
+ * PEAPI.cs (InterfaceImpl.SortKey): New.
+ (MetaData.BuildMetaData): Sort InterfaceImpl table.
+ (MethodSemantics.SortKey): Compute key correctly.
+
+2005-04-18 Ankit Jain <ankit@corewars.org>
+
+ * PEAPI.cs (ManifestResource.InitResource): New. Used by constructors
+ to initialize the resource.
+ (ManifestResource.ctor): New. Constructor to accept resource as a
+ byte array.
+ (ManifestResource.ctor): New. Constructor to accept an object of self.
+ (ManifestResource.BuildTables): Update.
+ (MetaData.AddResource): New. Add the resource to the list, adjust
+ resourcesSize.
+ (MetaData.WriteResource): New. Write resources to the FileImage.
+ (PEFile.AddExternalManagedResource): New. Add a new resource.
+ (PEFile.GetResource): New. Get resource by name.
+ (PEFile.GetResources): New. Get array of resources.
+
+2005-04-12 Ankit Jain <ankit@corewars.org>
+
+ * PEAPI.cs (CustomAttribute.ctor): Dont throw
+ NotYetImplementedException.
+ (MethodSemantics.SortKey): Should be sorted by
+ 'Association' column.
+
+2005-04-08 Ankit Jain <radical@corewars.org>
+
+ * PEAPI.cs (MSCorLib.GetSpecialClass): Don't encode
+ System.ValueType and System.Enum as value types.
+ (ValueClass): New enum.
+ (Class.MakeValueClass): Add a 'ValueClass' parameter.
+ (ClassDef.MakeValueClass): Set supertype to ValueType or Enum
+ according to ValueClass parameter.
+ (IsValueType,IsEnum): New. Test if type is System.ValueType or
+ System.Enum.
+ (ClassDef.AddNestedClass): Don't encode System.ValueType and
+ System.Enum as value types.
+
+2005-03-17 Ankit Jain <radical@corewars.org>
+
+ * PEAPI.cs: Metadata tables that must be sorted are sorted now.
+ Fixes the code for ParamAttr.Opt. Fix bug #73517.
+
+2004-12-08 Sebastien Pouliot <sebastien@ximian.com>
+
+ * PEAPI.cs: Added support for allocating and storing strongname
+ signatures when a .publickey directive is present in source. Fix bug
+ #69721.
+
+2004-12-01 Jackson Harper <jackson@ximian.com>
+
+ * PEAPI.cs: Allow underlying types of ByteArrConsts to be set when
+ they are used as field init data.
+
+2004-07-29 Martin Baulig <martin@ximian.com>
+
+ * PEAPI.cs (Module.Guid): New public property.
+
+2004-07-27 Martin Baulig <martin@ximian.com>
+
+ * PEAPI.cs (CILInstructions.Offset): New public property.
+
+2004-07-23 Jackson Harper <jackson@ximian.com>
+
+ * PEAPI.cs: Make the type index modifiable so ClassRefInsts will
+ be emitted properly. This is in desperate need of some API love.
+
+2004-07-21 Jackson Harper <jackson@ximian.com>
+
+ * PEAPI.cs: Do all the index size checks. I always wondered why
+ the code was like that and finally realized today that it was like
+ that because it was wrong. Wait until the opportune momement to
+ calculate the index sizes (after everything has been added to the
+ streams, and before writing anything).
+
+2004-07-21 Jackson Harper <jackson@ximian.com>
+
+ * PEAPI.cs: Create ClassRefInsts with types not just
+ ClassRefs. This way modified types can be used. I am having alot
+ of trouble remembering why I actually even need this class though.
+
+2004-07-16 Jackson Harper <jackson@ximian.com>
+
+ * PEAPI.cs: make sure small index sizes get set properly. Use a
+ continue to reduce nesting a little and make code almost mildly
+ readable. Add MDTable.Field to the list of tables that can
+ increase the CustomAttributeType shift. TODO: What else should be
+ here?
+
+2004-07-13 Jackson Harper <jackson@ximian.com>
+
+ * PEAPI.cs: Use a byte array hash code provider and comprarer, so
+ checking the byte hashtable for duplicate entries actually
+ works. Old method was valid but created larger then needed binaries.
+
+2004-07-09 Jackson Harper <jackson@ximian.com>
+
+ * PEAPI.cs: Don't build custom attributes twice.
+
+2004-07-08 Jackson Harper <jackson@ximian.com>
+
+ * PEAPI.cs: Add custom attributes through the pefile so that we
+ can ensure they are emitted no matter what table they are
+ in. Previously not all custom attributes were getting emitted.
+
+2004-06-26 Jackson Harper <jackson@ximian.com>
+
+ * PEAPI.cs: Add a method to set the fields list. This is needed so
+ that sequentially laid out fields are laid out in the right
+ order. When building custom attribute tables actually emit the
+ custom attribute data. When writing the .sdata section make sure
+ to pad to its size. The constants itself will not make up the
+ entire section because it is aligned on 512 byte blocks.
+
+2004-06-19 Jackson Harper <jackson@ximian.com>
+
+ * PEAPI.cs: Make sure the sentinel is placed properly for vararg
+ method pointers.
+
+2004-06-19 Jackson Harper <jackson@ximian.com>
+
+ * PEAPI.cs: Allow MethPtrTypes to be created from a signature
+ instead of from a method reference because it really doesn't make
+ sense to do it that way ;-).
+
+2004-06-14 Jackson Harper <jackson@ximian.com>
+
+ * PEAPI.cs: Add IExternRef interface and modify sigs so it can be
+ used. So we can easily add stuff to modules and assemblies. Fix
+ the nometadata flag, it should be set when there is NO metadata
+ not when there is metadata.
+
+2004-06-14 Jackson Harper <jackson@ximian.com>
+
+ * PEAPI.cs: Add new constructor so we can explicitly set the
+ module name.
+
+2004-06-03 Jackson Harper <jackson@ximian.com>
+
+ * PEAPI.cs: Do not null terminate byte arrays when writing to the
+ blob stream.
+
+2004-05-25 Jackson Harper <jackson@ximian.com>
+
+ * PEAPI.cs: When writing to the blob heap we always set a size.
+
+2004-05-25 Jackson Harper <jackson@ximian.com>
+
+ * PEAPI.cs: Set the has default flag on fields when a default data
+ constant is assigned to them.
+
+2004-05-25 Jackson Harper <jackson@ximian.com>
+
+ * PEAPI.cs: Encode string constants as unicode before putting them
+ in the blob.
+
+2004-05-25 Jackson Harper <jackson@ximian.com>
+
+ * PEAPI.cs: zero RVAs for abstract, runtime, and internal call
+ methods.
+
+2004-04-30 Duncan Mak <duncan@ximian.com>
+
+ * PEAPI.dll.sources: Added Assembly/AssemblyInfo.cs and
+ Locale.cs to build.
+
+2004-04-02 Jackson Harper <jackson@ximian.com>
+
+ * PEAPI.cs: Allow hash algorithms to be any integer.
+
+2004-02-18 Jackson Harper <jackson@ximian.com>
+
+ * PEAPI.cs: Add a class for creating instances of class refs, this
+ is used for setting the class or valuetype of a types instance so the class
+ reference isn't modified. Allows things like 'valuetype [mscorlib]System.Object'.
+
+2003-11-18 Jackson Harper <jackson@ximian.com>
+
+ * PEAPI.cs: If the data length for a methods seh section is
+ greater then 255 use fat format headers.
+
+2003-11-17 Jackson Harper <jackson@ximian.com>
+
+ * PEAPI.cs: Allow strings to be loaded as bytearrays.
+
+2003-10-19 Jackson Harper <jackson@ximian.com>
+
+ * PEAPI.cs: Use bytes not bits for constant sizes.
+
+2003-10-18 Jackson Harper <jackson@ximian.com>
+
+ * PEAPI.cs: Add proper support for short instructions, removing
+ PEAPI's auto selection of short/long branch operations feature.
+
+2003-10-10 Jackson Harper <jackson@ximian.com>
+
+ * PEAPI.cs: New GenericMethodSig class for creating generic method
+ signatures. Use this class instead of GenericTypeInst for creating
+ generic methods. Fix Generic call conv. according to two of my
+ docs it is 0x10 and only one says 0x50 so I will go with 0x10.
+
+2003-10-09 Jackson Harper <jackson@ximian.com>
+
+ * PEAPI.cs: Add generic method Mvar type. Add MethodSpec table,
+ and an Api method for adding methods to the methodspec table.
+
+2003-10-08 Jackson Harper <jackson@ximian.com>
+
+ * PEAPI.cs: Remove some old hacks for adding methods to arrays,
+ typespecs are used for this now. Add Generic call conv.
+
+2003-10-08 Jackson Harper <jackson@ximian.com>
+
+ * PEAPI.cs: Remove methods for creating generic parameters without
+ a name, names are mandatory. Add method to add type parameters to
+ methods. Allow GenericParameters to have either a type or a
+ method as its owner. Also fix visibility of GenericParameters, a
+ GenericParameter should not be created outside of PEAPI.
+
+2003-10-07 Jackson Harper <jackson@ximian.com>
+
+ * PEAPI.cs: Add unbox.any instruction.
+
+2003-09-27 Jackson Harper <jackson@latitudegeo.com>
+
+ * PEAPI.cs: Fix pinvoke attributes, zero a methods RVA if it has
+ pinvoke info. This isn't entirely correct because native unmanaged
+ methods can have pinvoke info and not have 0 RVAs PEAPI can't
+ handle native unmanged code though. Expose the ModuleClass so
+ 'global' items can be referenced like this '<Module>'::foo.
+
+2003-09-21 Jackson Harper <jackson@latitudegeo.com>
+
+ * PEAPI.cs: sigh, sometimes it is best to calculate variables
+ before using them. This fixes PEAPI creating broken images when
+ the sdata section is used.
+
+2003-09-20 Jackson Harper <jackson@latitudegeo.com>
+
+ * PEAPI.cs: Rework to allow multiple constraints to be added to a
+ single generic parameter.
+
+2003-08-19 Jackson Harper <jackson@latitudegeo.com>
+
+ * PEAPI.cs: Make no super method public so we can have types
+ with no super type.
+
+2003-08-03 Jackson Harper <jackson@latitudegeo.com>
+
+ * PEAPI.cs: New Sentinel type.
+
+2003-08-03 Jackson Harper <jackson@latitudegeo.com>
+
+ * PEAPI.cs: Only give method definitions 0 RVAs if they are
+ marked abstract.
+
+2003-08-03 Jackson Harper <jackson@latitudegeo.com>
+
+ * PEAPI.cs: Offsets are not explicit offsets, they are just
+ byte offsets from the current position.
+
+2003-07-29 Jackson Harper <jackson@latitudegeo.com>
+
+ * PEAPI.cs: Allow labels to be created with an explicit offset
+
+Fri Jul 25 19:25:31 CEST 2003 Paolo Molaro <lupus@ximian.com>
+
+ * PEAPI.cs: added coded index for the owner field in the GenericParam
+ table.
+
+2003-07-20 Jackson Harper <jackson@latitudegeo.com>
+
+ * PEAPI.cs: Add methods to PEFile to allow fields and methods to
+ be added to type specs. This fixing bah-zillions of little
+ problems in ilasm. We can now add fields and methods to arrays,
+ reference types, and most importantly generics.
+
+ Add the GenericTypeInst class. This is an instance of a generic
+ type. ie Hash<int32, string>. GenericTypeSpecs now write their id
+ number as a compressed number, this matches the way the runtime
+ loads them and will allow generic types to have more then 255 type
+ parameters.
+
+2003-07-17 Jackson Harper <jackson@latitudegeo.com>
+
+ * PEAPI.cs: Add GenericTypeSpec so generic members can be
+ referenced. Add the ldelem and stelem opcodes (these are part of
+ the new spec).
+
+2003-07-15 Jackson Harper <jackson@latitudegeo.com>
+
+ * PEAPI.cs: Allow generic constraints to be added, emit generic
+ constraints.
+
+2003-07-14 Jackson Harper <jackson@latitudegeo.com>
+
+ * PEAPI.cs: Cleanup methods for generics, now that constraints and
+ params are seperated.
+
+2003-05-31 Jackson Harper <jackson@latitudegeo.com>
+
+ * PEAPI.cs: Initial work on implementing custom
+ attributes. Attributes can now be added to ClassDefs and
+ MethodDefs. Still need to implement for other metadata elements.
+ Added the stele.r4 and stelem.r8 instructions, this should also
+ shift the stelem.ref instruction to the proper value (0xA2)
+
+2003-05-25 Jackson Harper <jackson@latitudegeo.com>
+
+ * PEAPI.cs: Create a list of vararg signatures and add them all to
+ tables. this allows more then one vararg signature to be created
+ per method.
+
+2003-05-18 Jackson Harper <jackson@latitudegeo.com>
+
+ * PEAPI.cs: Add methods to allow methods to be added to arrays.
+
+2003-05-11 Jackson Harper <jackson@latitudegeo.com>
+
+ * PEAPI.cs: The class size in class layout metadata table is a
+ uint not a short.
+
+2003-04-05 Jackson Harper <jackson@latitudegeo.com>
+
+ * PEAPI.cs: Add indexes to GenericParameters, make string index
+ always a full 4 bytes.
+
+2003-04-05 Jackson Harper <jackson@latitudegeo.com>
+
+ * PEAPI.cs: Add GenericParameter table, and method to add generic
+ parameters.
+
+2003-03-15 Daniel Morgan <danmorg@sc.rr.com>
+
+ * PEAPI.build: added file for windows build
+
+2003-03-06 Jackson Harper <jackson@latitudegeo.com>
+
+ * PEAPI.cs: (ImplAttr) Add Optil implementation flag (not supported
+ in first release of CLR)
+ (Class) And Name property
+
+2003-03-06 Jackson Harper <jackson@latitudegeo.com>
+
+ * makefile.gnu: Add file
+ * list.unix: Add file
+
+2003-03-02 Jackson Harper <jackson@latitudegeo.com>
+
+ * PEAPI.cs: Do not add file extensions to output names
+
+2003-03-02 Jackson Harper <jackson@latitudegeo.com>
+
+ * PEAPI.cs: Add file
+ * README.txt: Add file