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!";
-
+ 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;
+ });
+
for (var sy in syms) {
//println("ADD:" + sy );
Parser.symbols.addSymbol(syms[sy]);
Parser.parse(ts, srcFile);
if (cacheFile) {
- var outstr = JSON.stringify(
- Parser.filesSymbols.toArray(srcFile)
+ File.write(cacheFile,
+ JSON.stringify(
+ Parser.symbolsToObject(srcFile),
+ null,2
+ )
);
- //File.write(cacheFile, outstr);
+
}
//var outstr = JSON.stringify(
// Parser.filesSymbols[srcFile]._index