Some recoding.

This commit is contained in:
Onoshko Dan 2014-06-01 03:21:52 +07:00
parent ab6fde9252
commit efe3183540

View File

@ -1145,49 +1145,7 @@ Cola.AST_Toplevel.prototype.toJavaScript = function(options){
defs.push(new Cola.AST_Assign({
operator : node.operator,
left : el,
right : new Cola.AST_Conditional({
condition : new Cola.AST_Binary({
operator : "<=",
left : new Cola.AST_Number({ value : _.length }),
right : new Cola.AST_Dot({
expression : symbol,
property : "length"
})
}),
consequent : new Cola.AST_Call({
expression : new Cola.AST_Dot({
property : "call",
expression : new Cola.AST_Dot({
property : "slice",
expression : new Cola.AST_Array({ elements : [] })
})
}),
args : [
symbol,
new Cola.AST_Number({ value : j }),
new Cola.AST_Assign({
operator : '=',
left : new Cola.AST_SymbolVar({ name : "$_cola" + uid + "i" }),
right : new Cola.AST_Binary({
operator : '-',
left : new Cola.AST_Dot({
property : "length",
expression : symbol
}),
right : new Cola.AST_Number({ value : _.length - j - 1 })
})
})
]
}),
alternative : new Cola.AST_Seq({
car : new Cola.AST_Assign({
operator : '=',
left : new Cola.AST_SymbolRef({ name : "$_cola" + uid + "i" }),
right : new Cola.AST_Number({ value : j })
}),
cdr : new Cola.AST_Array({ elements : [] })
})
})
right : Cola.Constructions.SplatedConditional(symbol, uid, j, _.length - j - 1, _.length)
}));
} else
if(el instanceof Cola.AST_VarDef){