JSDOC/ScopeParser.vala
[gnome.introspection-doc-generator] / JSDOC / ScopeParser.vala
index f24df6a..64ed9e9 100644 (file)
@@ -246,33 +246,34 @@ namespace JSDOC {
                         if (token == null) { // can return false at EOF!
                             break;
                         }
-                        if (token.name == "VAR" || token.data == ',') { // kludge..
+                        if (token.name == "VAR" || token.data == ",") { // kludge..
                             continue;
                         }
                         //this.logR("parseScope GOT VAR  : <B>" + token.toString() + "</B>"); 
                         if (token.type != "NAME") {
-                            for(var i = Math.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());
                             }
                             
                             print( "var without ident");
-                            Seed.quit()
+                            GLib.Process.exit (0);
                         }
                         
 
-                        if (this.mode == "BUILDING_SYMBOL_TREE") {
-                            identifier = scope.getIdentifier(token.data,token) ;
+                        if (this.mode == ScopeParserMode.BUILDING_SYMBOL_TREE) {
+                            var identifier = scope.getIdentifier(token.data,token) ;
                             
                             if (identifier == false) {
                                 scope.declareIdentifier(token.data, token);
                             } else {
                                 token.identifier = identifier;
-                                this.warn("(SCOPE) The variable " + token.data  + ' (line:' + token.line + ")  has already been declared in the same scope...");
+                                this.warn("(SCOPE) The variable " + token.data  + " (line:" + token.line + ")  has already been declared in the same scope...");
                             }
                         }
 
                         token = this.ts.nextTok();
-                        !this.debug|| print(token.toString());
+                        //!this.debug|| print(token.toString());
                         /*
                         assert token.getType() == Token.SEMI ||
                                 token.getType() == Token.ASSIGN ||
@@ -284,15 +285,15 @@ namespace JSDOC {
                         } else {
                             //var bn = this.braceNesting;
                             var bn = this.braceNesting;
-                            var nts = [];
+                            var nts = new Gee.ArrayList<Token>();
                             while (true) {
-                                if (!token || token.type == 'VOID' || token.data == ',') {
+                                if (!token || token.type == "VOID" || token.data == ",") {
                                     break;
                                 }
-                                nts.push(token);
+                                nts.add(token);
                                 token = this.ts.nextTok();
                             }
-                            if (nts.length) {
+                            if (nts.size > 0) {
                                 var TS = this.ts;
                                 this.ts = new TokenStream(nts);
                                 this.parseExpression(scope);
@@ -306,7 +307,7 @@ namespace JSDOC {
                             token = this.ts.lookTok(1);
                             //!this.debug|| 
                            // print("AFTER EXP: " + token.toString());
-                            if (token.data == ';') {
+                            if (token.data == ";") {
                                 break;
                             }
                         }
@@ -333,15 +334,18 @@ namespace JSDOC {
                     //print('SCOPE-CURLY/PAREN:' + token.toString());
                     //println("<i>"+token.data+"</i>");
                     var curTS = this.ts;
-                    if (token.props) {
+                    if (token.props.size() > 0) {
                         
                         // { a : ... , c : .... }
+                        var iter = token.props.map_iterator();
                         
-                        for (var prop in token.props) {
+                        while(iter.next()) {
+                               
+                            TokenKeyMap val = iter.get_value(); // TokenKeyMap
                             
                             
                           //  print('SCOPE-PROPS:' + JSON.stringify(token.props[prop],null,4));
-                            if (token.props[prop].val[0].data == 'function') {
+                            if (val.vals.get(0).data == "function") {
                                 // parse a function..
                                 this.ts = new TokenStream(token.props[prop].val);
                                 this.ts.nextTok();