mirror of
https://github.com/cincheo/jsweet.git
synced 2025-12-15 15:29:22 +00:00
fix loop issue with casts
This commit is contained in:
parent
5ce8b07fb4
commit
9cba306116
@ -103,6 +103,7 @@ import org.jsweet.transpiler.model.support.VariableAccessElementSupport;
|
|||||||
import org.jsweet.transpiler.util.Util;
|
import org.jsweet.transpiler.util.Util;
|
||||||
|
|
||||||
import com.sun.codemodel.internal.JJavaName;
|
import com.sun.codemodel.internal.JJavaName;
|
||||||
|
import com.sun.source.tree.TypeCastTree;
|
||||||
import com.sun.tools.javac.code.Symbol;
|
import com.sun.tools.javac.code.Symbol;
|
||||||
import com.sun.tools.javac.code.Symbol.ClassSymbol;
|
import com.sun.tools.javac.code.Symbol.ClassSymbol;
|
||||||
import com.sun.tools.javac.code.Symbol.MethodSymbol;
|
import com.sun.tools.javac.code.Symbol.MethodSymbol;
|
||||||
@ -118,6 +119,7 @@ import com.sun.tools.javac.tree.JCTree.JCImport;
|
|||||||
import com.sun.tools.javac.tree.JCTree.JCMethodInvocation;
|
import com.sun.tools.javac.tree.JCTree.JCMethodInvocation;
|
||||||
import com.sun.tools.javac.tree.JCTree.JCNewClass;
|
import com.sun.tools.javac.tree.JCTree.JCNewClass;
|
||||||
import com.sun.tools.javac.tree.JCTree.JCTypeApply;
|
import com.sun.tools.javac.tree.JCTree.JCTypeApply;
|
||||||
|
import com.sun.tools.javac.tree.JCTree.JCTypeCast;
|
||||||
import com.sun.tools.javac.tree.JCTree.Tag;
|
import com.sun.tools.javac.tree.JCTree.Tag;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1654,8 +1656,15 @@ public class Java2TypeScriptAdapter extends PrinterAdapter {
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected void printForEachLoop(JCEnhancedForLoop loop, String indexVarName) {
|
protected void printForEachLoop(JCEnhancedForLoop loop, String indexVarName) {
|
||||||
getPrinter().print("for(" + VAR_DECL_KEYWORD + " " + indexVarName + "=").print(loop.expr)
|
getPrinter().print("for(" + VAR_DECL_KEYWORD + " " + indexVarName + "=");
|
||||||
.print(".iterator();" + indexVarName + ".hasNext();) {").println().startIndent().printIndent();
|
if (loop.expr instanceof JCTypeCast) {
|
||||||
|
print("(");
|
||||||
|
}
|
||||||
|
getPrinter().print(loop.expr);
|
||||||
|
if (loop.expr instanceof JCTypeCast) {
|
||||||
|
print(")");
|
||||||
|
}
|
||||||
|
print(".iterator();" + indexVarName + ".hasNext();) {").println().startIndent().printIndent();
|
||||||
getPrinter().print(VAR_DECL_KEYWORD + " " + loop.var.name.toString() + " = ").print(indexVarName + ".next();")
|
getPrinter().print(VAR_DECL_KEYWORD + " " + loop.var.name.toString() + " = ").print(indexVarName + ".next();")
|
||||||
.println();
|
.println();
|
||||||
getPrinter().printIndent().print(loop.body);
|
getPrinter().printIndent().print(loop.body);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user