1 2009-03-31 Rodrigo Kumpera <rkumpera@novell.com>
3 * Code.cs (CILLabel): Add new constructor to signal that
4 a label is an absolute il offset. This is required by exception
5 handling declarations that use offsets and not labels.
7 2008-06-02 Ankit Jain <jankit@novell.com>
10 * Code.cs (TryBlock.ResolveCatchBlocks): New.
11 (CILInstructions.AddTryBlock): Resolve the catch blocks with the new
13 (Catch..ctor): Add new .ctor to allow exceptions of any type.
14 (Catch.ResolveType): New. Add the exception type to the metadata.
16 2008-04-07 Rodrigo Kumpera <rkumpera@novell.com>
18 * Code.cs: Removed Local::TypeSig() as it is not needed
19 for the previous patch.
21 2008-04-07 Erven Rohou <erven.rohou@st.com>
23 * Code.cs: Add new method: GetLocalVars() for ilasm support for
24 emitting local variable names.
26 2007-11-05 Jackson Harper <jackson@ximian.com>
28 * LICENSE: Add long lost file.
30 2006-11-09 Ankit Jain <jankit@novell.com>
32 * Metadata.cs (AssemAttr.Retargetable): New.
33 (AssemblyRef.AddAssemblyAttr): New.
35 2006-07-20 Ankit Jain <jankit@novell.com>
37 * Metadata.cs (CustomAttribute.BuildTables): Value can be null.
39 2006-06-07 Ankit Jain <jankit@novell.com>
41 * PEAPI.cs (PEFile.GetNextSectStart): Handle the case when (tide %
42 SectionAlignment) == 0 . Patch by Carlo Kok. Fixes bug #78182.
44 2006-06-01 Ankit Jain <jankit@novell.com>
46 * PEAPI.cs (PEFile.AddMethod): Add overload for return type as Param
47 instead of PEAPI.Type .
48 * Metadata.cs (MetaDataElement.HasCustomAttr): New. Temporary hack.
49 (Param.HasMarshalInfo): New.
50 (ClassDef.AddMethod): Add overload for return type as Param.
51 (MethodDef.ctor): Change internal .ctor's sig to take Param instead of
52 PEAPI.Type for return type.
53 (MethodDef.retType): Remove.
54 (MethodDef.TypeSig): Update to use ret_param always.
55 (MethodDef.BuildTables): Add ret_param to Param table only if it has
56 marshal info or custom attributes.
58 2006-05-26 Ankit Jain <jankit@novell.com>
60 * Metadata.cs (DeclSecurity): Rename to ..
61 (BaseDeclSecurity): .. this.
62 (DeclSecurity): New. Derive from BaseDeclSecurity.
63 (DeclSecurity_20): Likewise. For 2.0 style declaritive security.
66 (PermissionMember): New.
67 (MetaData.AddDeclSecurity): Update to use BaseDeclSecurity.
68 (MetaData.BuildMetaData): Likewise.
70 * PEAPI.cs (PEFile.AddDeclSecurity): New overload for new PermissionSet
73 2006-05-10 Ankit Jain <jankit@novell.com>
75 * Metadata.cs (NativeType): Add LPStruct and Error.
77 2006-04-24 Ankit Jain <jankit@novell.com>
79 * PEAPI.cs (PEFile.WritePEFile): ReserveStrongNameSignatureSpace only if
80 we have assembly manifest.
82 2006-02-22 Ankit Jain <jankit@novell.com>
84 * Metadata.cs (TypeAttr): Add [Flags] attribute.
86 2006-02-20 Ankit Jain <jankit@novell.com>
88 * PEAPI.cs (PEFileException): Update error message.
89 * Metadata.cs: Update to throw PEFileException instead of Exception.
91 2006-02-19 Ankit Jain <jankit@novell.com>
93 * Metadata.cs (Module): Implment IExternRef to allow reference to types
96 2006-02-15 Raja R Harinath <rharinath@novell.com>
98 * Metadata.cs (BoundArray.CompressSignedNum): Document the
99 transformation. Avoid a few casts.
101 2006-02-15 Ankit Jain <jankit@novell.com>
103 * Metadata.cs (BoundArray.CompressSignedNum): New. Encode signed values,
104 used only for encoding lower bounds of arrays.
105 (BoundArray.TypeSig): Use new CompressSignedNum to encode lower bounds.
107 2006-02-08 Ankit Jain <jankit@novell.com>
109 * Metadata.cs (BoundArray.ctor): Change param 'upBounds' to sizes.
110 (MetaData.CompressNum): Fix range check.
112 2006-01-31 Ankit Jain <jankit@novell.com>
114 * Metadata.cs (Op.readonly_): New.
116 2006-01-19 Ankit Jain <jankit@novell.com>
118 * Metadata.cs (GenericParameter.GetCodedIx): Override. Return coded index
120 (MetaData.BuildMetaData): Sort CustomAttribute table at the end.
122 2006-01-16 Ankit Jain <jankit@novell.com>
124 * Metadata.cs (PInvokeAttr): Add 'bestfit_on', 'bestfit_off', 'bestfit_mask',
125 'charmaperror_on' & 'charmaperror_off'.
127 2006-01-13 Ankit Jain <jankit@novell.com>
129 * Metadata.cs (GenericMethodSig): Ensure sig is added to the blob only once.
131 2006-01-10 Ankit Jain <jankit@novell.com>
133 * Metadata.cs (GenParam): Don't use GetTypeSpec to create typespec for GenParam.
134 Adding required methods directly to GenParam.
135 * PEAPI.cs (PEFile.AddGenericParam): Add it to the TypeSpec table directly.
137 2006-01-09 Ankit Jain <jankit@novell.com>
139 * PEAPI.cs (PEFile.AddGenricParam): New. Adds a GenParam to the TypeSpec
141 * Metadata.cs (GenParam): Inherit from 'Class' instead of 'Type'.
142 (GenParam.name): Rename to param_name as it hides Class.name .
143 (GenParam.GetTypeSpec): Override to create TypeSpec for genparam.
145 2006-01-08 Ankit Jain <jankit@novell.com>
147 * Metadata.cs (TypeOp): Add 'constrained' op.
149 2006-01-07 Ankit Jain <jankit@novell.com>
151 * Metadata.cs (GenericParamAttributes): New.
152 (MetaDataElement.Row): Always set value.
153 (GenericParameter): Update to use GenericParameterAttributes.
154 (GenericParameterConstraint.SortKey): New. override to support sorting.
155 (ClassDef.AddGenericParameter):
156 (MethodDef.AddGenericParameter): New overloads for accepting attributes also.
158 2006-01-06 Ankit Jain <jankit@novell.com>
160 * Metadata.cs (UIntConst): Change constructor param from signed int/sbyte/etc to
162 (UIntConst.GetBlobIndex):
163 (UIntConst.Write): Change use of signed types to unsigned ones.
165 2006-01-06 Ankit Jain <jankit@novell.com>
167 * PEAPI.cs (PEFile.AddGenericClass): New. Adds a GenericTypeInst to the TypeSpec table.
168 * Metadata.cs (GenericTypeInst): Change base class from 'Type' to 'Class'.
169 (GenericTypeInst.GetTypeSpec):
170 (GenericTypeInst.BuildTables):
171 (GenericTypeInst.Size):
172 (GenericTypeInst.Write):
173 (GenericTypeInst.GetCodedIx): Implement these for GenericTypeInst.
174 (ClassDef.SetSuper): Set typeIndexChecked to false if 'super' is not GenericTypeInst.
175 Fixup of typeIndex is not required for GenericTypeInst .
176 (ClassDef.CheckTypeIndex): Recursively fix typeIndex if superType is ClassDef.
177 (MetaData.BuildMetaData): BuildTable for TypeSpec.
179 2005-12-24 Jb Evain <jbevain@gmail.com>
181 * Metadata.cs (Property): Add a new 'instance' field.
182 (Property.SetInstance): New mutator for the instance field.
183 (Property.BuildTables): Emit the correct property tag depending on the instance field.
185 2005-12-14 Ankit Jain <jankit@novell.com>
187 * Metadata.cs (BoundArray.ctor): Don't calculate sizes if upBounds is
190 2005-12-12 Ankit Jain <jankit@novell.com>
192 * Metadata.cs (TypeAttr): Add VisibilityMask.
194 2005-12-09 Ankit Jain <jankit@novell.com>
196 * Metadata.cs (Method.ctor): Remove rType parameter.
197 (Method.GetRetType): Remove.
198 (Method.AddCallConv): Make it abstract.
199 (Method.GetSigIx): Likewise.
200 (MethodDef): Override and implement abstract methods from Method class.
201 (MethodRef): Likewise.
202 (MethodSpec): Change base class from MetaDataElement to Method. Override
203 abstract methods from Method but throw Exception as they are not meant to be used here.
204 (MethodDef.TypeSig): Write gen_param_count before num of params.
205 (ClassRef.AddMethod): New overload with an extra gen_param_count param.
206 * PEAPI.cs (PEFile.AddMethodToTypeSpec): New overload with an extra gen_param_count
208 (PEFile.AddMethodSpec): Change return type from void to Method.
210 2005-12-05 Ankit Jain <jankit@novell.com>
212 * Metadata.cs (GenParamType): New enum.
213 (CallConv): Add [Flags] attribute.
214 (GenParam): New. Replaces ..
216 (GenericTypeSpec): .. and this.
217 (GenericTypeInst.ctor): Use PrimitiveType.GenericInst.GetTypeIndex () instead
219 (GenericTypeInst.TypeSig): First byte should the 0x0A (GENERIC_INST).
220 (Method.gen_param_count): New. Num of generic parameters.
221 (MethodDef.ctor): Use overload.
222 (MethodDef.TypeSig): Write gen_param_count if callConv is Generic.
223 (MethodRef.GenParamCount): New.
224 (MethodRef.TypeSig): Write gen_param_count if callConv is Generic.
225 (PrimitiveType.Var): New.
226 (PrimitiveType.MVar): New.
227 (PrimitiveType.GenericInst): New.
229 2005-11-21 Ankit Jain <jankit@novell.com>
231 * Metadata.cs (MetaData.WriteCodedIndex): Fix indentation.
233 2005-11-21 Ankit Jain <jankit@novell.com>
235 * Metadata.cs (GenericParameter.SortKey2): New. Use index as the secondary key.
236 (GenericParameter.Size): Set size correctly.
237 (GenericParameter.Write): Use StringsIndex to write the index.
238 (MetaData.WriteTildeStream): Emit 2,0 as version for NET_2_0 profile.
239 (MetaData.version): Use 'v2.0.50727' for NET_2_0 profile.
240 (MetaData.BuildMetaData): Build and sort GenericParam, MethodSpec and
241 GenericParamConstraint tables only for NET_2_0 profile.
243 2005-09-16 Ankit Jain <jankit@novell.com>
245 * PEAPI.cs: Clean up indentation. Split into ...
246 Metadata.cs, Code.cs, PEAPI.cs: ... these.
248 2005-09-08 Ankit Jain <jankit@novell.com>
250 * PEAPI.cs (FileImage.stackReserve): New. Set to default value of 0x100000 (1Mb).
251 (FileImage.WritePEHeader): Write stackReserve instead of the default value.
252 (PEFile.SetStackReserve): Set stack reserve for fileImage.
254 2005-09-06 Ankit Jain <jankit@novell.com>
256 * PEAPI.cs (MetaData.WriteTildeStream): Change minor version back to 0.
258 2005-08-30 Ankit Jain <jankit@novell.com>
260 * PEAPI.cs (MetaData.WriteTildeStream): Change minor version to 1.
262 2005-08-29 Ankit Jain <jankit@novell.com>
264 * PEAPI.cs (CustomMarshaller.ctor): New.
265 (CustomMarshaller.ToBlob): Emit marshallerName and cookie strings with
268 2005-08-26 Ankit Jain <jankit@novell.com>
270 * PEAPI.cs (PEFile.ctor): Restore old constructor overload to avoid
273 2005-08-26 Ankit Jain <jankit@novell.com>
275 * PEAPI.cs (IResolutionScope): New. Empty interface.
276 (ClassRef): Implement IResolutionScope.
277 (ClassRef.parent): Change type from ResolutionScope to IResolutionScope.
278 (ClassRef.AddClass): New. Add nested class.
279 (ClassRef.AddValueClass): New. Add nested value class.
281 2005-08-23 Ankit Jain <jankit@novell.com>
283 * PEAPI.cs (MetaData.version): Change from 1.0.3705 to 1.1.4322.
285 2005-08-23 Ankit Jain <jankit@novell.com>
287 * PEAPI.cs (MSCorLib.systemClasses): Change type from ClassRef[] to
289 (MSCorLib.ctor): Add assembly ref to mscorlib for non-mscorlib assemblies
291 (MSCorLib.AddClass): Use Class instead of ClassRef.
292 (MSCorLib.GetSpecialClass): Change return type to Class from ClassRef.
293 Don't instantiate object of SystemClass if this assembly is mscorlib.
294 (MSCorLib.SetSpecialSystemClass): New. Set a System.* class for primitive
295 types, used for compiling mscorlib.
296 (MSCorLib.GetValueClass): Change to handle new type of systemClasses.
297 (MSCorLib.ValueType),
298 (MSCorLib.EnumType): Don't instantiate ClassRef if this assembly is mscorlib.
299 (ClassDef.ctor): Don't superType to System.Object for System.Object and <Module>.
300 (ClassDef.MakeValueClass): Set typeIndex to ValueType's typeIndex.
301 (ClassDef.IsValueType),
302 (ClassDef.IsEnum): Use "==" instead of .CompareTo for string comparison.
303 (ClassDef.AddNestedClass): Set typeIndexChecked = true for the nested class.
304 (PEFile.isMSCorlib): New. bool field.
305 (PEFile.ctor): Move all ctor logic into one overload and call that from others.
306 (PEFile.ctor): Add outputDir parameter.
307 (PEFile.SetName): Set name of the assembly and set isMSCorlib accordingly.
308 (PEFile.IsMSCorlib): New. bool Property.
309 (PEFile.AddClass): Call overload.
310 (PEFile.AddClass): Set superType and SetSpecialSystemClass if compiling mscorlib.
311 (PEFile.AddValueClass): Call MakeValueClass only if the class is not System.ValueType
312 or System.Enum itself, else set the supertype correctly.
314 2005-08-16 Ankit Jain <jankit@novell.com>
316 * PEAPI.cs (FieldAttr): Move HasFieldMarshal from FieldDef to this.
317 (ParamAttr): Move HasDefault and HasFieldMarshal from Param to this.
318 (ManifestResource.ctor): Use 'mres' param to clone.
319 (MethodDef.ret_param): New.
320 (MethodDef.AddRetTypeMarshallInfo): New.
321 (MethodDef.TypeSig): Set seqNo for ret_param to zero.
322 (MethodDef.BuildTables): Add ret_param to Param table, and BuildTables
324 (FixedSysString): New. Class to represent Fixed SysString native type.
325 (NativeArray): Rename len to numElem. Init numElem, parNum and elemMult
327 (NativeArray.ctor): Uncomment ctor with one param (elemType).
328 (NativeArray.ctor): Move ctor logic to the one with all params.
329 (NativeArray.ToBlob): Emit values in correct order.
330 (SafeArray.hasElemType): New. bool var to indicate presence of ElemType.
331 (SafeArray.ctor): New. Parameterless constructor.
332 (SafeArray.ToBlob): Emit correctly.
333 (FixedArray.ctor): Remove elemType param.
334 (FixedArray.ToBlob): Don't emit elemType.
336 2005-08-08 Ankit Jain <jankit@novell.com>
338 * PEAPI.cs (CodeBlock): Set maxCodeSize to 255 instead of 256 for checking
340 (CILInstructions.CheckCode): Use 255 instead of 256 for checking Fat format.
342 2005-08-08 Ankit Jain <jankit@novell.com>
344 * PEAPI.cs (FileImage.WriteCLIHeader): Move the check for no entrypoint
345 in case of an EXE to ilasm/codegen/CodeGen.cs to avoid creating unnecessary
348 2005-08-05 Ankit Jain <jankit@novell.com>
350 * PEAPI.cs (FileImage.WriteCLIHeader): Throw Exception if an EXE has been
351 requested but the source file has no entrypoint defined.
353 2005-08-05 Ankit Jain <jankit@novell.com>
355 * PEAPI.cs (TypeAttr): Add HasSecurity.
356 (MethAttr): Likewise.
357 (SecurityAction): New enum.
358 (DeclSecurity.ctor): Add 'byte []' as the third parameter.
359 (DeclSecurity.BuildTables): Write the byte array to the blob.
360 (MetaData.AddDeclSecurity): Add DeclSecurity to declsec_list.
361 (MetaData.BuildMetaData): Call BuildTables for declsec_list members.
362 (PEFile.AddDeclSecurity): New. Add DeclSecurity to metaData.
364 2005-04-30 Ankit Jain <ankit@corewars.org>
366 * PEAPI.cs (InterfaceImpl.SortKey): New.
367 (MetaData.BuildMetaData): Sort InterfaceImpl table.
368 (MethodSemantics.SortKey): Compute key correctly.
370 2005-04-18 Ankit Jain <ankit@corewars.org>
372 * PEAPI.cs (ManifestResource.InitResource): New. Used by constructors
373 to initialize the resource.
374 (ManifestResource.ctor): New. Constructor to accept resource as a
376 (ManifestResource.ctor): New. Constructor to accept an object of self.
377 (ManifestResource.BuildTables): Update.
378 (MetaData.AddResource): New. Add the resource to the list, adjust
380 (MetaData.WriteResource): New. Write resources to the FileImage.
381 (PEFile.AddExternalManagedResource): New. Add a new resource.
382 (PEFile.GetResource): New. Get resource by name.
383 (PEFile.GetResources): New. Get array of resources.
385 2005-04-12 Ankit Jain <ankit@corewars.org>
387 * PEAPI.cs (CustomAttribute.ctor): Dont throw
388 NotYetImplementedException.
389 (MethodSemantics.SortKey): Should be sorted by
390 'Association' column.
392 2005-04-08 Ankit Jain <radical@corewars.org>
394 * PEAPI.cs (MSCorLib.GetSpecialClass): Don't encode
395 System.ValueType and System.Enum as value types.
396 (ValueClass): New enum.
397 (Class.MakeValueClass): Add a 'ValueClass' parameter.
398 (ClassDef.MakeValueClass): Set supertype to ValueType or Enum
399 according to ValueClass parameter.
400 (IsValueType,IsEnum): New. Test if type is System.ValueType or
402 (ClassDef.AddNestedClass): Don't encode System.ValueType and
403 System.Enum as value types.
405 2005-03-17 Ankit Jain <radical@corewars.org>
407 * PEAPI.cs: Metadata tables that must be sorted are sorted now.
408 Fixes the code for ParamAttr.Opt. Fix bug #73517.
410 2004-12-08 Sebastien Pouliot <sebastien@ximian.com>
412 * PEAPI.cs: Added support for allocating and storing strongname
413 signatures when a .publickey directive is present in source. Fix bug
416 2004-12-01 Jackson Harper <jackson@ximian.com>
418 * PEAPI.cs: Allow underlying types of ByteArrConsts to be set when
419 they are used as field init data.
421 2004-07-29 Martin Baulig <martin@ximian.com>
423 * PEAPI.cs (Module.Guid): New public property.
425 2004-07-27 Martin Baulig <martin@ximian.com>
427 * PEAPI.cs (CILInstructions.Offset): New public property.
429 2004-07-23 Jackson Harper <jackson@ximian.com>
431 * PEAPI.cs: Make the type index modifiable so ClassRefInsts will
432 be emitted properly. This is in desperate need of some API love.
434 2004-07-21 Jackson Harper <jackson@ximian.com>
436 * PEAPI.cs: Do all the index size checks. I always wondered why
437 the code was like that and finally realized today that it was like
438 that because it was wrong. Wait until the opportune momement to
439 calculate the index sizes (after everything has been added to the
440 streams, and before writing anything).
442 2004-07-21 Jackson Harper <jackson@ximian.com>
444 * PEAPI.cs: Create ClassRefInsts with types not just
445 ClassRefs. This way modified types can be used. I am having alot
446 of trouble remembering why I actually even need this class though.
448 2004-07-16 Jackson Harper <jackson@ximian.com>
450 * PEAPI.cs: make sure small index sizes get set properly. Use a
451 continue to reduce nesting a little and make code almost mildly
452 readable. Add MDTable.Field to the list of tables that can
453 increase the CustomAttributeType shift. TODO: What else should be
456 2004-07-13 Jackson Harper <jackson@ximian.com>
458 * PEAPI.cs: Use a byte array hash code provider and comprarer, so
459 checking the byte hashtable for duplicate entries actually
460 works. Old method was valid but created larger then needed binaries.
462 2004-07-09 Jackson Harper <jackson@ximian.com>
464 * PEAPI.cs: Don't build custom attributes twice.
466 2004-07-08 Jackson Harper <jackson@ximian.com>
468 * PEAPI.cs: Add custom attributes through the pefile so that we
469 can ensure they are emitted no matter what table they are
470 in. Previously not all custom attributes were getting emitted.
472 2004-06-26 Jackson Harper <jackson@ximian.com>
474 * PEAPI.cs: Add a method to set the fields list. This is needed so
475 that sequentially laid out fields are laid out in the right
476 order. When building custom attribute tables actually emit the
477 custom attribute data. When writing the .sdata section make sure
478 to pad to its size. The constants itself will not make up the
479 entire section because it is aligned on 512 byte blocks.
481 2004-06-19 Jackson Harper <jackson@ximian.com>
483 * PEAPI.cs: Make sure the sentinel is placed properly for vararg
486 2004-06-19 Jackson Harper <jackson@ximian.com>
488 * PEAPI.cs: Allow MethPtrTypes to be created from a signature
489 instead of from a method reference because it really doesn't make
490 sense to do it that way ;-).
492 2004-06-14 Jackson Harper <jackson@ximian.com>
494 * PEAPI.cs: Add IExternRef interface and modify sigs so it can be
495 used. So we can easily add stuff to modules and assemblies. Fix
496 the nometadata flag, it should be set when there is NO metadata
497 not when there is metadata.
499 2004-06-14 Jackson Harper <jackson@ximian.com>
501 * PEAPI.cs: Add new constructor so we can explicitly set the
504 2004-06-03 Jackson Harper <jackson@ximian.com>
506 * PEAPI.cs: Do not null terminate byte arrays when writing to the
509 2004-05-25 Jackson Harper <jackson@ximian.com>
511 * PEAPI.cs: When writing to the blob heap we always set a size.
513 2004-05-25 Jackson Harper <jackson@ximian.com>
515 * PEAPI.cs: Set the has default flag on fields when a default data
516 constant is assigned to them.
518 2004-05-25 Jackson Harper <jackson@ximian.com>
520 * PEAPI.cs: Encode string constants as unicode before putting them
523 2004-05-25 Jackson Harper <jackson@ximian.com>
525 * PEAPI.cs: zero RVAs for abstract, runtime, and internal call
528 2004-04-30 Duncan Mak <duncan@ximian.com>
530 * PEAPI.dll.sources: Added Assembly/AssemblyInfo.cs and
533 2004-04-02 Jackson Harper <jackson@ximian.com>
535 * PEAPI.cs: Allow hash algorithms to be any integer.
537 2004-02-18 Jackson Harper <jackson@ximian.com>
539 * PEAPI.cs: Add a class for creating instances of class refs, this
540 is used for setting the class or valuetype of a types instance so the class
541 reference isn't modified. Allows things like 'valuetype [mscorlib]System.Object'.
543 2003-11-18 Jackson Harper <jackson@ximian.com>
545 * PEAPI.cs: If the data length for a methods seh section is
546 greater then 255 use fat format headers.
548 2003-11-17 Jackson Harper <jackson@ximian.com>
550 * PEAPI.cs: Allow strings to be loaded as bytearrays.
552 2003-10-19 Jackson Harper <jackson@ximian.com>
554 * PEAPI.cs: Use bytes not bits for constant sizes.
556 2003-10-18 Jackson Harper <jackson@ximian.com>
558 * PEAPI.cs: Add proper support for short instructions, removing
559 PEAPI's auto selection of short/long branch operations feature.
561 2003-10-10 Jackson Harper <jackson@ximian.com>
563 * PEAPI.cs: New GenericMethodSig class for creating generic method
564 signatures. Use this class instead of GenericTypeInst for creating
565 generic methods. Fix Generic call conv. according to two of my
566 docs it is 0x10 and only one says 0x50 so I will go with 0x10.
568 2003-10-09 Jackson Harper <jackson@ximian.com>
570 * PEAPI.cs: Add generic method Mvar type. Add MethodSpec table,
571 and an Api method for adding methods to the methodspec table.
573 2003-10-08 Jackson Harper <jackson@ximian.com>
575 * PEAPI.cs: Remove some old hacks for adding methods to arrays,
576 typespecs are used for this now. Add Generic call conv.
578 2003-10-08 Jackson Harper <jackson@ximian.com>
580 * PEAPI.cs: Remove methods for creating generic parameters without
581 a name, names are mandatory. Add method to add type parameters to
582 methods. Allow GenericParameters to have either a type or a
583 method as its owner. Also fix visibility of GenericParameters, a
584 GenericParameter should not be created outside of PEAPI.
586 2003-10-07 Jackson Harper <jackson@ximian.com>
588 * PEAPI.cs: Add unbox.any instruction.
590 2003-09-27 Jackson Harper <jackson@latitudegeo.com>
592 * PEAPI.cs: Fix pinvoke attributes, zero a methods RVA if it has
593 pinvoke info. This isn't entirely correct because native unmanaged
594 methods can have pinvoke info and not have 0 RVAs PEAPI can't
595 handle native unmanged code though. Expose the ModuleClass so
596 'global' items can be referenced like this '<Module>'::foo.
598 2003-09-21 Jackson Harper <jackson@latitudegeo.com>
600 * PEAPI.cs: sigh, sometimes it is best to calculate variables
601 before using them. This fixes PEAPI creating broken images when
602 the sdata section is used.
604 2003-09-20 Jackson Harper <jackson@latitudegeo.com>
606 * PEAPI.cs: Rework to allow multiple constraints to be added to a
607 single generic parameter.
609 2003-08-19 Jackson Harper <jackson@latitudegeo.com>
611 * PEAPI.cs: Make no super method public so we can have types
614 2003-08-03 Jackson Harper <jackson@latitudegeo.com>
616 * PEAPI.cs: New Sentinel type.
618 2003-08-03 Jackson Harper <jackson@latitudegeo.com>
620 * PEAPI.cs: Only give method definitions 0 RVAs if they are
623 2003-08-03 Jackson Harper <jackson@latitudegeo.com>
625 * PEAPI.cs: Offsets are not explicit offsets, they are just
626 byte offsets from the current position.
628 2003-07-29 Jackson Harper <jackson@latitudegeo.com>
630 * PEAPI.cs: Allow labels to be created with an explicit offset
632 Fri Jul 25 19:25:31 CEST 2003 Paolo Molaro <lupus@ximian.com>
634 * PEAPI.cs: added coded index for the owner field in the GenericParam
637 2003-07-20 Jackson Harper <jackson@latitudegeo.com>
639 * PEAPI.cs: Add methods to PEFile to allow fields and methods to
640 be added to type specs. This fixing bah-zillions of little
641 problems in ilasm. We can now add fields and methods to arrays,
642 reference types, and most importantly generics.
644 Add the GenericTypeInst class. This is an instance of a generic
645 type. ie Hash<int32, string>. GenericTypeSpecs now write their id
646 number as a compressed number, this matches the way the runtime
647 loads them and will allow generic types to have more then 255 type
650 2003-07-17 Jackson Harper <jackson@latitudegeo.com>
652 * PEAPI.cs: Add GenericTypeSpec so generic members can be
653 referenced. Add the ldelem and stelem opcodes (these are part of
656 2003-07-15 Jackson Harper <jackson@latitudegeo.com>
658 * PEAPI.cs: Allow generic constraints to be added, emit generic
661 2003-07-14 Jackson Harper <jackson@latitudegeo.com>
663 * PEAPI.cs: Cleanup methods for generics, now that constraints and
664 params are seperated.
666 2003-05-31 Jackson Harper <jackson@latitudegeo.com>
668 * PEAPI.cs: Initial work on implementing custom
669 attributes. Attributes can now be added to ClassDefs and
670 MethodDefs. Still need to implement for other metadata elements.
671 Added the stele.r4 and stelem.r8 instructions, this should also
672 shift the stelem.ref instruction to the proper value (0xA2)
674 2003-05-25 Jackson Harper <jackson@latitudegeo.com>
676 * PEAPI.cs: Create a list of vararg signatures and add them all to
677 tables. this allows more then one vararg signature to be created
680 2003-05-18 Jackson Harper <jackson@latitudegeo.com>
682 * PEAPI.cs: Add methods to allow methods to be added to arrays.
684 2003-05-11 Jackson Harper <jackson@latitudegeo.com>
686 * PEAPI.cs: The class size in class layout metadata table is a
689 2003-04-05 Jackson Harper <jackson@latitudegeo.com>
691 * PEAPI.cs: Add indexes to GenericParameters, make string index
692 always a full 4 bytes.
694 2003-04-05 Jackson Harper <jackson@latitudegeo.com>
696 * PEAPI.cs: Add GenericParameter table, and method to add generic
699 2003-03-15 Daniel Morgan <danmorg@sc.rr.com>
701 * PEAPI.build: added file for windows build
703 2003-03-06 Jackson Harper <jackson@latitudegeo.com>
705 * PEAPI.cs: (ImplAttr) Add Optil implementation flag (not supported
706 in first release of CLR)
707 (Class) And Name property
709 2003-03-06 Jackson Harper <jackson@latitudegeo.com>
711 * makefile.gnu: Add file
712 * list.unix: Add file
714 2003-03-02 Jackson Harper <jackson@latitudegeo.com>
716 * PEAPI.cs: Do not add file extensions to output names
718 2003-03-02 Jackson Harper <jackson@latitudegeo.com>
721 * README.txt: Add file