diff lphobos/internal/objectimpl.d @ 473:373489eeaf90

Applied downs' lphobos update
author Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
date Mon, 04 Aug 2008 19:28:49 +0200
parents a2c2c3c1a73d
children eef8ac26c66c
line wrap: on
line diff
--- a/lphobos/internal/objectimpl.d	Mon Aug 04 19:08:39 2008 +0200
+++ b/lphobos/internal/objectimpl.d	Mon Aug 04 19:28:49 2008 +0200
@@ -1132,16 +1132,27 @@
     void function() ctor;
     void function() dtor;
     void function() unitTest;
+    
+    void* xgetMembers;
+    void function() ictor;
 
     /******************
      * Return collection of all modules in the program.
      */
-    static ModuleInfo[] modules()
-    {
-    return std.moduleinit._moduleinfo_array;
+    static int opApply(int delegate(ref ModuleInfo) dg) {
+      foreach (ref mod; std.moduleinit._moduleinfo_array)
+        if (auto i = dg(mod)) return i;
+      return 0;
     }
 }
 
+struct ModuleReference
+{
+    ModuleReference* next;
+    ModuleInfo mod;
+}
+extern(C) ModuleReference* _Dmodule_ref;
+
 /**
  * All recoverable exceptions should be derived from class Exception.
  */
@@ -1189,4 +1200,3 @@
 }
 
 //extern (C) int nullext = 0;
-