X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=JSDOC%2FScopeParser.vala;h=a6c181b1e34d85fbcab366eb9ee999a1d1d6ca97;hb=6e248ccf55375a678357d1874740caa66bc2b637;hp=7efbe309cf4d0e9bc6c5dc9c1fcee80888400de1;hpb=6e49907f256e6e78a69df47de7de772bab07e0d1;p=gnome.introspection-doc-generator diff --git a/JSDOC/ScopeParser.vala b/JSDOC/ScopeParser.vala index 7efbe30..a6c181b 100644 --- a/JSDOC/ScopeParser.vala +++ b/JSDOC/ScopeParser.vala @@ -24,7 +24,7 @@ namespace JSDOC { Gee.HashMap indexedScopes; bool munge = true; - + int expN = 0; public ScopeParser(TokenStream ts) { this.ts = ts; // {TokenStream} @@ -252,7 +252,7 @@ namespace JSDOC { //this.logR("parseScope GOT VAR : " + token.toString() + ""); if (token.type != "NAME") { - for(var i = Int.max(this.ts.cursor-10,0); i < this.ts.cursor+1; i++) { + for(var i = int.max(this.ts.cursor-10,0); i < this.ts.cursor+1; i++) { print(this.ts.tokens[i].toString()); } @@ -495,7 +495,7 @@ namespace JSDOC { break; //println("SID"); default: - if (token.type != 'KEYW') { + if (token.type != "KEYW") { break; } //print('SCOPE-KEYW:' + token.toString()); @@ -503,7 +503,7 @@ namespace JSDOC { symbol = token.data; - if (this.mode == 'BUILDING_SYMBOL_TREE') { + if (this.mode == ScopeParserMode.BUILDING_SYMBOL_TREE) { if (token.name == "EVAL") { @@ -514,6 +514,8 @@ namespace JSDOC { // look for eval:var:noreplace\n //print("MATCH!?"); var _t = this; + + token.prefix.replace(/eval:var:([a-z_]+)/ig, function(m, a) { //print("GOT: " + a); var hi = _t.getIdentifier(a, scope, token); @@ -550,38 +552,37 @@ namespace JSDOC { } //print("<<< EXIT SCOPE"); //print("<<<<<<EXP
"); - !this.debug || print("PARSE EXPR"); + //!this.debug || print("PARSE EXPR"); this.expN++; // for printing stuff.. - var symbol; - var token; - - var identifier; var expressionBraceNesting = this.braceNesting + 0; var bracketNesting = 0; var parensNesting = 0; var isInObjectLitAr; - var isObjectLitAr = [ false ]; + var isObjectLitAr = new Gee.ArrayList(); + isObjectLitAr.add( false); //print(scopeIndent + ">> ENTER EXPRESSION" + this.expN); - while ((token = this.ts.nextTok())) { + while (null != (token = this.ts.nextTok())) { @@ -602,23 +603,23 @@ namespace JSDOC { //println(""+token.data+""); //this.log("EXP:" + token.data); switch (token.type) { - case 'PUNC': + case "PUNC": //print("EXPR-PUNC:" + token.toString()); switch(token.data) { - case ';': + case ";": //print("<< EXIT EXPRESSION"); break; - case ',': + case ",": break; - case '(': //Token.LP: - case '{': //Token.LC: - case '[': //Token.LB: + case "(": //Token.LP: + case "{": //Token.LC: + case "[": //Token.LB: //print('SCOPE-CURLY/PAREN/BRACE:' + token.toString()); // print('SCOPE-CURLY/PAREN/BRACE:' + JSON.stringify(token, null,4)); //println(""+token.data+"");