1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
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
|