X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=JSDOC%2FScopeParser.vala;h=73072b3b26ba3fab91477bfe1ec13eebd0dfb99e;hb=31d28316cd733f90ea9cb904f34f1886998ee863;hp=c81bc1eb94a42689d75c8b63a785666d264aad6d;hpb=c4a3f4e97a3977c476aa3b260085d64eda3323ad;p=gnome.introspection-doc-generator diff --git a/JSDOC/ScopeParser.vala b/JSDOC/ScopeParser.vala index c81bc1e..73072b3 100644 --- a/JSDOC/ScopeParser.vala +++ b/JSDOC/ScopeParser.vala @@ -813,16 +813,12 @@ namespace JSDOC { } - parseCatch : function(scope) { + void parseCatch(scope) { - var symbol; - var token; - - var identifier; //token = getToken(-1); //assert token.getType() == Token.CATCH; - token = this.ts.nextTok(1); + var token = this.ts.nextTok(1); token = this.ts.nextTok(1); @@ -831,40 +827,38 @@ namespace JSDOC { //token = this.ts.nextTok(); //assert token.getType() == Token.NAME; - symbol = token.items[0][0].data; + var symbol = token.items[0][0].data; - if (this.mode == 'BUILDING_SYMBOL_TREE') { + if (this.mode == ScopeParserMode.BUILDING_SYMBOL_TREE) { // We must declare the exception identifier in the containing function // scope to avoid errors related to the obfuscation process. No need to // display a warning if the symbol was already declared here... scope.declareIdentifier(symbol, token.items[0][0]); } else { //?? why inc the refcount?? - that should be set when building the tree??? - identifier = this.getIdentifier(symbol, scope, token.items[0][0]); + var identifier = this.getIdentifier(symbol, scope, token.items[0][0]); identifier.refcount++; } //token = this.ts.nextTok(); //assert token.getType() == Token.RP; // ) - }, + } - parseFunctionDeclaration : function(scope) + void parseFunctionDeclaration (Scope scope) { //print("PARSE FUNCTION"); - var symbol; - var token; var fnScope = false; - var identifier; + var b4braceNesting = this.braceNesting + 0; //this.logR("PARSING FUNCTION"); - token = this.ts.nextTok(); + var token = this.ts.nextTok(); if (token.type == "NAME") { - if (this.mode == 'BUILDING_SYMBOL_TREE') { + if (this.mode == ScopeParserMode.BUILDING_SYMBOL_TREE) { // Get the name of the function and declare it in the current scope. symbol = token.data; if (scope.getIdentifier(symbol,token) != false) { @@ -883,9 +877,9 @@ namespace JSDOC { } - + Scope fnScope; //assert token.getType() == Token.LP; - if (this.mode == 'BUILDING_SYMBOL_TREE') { + if (this.mode == ScopeParserMode.BUILDING_SYMBOL_TREE) { fnScope = new Scope(1, scope, token.n, '', token); //println("STORING SCOPE" + this.ts.cursor); @@ -900,15 +894,15 @@ namespace JSDOC { // print('FUNC-PARSE:' + JSON.stringify(token,null,4)); // Parse function arguments. var args = token.items; - for (var argpos =0; argpos < args.length; argpos++) { + for (var argpos =0; argpos < args.size; argpos++) { - token = args[argpos][0]; + token = args.get(argpos).get(0); //print ("FUNC ARGS: " + token.toString()) //assert token.getType() == Token.NAME || // token.getType() == Token.COMMA; - if (token.type == 'NAME' && this.mode == 'BUILDING_SYMBOL_TREE') { - symbol = token.data; - identifier = fnScope.declareIdentifier(symbol,token); + if (token.type == "NAME" && this.mode == ScopeParserMode.BUILDING_SYMBOL_TREE) { + var symbol = token.data; + var identifier = fnScope.declareIdentifier(symbol,token); if (symbol == "$super" && argpos == 0) { // Exception for Prototype 1.6... identifier.preventMunging(); @@ -927,11 +921,9 @@ namespace JSDOC { //token = this.ts.nextTok(); //print(token.toString()); var outTS = this.ts; - var _this = this; - token.items.forEach(function(tar) { - _this.ts = new TokenStream(tar); - _this.parseScope(fnScope); - + foreach(var tar in token.items) { + this.ts = new TokenStream(tar); + this.parseScope(fnScope); }); @@ -944,9 +936,9 @@ namespace JSDOC { //print("ENDFN -1: " + this.ts.lookTok(-1).toString()); //print("ENDFN 0: " + this.ts.lookTok(0).toString()); //print("ENDFN 1: " + this.ts.lookTok(1).toString()); - }, + } - protectScopeFromObfuscation : function(scope) { + void protectScopeFromObfuscation (scope) { //assert scope != null; if (scope == this.globalScope) { @@ -964,16 +956,18 @@ namespace JSDOC { scope.preventMunging(); }, - getIdentifier: function(symbol, scope, token) { - var identifier; - while (scope != false) { + string getIdentifier(string symbol, Scope in_scope, Token token) + { + string identifier; + var scope in_scope; + while (scope != null) { identifier = scope.getIdentifier(symbol, token); //println("ScopeParser.getIdentgetUsedSymbols("+symbol+")=" + scope.getUsedSymbols().join(',')); - if (identifier) { + if (identifier.length) { return identifier; } scope = scope.parent; } - return false; + return ""; } };