for (var i = 0; i < Options.src.length; i++) {
// add to sourcefiles..
-
+ if (!File.isDirectory(Options.src[i])) {
+ _this.srcFiles.push(Options.src[i]);
+ continue;
+ }
File.list(Options.src[i] ).forEach(function($) {
if (Options['exclude-src'].indexOf($) > -1) {
return;
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;
}
if (cacheFile) {
File.write(cacheFile,
JSON.stringify(
- Parser.filesSymbols.toArray(srcFile)
- );
+ Parser.symbolsToObject(srcFile),
+ null,2
+ )
);
}
function isaFile($) {
return ($.is("FILE"))
}
- function isaClass($) {
- return ($.is("CONSTRUCTOR") || $.isNamespace);
+ function isaClass($) {
+ return ($.is("CONSTRUCTOR") || $.isNamespace || $.isClass);
}
var targetDir = Options.target + "/symbols/src/";
this.makeSrcFile(file, targetDir);
}
+ //print(JSON.stringify(symbols,null,4));
var classes = symbols.filter(isaClass).sort(makeSortby("alias"));
var p ='';
for(var i =0; i < cfgProperties.length;i++) {
p = cfgProperties[i];
- props.push( {
+ var add = {
name : p.name,
type : p.type,
desc : p.desc,
+
memberOf : p.memberOf == data.alias ? '' : p.memberOf
- });
+ }
+ if (p.optvalues) {
+ add.optvals = p.optvalues;
+ }
+ props.push(add );
}