- //println(ar[i].toSource());
- var tok = ar[i];
- //println("tidy" + i + ":" + tok.val);
- if ( (tok.val == '{') || (tok.val == '[') || (tok.val == '(') ) {
- indent += " ";
- eret += tok.val;
- lbr = true;
- continue;
- }
- if ( (tok.val == '}') || (tok.val == ']') || (tok.val == ')') ) {
-
- indent = indent.substring(2); // strip spaces..
- if (i < (ar.length-1) && ar[i+1].val == ',') {
- ar[i].val +=",";
- i++;
-
+ }
+ var props = [];
+ //println(cfgProperties.toSource());
+ var p ='';
+ for(var i =0; i < cfgProperties.length;i++) {
+ p = cfgProperties[i];
+ props.push( {
+ name : p.name,
+ type : p.type,
+ desc : p.desc,
+ memberOf : p.memberOf == data.alias ? '' : p.memberOf
+ });
+ }
+
+
+ var ownEvents = data.methods.filter( function(e){
+ return e.isEvent && !e.comment.getTag('hide').length;
+ }).sort(makeSortby("name"));
+
+
+ var events = [];
+ var m;
+ for(var i =0; i < ownEvents.length;i++) {
+ m = ownEvents[i];
+ events.push( {
+ name : m.name.substring(1),
+ sig : this.makeFuncSkel(m.params),
+ type : 'function',
+ desc : m.desc
+ });
+ }
+ //println(props.toSource());
+ // we need to output:
+ //classname => {
+ // propname =>
+ // type=>
+ // desc=>
+ // }
+
+ var ret = {
+ props : props,
+ events: events
+ };
+ File.write(file, JSON.stringify(ret, null, 2 ));
+
+
+ // b) methods
+ // c) events
+
+
+ },
+
+ symbolToSrcFileName : function(sourceFile)
+ {
+ var name = sourceFile.substring(Options.baseDir.length+1);
+ name = name.replace(/\.\.?[\\\/]/g, "").replace(/[\\\/]/g, "_");
+
+ name = name.replace(/\:/g, "_"); //??
+ },
+
+ makeSrcFile: function(sourceFile)
+ {
+ // this stuff works...
+ var name = this.symbolToSrcFileName(sourceFile);
+
+
+ Options.LOG.inform("Write Source file : " + Options.target+"/symbols/src/" + name);
+ var pretty = imports.PrettyPrint.toPretty(File.read(sourceFile));
+ File.write(Options.target+"/symbols/src/" + name,
+ '<html><head>' +
+ '<title>' + sourceFile + '</title>' +
+ '<link rel="stylesheet" type="text/css" href="../../../highlight-js.css"/>' +
+ '</head><body class="highlightpage">' +
+ pretty +
+ '</body></html>');
+ },
+ /**
+ * used by JSON output to generate a function skeleton
+ */
+ makeFuncSkel :function(params) {
+ if (!params) return "function ()\n{\n\n}";
+ return "function (" +
+ params.filter(
+ function($) {
+ return $.name.indexOf(".") == -1; // don't show config params in signature