[mercury-users] Is there a way to tell if a method, variable, etc. is local or external when creating .NET il code?

Peter Ross pro at missioncriticalit.com
Mon May 21 11:30:22 AEST 2007


On 5/21/07, Eric Taucher <gluon at earthlink.net> wrote:
> I am trying to modify Mercury to use .NET 2.0 and believe that the changes
> from assembly references to module references for external items is correct
> per my previous posting, but I don't know enough about the compilation
> process at present to come up with another solution. If this is not the
> correct solution, then please let me know.
>
> In the mean time the plan is to proceed on using external module references
> and so help is needed in determining if or how Mercury identifies methods,
> variables, etc, as external and needing an external module reference so that
> the changes to the generation of the IL code for .NET 2.0 can be tested.
> Also of interest is if external items such as builtin, bool, list, string,
> char, etc. should be referenced as external modules.
>
The key is the type structured_name defined in ilds.m, it is meant to
refer to either assemblies or modules.  It is incorrectly refering to
a module

You could try compiling in the asm_fast.gc.decldebug grade, putting a
break point where the incorrect structured_name is output (see
ilasm.output_structured_name) and then use the track command inside
the debugger to see where the type was constructed and why it has the
wrong value.

Hope this helps.
--------------------------------------------------------------------------
mercury-users mailing list
Post messages to:       mercury-users at csse.unimelb.edu.au
Administrative Queries: owner-mercury-users at csse.unimelb.edu.au
Subscriptions:          mercury-users-request at csse.unimelb.edu.au
--------------------------------------------------------------------------



More information about the users mailing list