}
tok.prefix = '';
if (pref.size > 0) {
- foreach(e in pref) {
+ foreach(var e in pref) {
tok.prefix += e.data;
}
pref = new Gee.ArrayList<Token>(); // reset pref..
}
this.tokens = ar;
- },
+ }
- Gee.ArrayList<Token> collapse(ar)
+ Gee.ArrayList<Token> collapse(Gee.ArrayList<Token> ar)
{
var st = new TokenStream(ar);
if (tok.data != "{") {
// paramters or array elements..
- tok.items = this.toItems(toks, ","]);
+ tok.items = this.toItems(toks, ",");
} else {
// check for types.. it could be a list of statements.. or object
// format "{" "xXXX" ":" << looks for the ':'.. seems to work.. not sure if it's foolproof...
- },
- toItems : function(ar,sep)
+ }
+ Gee.ArrayList<Gee.ArrayList<Token>> toItems(Gee.ArrayList<Token> ar, string sep)
{
- var ret = [];
- var g = [];
+ var ret = new Gee.ArrayList<Gee.ArrayList<Token>>() ;
+ var g = new Gee.ArrayList<Token>() ;
for (var i = 0; i < ar.length; i ++) {
- if (sep.indexOf(ar[i].data) < 0) {
- g.push(ar[i]);
+ if (sep.index_of(ar.get(i).data) < 0) {
+ g.add(ar.get(i));
continue;
}
// var a=..., b =...
- if ((ar[i].data != ';') && g.length && (g[0].name == "VAR")) {;
- g.push(ar[i]);
+ if ((ar.get(i).data != ";") && g.size> 0 && (g[0].name == "VAR")) {;
+ g.add(ar.get(i));
continue;
}
- g.push(ar[i]);
- ret.push(g);
- g = [];
+ g.add(ar.get(i));
+ ret.add(g);
+ g = new Gee.ArrayList<Token>() ;
}
// last..
- if (g.length) {
- ret.push(g);
+ if (g.size) {
+ ret.add(g);
}
return ret;