[Gambas-user] Class name collision?

Tobias Boege taboege at gmail.com
Tue Jun 18 23:00:45 CEST 2019


On Tue, 18 Jun 2019, Yeshua Rodas wrote:
> Hello coders.
> 
> You'll see, I was very happy working on my Gambas project (a Query
> Builder), at the beginning  I just wanted to face the String handling and
> construction. Now I have an experimental component y I tried to test in a
> more realistic scenario with the `gb.db` Component.
> 
> BUT
> 
> I realize now that one of my Classes (`Table`) has the same name of `Table`
> on the `gb.db` Component. So, is there some way to resolve those class name
> collision or I must change my class name?
> 

Namespaces are a feature that has been requested occasionally, but they're
not available yet, sorry.

BTW, the runtime resolves such a naming conflict -- when you export a class
Table while another of the same name already exists in the global symbol
table (via gb.db) -- by merging both classes using the same mechanism that
inheritance would use. This is a cool feature in general and in a particular
case you might end up in a state where your program can run successfully,
but you're really creating some freaky chimera class. I would suggest to
rename your class instead, yes.

If you use other components, watch out for other common names. Request from
gb.web has bitten me before, for instance.

Regards,
Tobi

-- 
"There's an old saying: Don't change anything... ever!" -- Mr. Monk


More information about the User mailing list