JSDOC/CompressWhite.js
[gnome.introspection-doc-generator] / JSDOC / CompressWhite.js
index 013c09c..13d6df7 100644 (file)
@@ -8,9 +8,9 @@
    @arg packer {Packer} 
  */
  
-CompressWhite =  function (ts, packer)
+CompressWhite =  function (ts, packer, keepWhite)
 {
-    
+    keepWhite = keepWhite || false;
     ts.rewind();
     //var str = File.read(fn);
     var rep_var = 1;
@@ -21,6 +21,7 @@ CompressWhite =  function (ts, packer)
             break;
         }
         if (tok.type == "WHIT") {
+           
             continue;
             //if (tok._isDoc) {
             //    continue;
@@ -78,27 +79,30 @@ CompressWhite =  function (ts, packer)
                     
                     throw "could not find end lbrace!!!";
                 }
-                 if (!ts.balance("{") ){
+                //print("AFTER BALANCE (");
+                //ts.dump(cu, ts.cursor);
+                //ts.cursor--; // cursor at the (
+                if (!ts.balance("{") ){
                     ts.dump(cu-40, cu);
                     print(">>>>>>>>>>>>>>>>>HERE>>>>>>>>>>>>");
                     ts.dump(cu, cu+40);
                     
                     throw "could not find end lbrace!!!";
                 }
-                print('FN: '+ts.tokens[cu].toString());
-                print('F1: '+ts.lookTok(1).toString());
-                print('F2: '+ts.look(1,true).toString());
+                //print('FN: '+ts.tokens[cu].toString());
+                //print('F1: '+ts.lookTok(1).toString());
+                //print('F2: '+ts.look(1,true).toString());
                 
                 // if next is not ';' -> make it so...
                 // although this var a=function(){},v,c; causes 
                 if (ts.lookTok(1).data != ';' && ts.lookTok(1).data != '}' && ts.look(1,true).name == "NEWLINE") {
                     
                     ts.look(0).outData = ts.look(0).data+";";
-                    print("ADDING SEMI: " + ts.look(0).toString());
+                   // print("ADDING SEMI: " + ts.look(0).toString());
                     //ts.dump(cu, ts.cursor+2);
                 }
                 
-                 ts.dump(cu, ts.cursor+2);
+                 //ts.dump(cu, ts.cursor+2);
                 // restore.. 
                 ts.cursor = cu;
                 continue;
@@ -267,13 +271,17 @@ CompressWhite =  function (ts, packer)
     var outoff = 0;
     out.length = ts.slen; // prealloc.
     out = '';
+    var tok;
     while (true) {
-        var tok = ts.nextTok();
-           
+        
+        tok = keepWhite ? ts.next() : ts.nextTok();
+        
         if (!tok) {
             break;
         }
-        
+        if (tok.name == "COMM") {
+            tok.outData == '\n';
+        }
         
         if (tok.type == "NAME"  && tok.identifier && tok.identifier.mungedValue && tok.identifier.mungedValue.length) {
             //f.write(tok.identifier.mungedValue);