/runtime/moduleinfo.d

http://github.com/wilkie/djehuty · D · 39 lines · 28 code · 10 blank · 1 comment · 1 complexity · 9df8093bc5c83f5ebc09e7ea7d5fbf6d MD5 · raw file

  1. module runtime.moduleinfo;
  2. import core.definitions;
  3. // Description: This class describes a D module.
  4. class ModuleInfo {
  5. string name;
  6. ModuleInfo[] importedModules;
  7. ClassInfo[] localClasses;
  8. uint flags;
  9. void function() ctor;
  10. void function() dtor;
  11. void function() unitTest;
  12. void* xgetMembers;
  13. void function() ictor;
  14. static int opApply(int delegate(ref ModuleInfo) loopBody) {
  15. int ret = 0;
  16. foreach(mod; _modules) {
  17. ret = loopBody(mod);
  18. if(ret) {
  19. break;
  20. }
  21. }
  22. return ret;
  23. }
  24. ModuleInfo[] modules {
  25. return _modules.dup;
  26. }
  27. private:
  28. static ModuleInfo[] _modules;
  29. }