Jb Evain
unread,Aug 27, 2005, 7:51:58 PM8/27/05Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to mono...@googlegroups.com
Hola,
Once again, I'm pretty happy with the work achieved last week. I've
fixed the public API for writing and modifying assemblies. The reading
part of the public API has not been impacted.
The previous bits were very similar to the SRE api, that uses Define*
methods to create items, and that send arrays for reading, GetMethods
for instance. Now all of this has changed, and you can think an
assembly object graph more than an XML file for instance, where you
create nodes, and add them were you want. The same here, you create
methods, and you add them to the type you want. The typed collections
are now much more usable like others .net collections. Some bits are
not implemented here and there in the parts of the API that allows you
to modify assemblies, but I prefer focusing on the writing core api,
as defined in the SoC subject.
Talking about the writing core, it's now much more stable, and have
almost everything implemented. Complex custom attributes are not yet
supported, ie custom attributes using arrays, or exposing public
fields and properties. The other thing wich is not implemented is the
support for multiple modules emitting, but I won't have the time to
implement that before the 1st september, moreover, this is not
mandatory for 99% of users.
The good news is that today, i've succesfully round tripped Cecil in a
working assembly. The only problem is that I'm still not able to use
the result of the round trip, and round trip it again: it produces a
file, but parts of the assembly are not in the correct order. This is
not easy to debug. I would need a tool to compare assemblies to know
precisely what is fucked up.
So next week will be dedicated to implement the missing bits in custom
attributes encoding, and fixing as many bugs as possible.
Otherwise, I think I've pretty much accomplished my task for the SoC.
Of course, I'm not ended with Cecil, there is still tons of work to
make on it: debugging infos, .net 2 assemblies, optimization...
Ok, I go back to work, good luck to everyone, I'm pretty excited about
the work all of you have done, I hope I'll be able to play with those
new projects soon!
Jb