Symbol = imports.Symbol.Symbol;
DocComment = imports.DocComment.DocComment;
-/****************** INCLUDES ARE ALL AT THE BOTTOM OF THIS FILE!!!!! *******************/
-
+
// should not realy be here -- or anywhere...??
function makeSortby(attribute) {
},
-
+ /**
+ * create a list of files in this.srcFiles using list of directories / files in Options.src
+ *
+ */
_getSrcFiles : function()
{
//Seed.print(JSON.stringify(this.srcFiles, null,4));Seed.quit();
return this.srcFiles;
},
+ /**
+ * Parse the source files.
+ *
+ */
_parseSrcFiles : function()
{
var srcFile = this.srcFiles[i];
- var cacheFile = Options.cacheDirectory + srcFile.replace(/\//g, '_') + ".cache";
+ var cacheFile = !Options.cacheDirectory.length ? false :
+ Options.cacheDirectory + srcFile.replace(/\//g, '_') + ".cache";
- //println(cacheFile);
+ //print(cacheFile);
// disabled at present!@!!
- if (false && !Options.disablecache && File.exists(cacheFile)) {
+ 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 );
+ 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;
var ts = new TokenStream(tr.tokenize(txs));
Parser.parse(ts, srcFile);
-
+
+ if (cacheFile) {
+ File.write(cacheFile,
+ JSON.stringify(
+ Parser.symbolsToObject(srcFile),
+ null,2
+ )
+ );
+
+ }
//var outstr = JSON.stringify(
// Parser.filesSymbols[srcFile]._index
//);
}
- File.write(Options.target+"/symbols/json/roodata.json",
+ File.write(Options.target+"/json/roodata.json",
JSON.stringify({
success : true,
data : jsonAll
*
*
*/
- publishJSON : function(file, data)
+ publishJSON : function(data)
{
// what we need to output to be usefull...
// a) props..
var cfgProperties = [];
if (!data.comment.getTag('singleton').length) {
cfgProperties = data.configToArray();
- cfgProperties = cfgProperties.sort(makeSortby("name"));
+ cfgProperties = cfgProperties.sort(makeSortby("alias"));
}
var props = [];