[fpc-pascal] Namespace collisions

Adriaan van Os adriaan at adriaan.biz
Thu Nov 7 16:27:58 CET 2024


In ObjectiveC we have the infamous namespace collision problem. I am wondering how this applies to 
Objective Pascal.

For example, I have a plugin, written in Pascal, with only one global external symbol, the plugin 
entry point

000000000000a6d0 (__TEXT,__text) external _MyPluginEntryPoint

But the plugin uses Cocoa internally, e.g. to declare an NSApplicationDelegate. This ends up in the 
plugin code as a non-global symbol, e.g.

000000000006aa80 (__TEXT,__text) non-external (was a private external) -[NSApplicationDelegate 
application:openFile:]

And I have another plugin that does the same. So, there are two non-global symbols like this

000000000006aa80 (__TEXT,__text) non-external (was a private external) -[NSApplicationDelegate 
application:openFile:]

Does the namespace collision problem apply now ? or only to symbols that are global external 
symbols ? Is this different in Objective Pascal from Objective C ?

Regards,

Adriaan van Os


More information about the fpc-pascal mailing list