[nem-en] Manager class

Kamil Skalski kamil.skalski at gmail.com
Tue May 30 22:04:38 CEST 2006


> > What do you exactly mean with 'code duplication'? I know there's some
> > stuff that have been moved to the Manager class, and I want to get rid
> > of it (maybe having the compiler init directly in Manager). However,
> > most of the things are not as in normal Manager, that's wh they remain
> > in Engine. If you have any other suggestions, feel free to post it
> > here, I'll try to do my best to improve the Completion Engine.
> > However, what do you exactly need? Lexer or parser is not available
> > through Completion Engine, but just type tree and method completion.
> Seems that I was not crystal clear (happens a lot :)
> I meant that you were able to make your own manager class working and it
> seems that the initialization almost duplicates the code in the Manager
> class. As Nazgul said he will refactor the code further to eliminate the
> code duplication. However meantime I will copy your code for my parser
> stuff because I simply cannot decipher exactly what is needed to make
> that ManagerClass working... So no suggestions here, I have just lost in
> the code :(

I just change completion engine to use ManagerClass's InitCompiler and
LoadExternalLibraries instead of performing operations copy pasted
from there.

I think the main objective is to make ManagerClass.Run method more
flexible (it should call a bunch of virtual methods for every step or
run a pipeline on small "compiler step" structures), so completion
engine could just specify what is desired (recreating the hierarchy
tree, parsing one file, or one method) and call Run from base class.

Also I wonder if Options.PersistentLibraries can be used by completion
engine - it avoids loading of libraries and creating hierarchy tree
for them in several compiler runs.


-- 
Kamil Skalski
http://nazgul.omega.pl



More information about the devel-en mailing list