Improve lua2java code generation.

This commit is contained in:
James Roseborough
2010-07-29 15:10:12 +00:00
parent e3d1330763
commit cd35ad7cbd
4 changed files with 90 additions and 31 deletions

View File

@@ -34,7 +34,7 @@ public class TailcallVarargs extends Varargs {
public TailcallVarargs(LuaValue object, LuaValue methodname, Varargs args) {
this.func = object.get(methodname);
this.args = args;
this.args = LuaValue.varargsOf(object, args);
}
public boolean isTailcall() {

View File

@@ -243,7 +243,7 @@ public class JavaCodeGen {
}
}
private void multiAssign(List varsOrNames, List<Exp> exps) {
private void multiAssign(final List varsOrNames, List<Exp> exps) {
final boolean[] needsTmpvarsMultiAssign = { false };
if ( exps.size() > 1 ) {
new Visitor() {
@@ -252,6 +252,7 @@ public class JavaCodeGen {
public void visit(FuncCall exp) { needsTmpvarsMultiAssign[0] = true; }
public void visit(IndexExp exp) { needsTmpvarsMultiAssign[0] = true; }
public void visit(MethodCall exp) { needsTmpvarsMultiAssign[0] = true; }
public void visit(NameExp exp) { needsTmpvarsMultiAssign[0] = true; }
}.visitExps(exps);
}
if ( needsTmpvarsMultiAssign[0] )