[Monodevelop-devel] Parser Overview
Michael Hutchinson
m.j.hutchinson at gmail.com
Tue Sep 30 00:59:49 EDT 2008
Hi,
> 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
http://mjhutchinson.com
More information about the Monodevelop-devel-list
mailing list