17 Mar 20:31
Fun with the generator
From: Lalo Martins <lalo.martins@...>
Subject: Fun with the generator
Newsgroups: gmane.comp.lib.vos.devel
Date: 2008-03-17 19:33:24 GMT
Subject: Fun with the generator
Newsgroups: gmane.comp.lib.vos.devel
Date: 2008-03-17 19:33:24 GMT
Well. I spun off the web MVC stuff into a new library (hypervos). That opened a pandora box of generator fun(Continue reading)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>
![]()
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
RSS Feed