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 );
+ 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[sy]);
}
continue;
if (cacheFile) {
File.write(cacheFile,
JSON.stringify(
- Parser.symbolsToObject(srcFile)
+ Parser.symbolsToObject(srcFile),
+ null,2
)
);