diff options
Diffstat (limited to 'mcs/class/PEAPI/ChangeLog')
-rw-r--r-- | mcs/class/PEAPI/ChangeLog | 606 |
1 files changed, 606 insertions, 0 deletions
diff --git a/mcs/class/PEAPI/ChangeLog b/mcs/class/PEAPI/ChangeLog new file mode 100644 index 00000000000..b8157701dce --- /dev/null +++ b/mcs/class/PEAPI/ChangeLog @@ -0,0 +1,606 @@ +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 |