[Monodevelop-devel] Parser Overview

Michael Hutchinson m.j.hutchinson at gmail.com
Tue Sep 30 00:59:49 EDT 2008


> On Mon, Sep 29, 2008 at 3:38 PM, Christian Hergert
> <christian.hergert at gmail.com> wrote:
>> I have a class that extends ParsedDocument.  Do references inside that
>> class get persisted to the parser database?  Or is this perhaps something
>> that i should have encapsulated in an ICompilationUnit.

I /think/ any fields of objects that are [Serializable] will get
persisted, which includes all the collections that the base
ParsedDocument has.

On Mon, Sep 29, 2008 at 7:29 PM, Christian Hergert
<christian.hergert at gmail.com> wrote:
> Ok, so after some further exploration, I think I understand the
> ICompilationUnit stuff.  I was really hoping that the interface would expose
> information via IEnumerable's so that I could maintain data in my own format
> and yield requested data at will.  It also seems that the ICompilationUnit
> is very much geared towards c#/.net.  I'll just map things the best I can.

ParsedDocument is designed to be language-agnostic. ICompilationUnit
is very much .NET-specific, so if you don't want to use it, you don't
have to. Have the field here is not ideal IMO, but my suggestion for a
.NET parse unit interface was not taken up. There's a thread of
discussion about this that you might be able to contribute to.

The design so far has been pretty much driven by C#, so if you have
any suggestions to improve it, now would be the time to voice them,
before we start heading into the 2.0 betas.

>> As an example ..
>> PythonParsedDocument : ParsedDocument {
>>     PythonModule module; // hoping this gets persisted

If what I suspect is correct, PythonModule  would have to be
serializable. However, the DB is optimised/indexed for type lookup and
stuff, and this would obviously not work easily with custom
serializable classes. This may be something that we could improve.

Michael Hutchinson

More information about the Monodevelop-devel-list mailing list