JSDOC/BuildDocs.js
[gnome.introspection-doc-generator] / JSDOC / BuildDocs.js
index 9159e67..68be684 100644 (file)
@@ -119,7 +119,7 @@ BuildDocs = {
             //print(cacheFile);
             // disabled at present!@!!
             
-            if (false && cacheFile  && File.exists(cacheFile)) {
+            if (cacheFile  && File.exists(cacheFile)) {
                 // check filetime?
                 
                 var c_mt = File.mtime(cacheFile);
@@ -131,11 +131,24 @@ BuildDocs = {
                
                 if (c_mt > o_mt) { // cached time  > original time!
                     // use the cached mtimes..
-                    var syms =  JSON.parse(File.read(cacheFile));
-                    
-                    throw "Conversion of cache not done yet!";
-                    
-                    for (var sy in syms) {
+                    print("Read " + cacheFile);
+                    var syms =  JSON.parse(File.read(cacheFile), function(k, v) {
+                        //print(k);
+                        if (typeof(v) != 'object') {
+                            return v;
+                        }
+                        if (typeof(v._object) == 'undefined') {
+                            return v;
+                        }
+                        var cls = imports[v._object][v._object];
+                        print(v._object);
+                        delete v._object;
+                        var ret = new cls();
+                        XObject.extend(ret, v);
+                        return ret;
+                    });
+                    print("Add sybmols " + cacheFile); 
+                    for (var sy in syms._index) {
                         //println("ADD:" + sy );
                        Parser.symbols.addSymbol(syms[sy]);
                     }
@@ -164,7 +177,8 @@ BuildDocs = {
             if (cacheFile) {
                 File.write(cacheFile,
                   JSON.stringify(
-                    Parser.symbolsToObject(srcFile)
+                    Parser.symbolsToObject(srcFile),
+                    null,2
                   )
                 );