July 04, 2005 Reading the ModuleInfo data? | ||||
---|---|---|---|---|
| ||||
I'd like to know if it is possible to get a pointer to the ModuleInfo object of the current module. I am asking because i want to do something like this: #### library module #### module some.library; template LibraryMixin() { void func(char[] str) { someOtherFunc(str, currentModule.name); // HERE } } #### #### program module #### module my.program; mixin LibraryMixin!(); int main(char[][] args) { func("Hello, world."); return 0; } #### The line marked with “HERE” calls someOtherFunc(), and it should pass the name of the current module to it. As the function belongs to a mixin that is inserted into module my.program, that should be "my.program" or something similar, but *not* "some.library". I could of course solve that with something like this: #### module some.library; template LibraryMixin(alias moduleName) // use the moduleName... #### module my.program; char[] modName = __FILE__; mixin LibraryMixin!(modName); #### But that requires this extra line i'd really like to avoid if possible, to make the use of some.library as simple to the user as possible. Thanks & ciao uwe |
Copyright © 1999-2021 by the D Language Foundation