Details
Description
See http://groups.google.com/group/boolang/msg/1642b080b0556fca
I don't have a way to test it myself, but I believe this can be implemented by adding a string field to the emitassembly class named _moduleFileName that is set in the InitializeDebugInfoWriter method. Then change the try block in the EmitDebugInfo method to this or something like it:
if (start.FileName != _moduleFileName)
{ _il.MarkSequencePoint( _moduleBuilder.DefineDocument( start.FileName, Guid.Empty, Guid.Empty, SymDocumentType.Text), start.Line, 0, start.Line+1, 0); }else
{ _il.MarkSequencePoint(_symbolDocWriter, start.Line, 0, start.Line+1, 0); }
A better way is to use a hashtable to store symboldocwriters and clear it after each module. I'll test it with partial classes later.