JSDOC/Collapse.vala
[gnome.introspection-doc-generator] / JSDOC / Collapse.vala
index e72d713..1915f48 100644 (file)
@@ -42,8 +42,11 @@ namespace JSDOC {
                   // console.dump(ar);
                    
                }
+               
+               // put spaces into prefix of tokens..
     
-        void spaces () {
+        void spaces () 
+        {
             var ar = new Gee.ArrayList<Token>()
             var pref =  new Gee.ArrayList<Token>();
             
@@ -60,28 +63,34 @@ namespace JSDOC {
                        foreach(e in pref) {
                         tok.prefix += e.data;
                     }
+                    pref =  new Gee.ArrayList<Token>(); // reset pref..
                 }
                 
                 ar.add(tok);
-                pref =  new Gee.ArrayList<Token>(); // reset pref..
+                
 
                 
             }
             this.tokens = ar;
             
         },
-        collapse : function(ar) {
+        
+        
+        
+        Gee.ArrayList<Token>  collapse(ar) 
+        {
             
-            var st = new  TokenStream(ar);
-            var ret = [];
+            var st = new TokenStream(ar);
+            var ret = new Gee.ArrayList<Token>();
             
             while (true) {
                 var  tok = st.look(1,true);
-                if (!tok || !tok.is) {
+                if (tok == null) {
                   //  Seed.print(TokenStream.toString(ret));
                     return ret;
                 }
                 // console.log(tok.data);
+                
                 switch(tok.type) {
                     case "VOID": 
                         return ret; //EOF
@@ -105,14 +114,14 @@ namespace JSDOC {
                                 var start = st.cursor;
                                 st.next(1);
                                 var add = st.balance(tok.data);
-                                if (!add) {
-                                    console.dump(tok);
-                                    console.dump(start + '...' + st.cursor);
-                                    console.dump(st.tokens);
+                               // if (!add) {
+                                    //console.dump(tok);
+                                    //console.dump(start + '...' + st.cursor);
+                                    //console.dump(st.tokens);
                                  
-                                }
-                                if (add) {
-                                    add.shift();
+                                //}
+                                if (add.size > 0) {
+                                               add.remove_at(0);  // remove the first element... (as it's the 
                                 }
                                 //Seed.print("ADD");
                                 //Seed.print(JSON.stringify(add, null,4));