[vos-d] Fun with the generator
Lalo Martins
lalo.martins at gmail.com
Mon Mar 17 15:33:24 EDT 2008
Well. I spun off the web MVC stuff into a new library (hypervos). That
opened a pandora box of generator fun :-)
I'm a bit exhausted, so I'll go over them briefly; if you need more
detail, ask, and I'll elaborate tomorrow. Or check out my branch and
play around yourself.
Also, I'm not saying these need to be fixed urgently; just that we need
to know about them for the future.
1: mod_vos.xod (and my other projects) extend a lot of classes from the
new library. But since the generator doesn't know about those, it
reports broken links and generally doesn't know what to do.
The answer to this may be in my plugin loader; I might try my hand at
solving it later this week.
2: The #define guards use only the file name. If you have headers with
the same name in different libraries (eg MVC.hh)... you get my point I
think. I manually changed them to eg #define _hypervos_MVC_hh_, might
make the change in the generator later.
3: Much worse happens if you have namespaces with the same name :-) the
generated code has things like MVC::View all over, which of course
generate "ambiguous namespace reference" errors galore.
4: This is unrelated to the hypervos move, I noticed it earlier. If my
class "Foo" extends "vos::core::Bar", then Foo.hh will have
#include "Bar.hh"
which of course won't work so well... should be <vos/Bar.hh> :-)
5: Just to put in a positive note and because I like the number 5 better
than 4, I'll say I found great joy in recent s5 work; in particular
Vobject::clone() saved me hours of toil!
best,
Lalo Martins
--
So many of our dreams at first seem impossible,
then they seem improbable, and then, when we
summon the will, they soon become inevitable.
-----
http://lalomartins.info/
GNU: never give up freedom http://www.gnu.org/
More information about the vos-d
mailing list