X-Git-Url: http://git.roojs.org/?p=gnome.introspection-doc-generator;a=blobdiff_plain;f=JSDOC%2FCompressWhite.js;h=50d7476e10984fdd2a4d6bfb8af89db6e7ce894d;hp=f50a1753c160f1f3087fb59e81bb2e20eda75cf8;hb=HEAD;hpb=f4b15af99278e5161069971f26afca33d2c86182 diff --git a/JSDOC/CompressWhite.js b/JSDOC/CompressWhite.js index f50a175..50d7476 100644 --- a/JSDOC/CompressWhite.js +++ b/JSDOC/CompressWhite.js @@ -8,19 +8,22 @@ @arg packer {Packer} */ -CompressWhite = function (ts, packer) +const CompressWhite = function (ts, packer, keepWhite) { - + keepWhite = keepWhite || false; ts.rewind(); //var str = File.read(fn); var rep_var = 1; + + while (true) { var tok = ts.next(); if (!tok) { break; } if (tok.type == "WHIT") { + continue; //if (tok._isDoc) { // continue; @@ -71,13 +74,37 @@ CompressWhite = function (ts, packer) //println("got = function() "); var cu = ts.cursor; - ts.balance("("); - ts.balance("{"); + if (!ts.balance("(") ){ + ts.dump(cu-40, cu); + print(">>>>>>>>>>>>>>>>>HERE>>>>>>>>>>>>"); + ts.dump(cu, cu+40); + + throw "could not find end lbrace!!!"; + } + //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()); + // 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.lookTok(1,true).name == "NEWLINE") { - ts.look(1).outData = ts.look(1).data+";"; + 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()); + //ts.dump(cu, ts.cursor+2); } + + //ts.dump(cu, ts.cursor+2); // restore.. ts.cursor = cu; continue; @@ -139,8 +166,7 @@ CompressWhite = function (ts, packer) throw "could not find end lbrace!!!"; } // if next is not ';' -> make it so... - print(ts.lookTok(1).toString()); - print(ts.lookTok(1,true).toString()); + if (ts.lookTok(1).data != ';' && ts.lookTok(1).data != '}' && ts.look(1,true).name=="NEWLINE") { ts.look(0).outData = ts.look(0).data +";"; } @@ -245,18 +271,27 @@ CompressWhite = function (ts, packer) var out = ''; var outoff = 0; - out.length = ts.slen; // prealloc. + try { out.length = ts.slen; } catch (e) {} // prealloc. + out = ''; + var tok; while (true) { - var tok = ts.nextTok(); - + + tok = keepWhite ? ts.next() : ts.nextTok(); + if (!tok) { break; } + if (tok.type == "COMM") { + tok.outData = '\n'; + } + ///print(tok.type + ':' + tok.data); - if (tok.type == "NAME" && tok.identifier && tok.identifier.mungedValue && tok.identifier.mungedValue.length) { + if (tok.type == "NAME" && tok.identifier + && tok.identifier.mungedValue && tok.identifier.mungedValue.length) { //f.write(tok.identifier.mungedValue); + //print("MUNGED: " + tok.identifier.mungedValue); out += tok.identifier.mungedValue; continue; }