JSDOC/Options.js
[gnome.introspection-doc-generator] / JSDOC / BuildDocs.js
index 36a66cb..2ef7e4b 100644 (file)
@@ -122,22 +122,37 @@ BuildDocs = {
             if (cacheFile  && File.exists(cacheFile)) {
                 // check filetime?
                 
-                var c_mt = File.getTimes(cacheFile);
-                var o_mt = File.getTimes(srcFile);
+                var c_mt = File.mtime(cacheFile);
+                var o_mt = File.mtime(srcFile);
                 //println(c_mt.toSource());
                // println(o_mt.toSource());
                
                 // this check does not appear to work according to the doc's - need to check it out.
                
-                if (c_mt[0] > o_mt[0]) { // cached time  > original time!
+                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) {
-                        //println("ADD:" + sy );
-                       Parser.symbols.addSymbol(syms[sy]);
+                    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) {
+                      //  print("ADD:" + sy );
+                       Parser.symbols.addSymbol(syms._index[sy]);
                     }
                     continue;
                 }
@@ -164,7 +179,8 @@ BuildDocs = {
             if (cacheFile) {
                 File.write(cacheFile,
                   JSON.stringify(
-                    Parser.symbolsToObject(srcFile)
+                    Parser.symbolsToObject(srcFile),
+                    null,2
                   )
                 );