1 2004-07-29 Martin Baulig <martin@ximian.com>
3 * PEAPI.cs (Module.Guid): New public property.
5 2004-07-27 Martin Baulig <martin@ximian.com>
7 * PEAPI.cs (CILInstructions.Offset): New public property.
9 2004-07-23 Jackson Harper <jackson@ximian.com>
11 * PEAPI.cs: Make the type index modifiable so ClassRefInsts will
12 be emitted properly. This is in desperate need of some API love.
14 2004-07-21 Jackson Harper <jackson@ximian.com>
16 * PEAPI.cs: Do all the index size checks. I always wondered why
17 the code was like that and finally realized today that it was like
18 that because it was wrong. Wait until the opportune momement to
19 calculate the index sizes (after everything has been added to the
20 streams, and before writing anything).
22 2004-07-21 Jackson Harper <jackson@ximian.com>
24 * PEAPI.cs: Create ClassRefInsts with types not just
25 ClassRefs. This way modified types can be used. I am having alot
26 of trouble remembering why I actually even need this class though.
28 2004-07-16 Jackson Harper <jackson@ximian.com>
30 * PEAPI.cs: make sure small index sizes get set properly. Use a
31 continue to reduce nesting a little and make code almost mildly
32 readable. Add MDTable.Field to the list of tables that can
33 increase the CustomAttributeType shift. TODO: What else should be
36 2004-07-13 Jackson Harper <jackson@ximian.com>
38 * PEAPI.cs: Use a byte array hash code provider and comprarer, so
39 checking the byte hashtable for duplicate entries actually
40 works. Old method was valid but created larger then needed binaries.
42 2004-07-09 Jackson Harper <jackson@ximian.com>
44 * PEAPI.cs: Don't build custom attributes twice.
46 2004-07-08 Jackson Harper <jackson@ximian.com>
48 * PEAPI.cs: Add custom attributes through the pefile so that we
49 can ensure they are emitted no matter what table they are
50 in. Previously not all custom attributes were getting emitted.
52 2004-06-26 Jackson Harper <jackson@ximian.com>
54 * PEAPI.cs: Add a method to set the fields list. This is needed so
55 that sequentially laid out fields are laid out in the right
56 order. When building custom attribute tables actually emit the
57 custom attribute data. When writing the .sdata section make sure
58 to pad to its size. The constants itself will not make up the
59 entire section because it is aligned on 512 byte blocks.
61 2004-06-19 Jackson Harper <jackson@ximian.com>
63 * PEAPI.cs: Make sure the sentinel is placed properly for vararg
66 2004-06-19 Jackson Harper <jackson@ximian.com>
68 * PEAPI.cs: Allow MethPtrTypes to be created from a signature
69 instead of from a method reference because it really doesn't make
70 sense to do it that way ;-).
72 2004-06-14 Jackson Harper <jackson@ximian.com>
74 * PEAPI.cs: Add IExternRef interface and modify sigs so it can be
75 used. So we can easily add stuff to modules and assemblies. Fix
76 the nometadata flag, it should be set when there is NO metadata
77 not when there is metadata.
79 2004-06-14 Jackson Harper <jackson@ximian.com>
81 * PEAPI.cs: Add new constructor so we can explicitly set the
84 2004-06-03 Jackson Harper <jackson@ximian.com>
86 * PEAPI.cs: Do not null terminate byte arrays when writing to the
89 2004-05-25 Jackson Harper <jackson@ximian.com>
91 * PEAPI.cs: When writing to the blob heap we always set a size.
93 2004-05-25 Jackson Harper <jackson@ximian.com>
95 * PEAPI.cs: Set the has default flag on fields when a default data
96 constant is assigned to them.
98 2004-05-25 Jackson Harper <jackson@ximian.com>
100 * PEAPI.cs: Encode string constants as unicode before putting them
103 2004-05-25 Jackson Harper <jackson@ximian.com>
105 * PEAPI.cs: zero RVAs for abstract, runtime, and internal call
108 2004-04-30 Duncan Mak <duncan@ximian.com>
110 * PEAPI.dll.sources: Added Assembly/AssemblyInfo.cs and
113 2004-04-02 Jackson Harper <jackson@ximian.com>
115 * PEAPI.cs: Allow hash algorithms to be any integer.
117 2004-02-18 Jackson Harper <jackson@ximian.com>
119 * PEAPI.cs: Add a class for creating instances of class refs, this
120 is used for setting the class or valuetype of a types instance so the class
121 reference isn't modified. Allows things like 'valuetype [mscorlib]System.Object'.
123 2003-11-18 Jackson Harper <jackson@ximian.com>
125 * PEAPI.cs: If the data length for a methods seh section is
126 greater then 255 use fat format headers.
128 2003-11-17 Jackson Harper <jackson@ximian.com>
130 * PEAPI.cs: Allow strings to be loaded as bytearrays.
132 2003-10-19 Jackson Harper <jackson@ximian.com>
134 * PEAPI.cs: Use bytes not bits for constant sizes.
136 2003-10-18 Jackson Harper <jackson@ximian.com>
138 * PEAPI.cs: Add proper support for short instructions, removing
139 PEAPI's auto selection of short/long branch operations feature.
141 2003-10-10 Jackson Harper <jackson@ximian.com>
143 * PEAPI.cs: New GenericMethodSig class for creating generic method
144 signatures. Use this class instead of GenericTypeInst for creating
145 generic methods. Fix Generic call conv. according to two of my
146 docs it is 0x10 and only one says 0x50 so I will go with 0x10.
148 2003-10-09 Jackson Harper <jackson@ximian.com>
150 * PEAPI.cs: Add generic method Mvar type. Add MethodSpec table,
151 and an Api method for adding methods to the methodspec table.
153 2003-10-08 Jackson Harper <jackson@ximian.com>
155 * PEAPI.cs: Remove some old hacks for adding methods to arrays,
156 typespecs are used for this now. Add Generic call conv.
158 2003-10-08 Jackson Harper <jackson@ximian.com>
160 * PEAPI.cs: Remove methods for creating generic parameters without
161 a name, names are mandatory. Add method to add type parameters to
162 methods. Allow GenericParameters to have either a type or a
163 method as its owner. Also fix visibility of GenericParameters, a
164 GenericParameter should not be created outside of PEAPI.
166 2003-10-07 Jackson Harper <jackson@ximian.com>
168 * PEAPI.cs: Add unbox.any instruction.
170 2003-09-27 Jackson Harper <jackson@latitudegeo.com>
172 * PEAPI.cs: Fix pinvoke attributes, zero a methods RVA if it has
173 pinvoke info. This isn't entirely correct because native unmanaged
174 methods can have pinvoke info and not have 0 RVAs PEAPI can't
175 handle native unmanged code though. Expose the ModuleClass so
176 'global' items can be referenced like this '<Module>'::foo.
178 2003-09-21 Jackson Harper <jackson@latitudegeo.com>
180 * PEAPI.cs: sigh, sometimes it is best to calculate variables
181 before using them. This fixes PEAPI creating broken images when
182 the sdata section is used.
184 2003-09-20 Jackson Harper <jackson@latitudegeo.com>
186 * PEAPI.cs: Rework to allow multiple constraints to be added to a
187 single generic parameter.
189 2003-08-19 Jackson Harper <jackson@latitudegeo.com>
191 * PEAPI.cs: Make no super method public so we can have types
194 2003-08-03 Jackson Harper <jackson@latitudegeo.com>
196 * PEAPI.cs: New Sentinel type.
198 2003-08-03 Jackson Harper <jackson@latitudegeo.com>
200 * PEAPI.cs: Only give method definitions 0 RVAs if they are
203 2003-08-03 Jackson Harper <jackson@latitudegeo.com>
205 * PEAPI.cs: Offsets are not explicit offsets, they are just
206 byte offsets from the current position.
208 2003-07-29 Jackson Harper <jackson@latitudegeo.com>
210 * PEAPI.cs: Allow labels to be created with an explicit offset
212 Fri Jul 25 19:25:31 CEST 2003 Paolo Molaro <lupus@ximian.com>
214 * PEAPI.cs: added coded index for the owner field in the GenericParam
217 2003-07-20 Jackson Harper <jackson@latitudegeo.com>
219 * PEAPI.cs: Add methods to PEFile to allow fields and methods to
220 be added to type specs. This fixing bah-zillions of little
221 problems in ilasm. We can now add fields and methods to arrays,
222 reference types, and most importantly generics.
224 Add the GenericTypeInst class. This is an instance of a generic
225 type. ie Hash<int32, string>. GenericTypeSpecs now write their id
226 number as a compressed number, this matches the way the runtime
227 loads them and will allow generic types to have more then 255 type
230 2003-07-17 Jackson Harper <jackson@latitudegeo.com>
232 * PEAPI.cs: Add GenericTypeSpec so generic members can be
233 referenced. Add the ldelem and stelem opcodes (these are part of
236 2003-07-15 Jackson Harper <jackson@latitudegeo.com>
238 * PEAPI.cs: Allow generic constraints to be added, emit generic
241 2003-07-14 Jackson Harper <jackson@latitudegeo.com>
243 * PEAPI.cs: Cleanup methods for generics, now that constraints and
244 params are seperated.
246 2003-05-31 Jackson Harper <jackson@latitudegeo.com>
248 * PEAPI.cs: Initial work on implementing custom
249 attributes. Attributes can now be added to ClassDefs and
250 MethodDefs. Still need to implement for other metadata elements.
251 Added the stele.r4 and stelem.r8 instructions, this should also
252 shift the stelem.ref instruction to the proper value (0xA2)
254 2003-05-25 Jackson Harper <jackson@latitudegeo.com>
256 * PEAPI.cs: Create a list of vararg signatures and add them all to
257 tables. this allows more then one vararg signature to be created
260 2003-05-18 Jackson Harper <jackson@latitudegeo.com>
262 * PEAPI.cs: Add methods to allow methods to be added to arrays.
264 2003-05-11 Jackson Harper <jackson@latitudegeo.com>
266 * PEAPI.cs: The class size in class layout metadata table is a
269 2003-04-05 Jackson Harper <jackson@latitudegeo.com>
271 * PEAPI.cs: Add indexes to GenericParameters, make string index
272 always a full 4 bytes.
274 2003-04-05 Jackson Harper <jackson@latitudegeo.com>
276 * PEAPI.cs: Add GenericParameter table, and method to add generic
279 2003-03-15 Daniel Morgan <danmorg@sc.rr.com>
281 * PEAPI.build: added file for windows build
283 2003-03-06 Jackson Harper <jackson@latitudegeo.com>
285 * PEAPI.cs: (ImplAttr) Add Optil implementation flag (not supported
286 in first release of CLR)
287 (Class) And Name property
289 2003-03-06 Jackson Harper <jackson@latitudegeo.com>
291 * makefile.gnu: Add file
292 * list.unix: Add file
294 2003-03-02 Jackson Harper <jackson@latitudegeo.com>
296 * PEAPI.cs: Do not add file extensions to output names
298 2003-03-02 Jackson Harper <jackson@latitudegeo.com>
301 * README.txt: Add file