When converting an existing code base I found that else-if apparently is not supported. Here's an example:
$ j2py HelloWorld.java
Traceback (most recent call last):
File "/usr/local/bin/j2py", line 258, in <module>
sys.exit(runMain(configScript(sys.argv[1:])))
File "/usr/local/bin/j2py", line 57, in runMain
return runOneOrMany(options)
File "/usr/local/bin/j2py", line 82, in runOneOrMany
return runTransform(options)
File "/usr/local/bin/j2py", line 134, in runTransform
module.walk(tree)
File "/usr/local/lib/python2.7/dist-packages/java2python/compiler/visitor.py", line 86, in walk
visitor.walk(child, memo)
File "/usr/local/lib/python2.7/dist-packages/java2python/compiler/visitor.py", line 86, in walk
visitor.walk(child, memo)
File "/usr/local/lib/python2.7/dist-packages/java2python/compiler/visitor.py", line 86, in walk
visitor.walk(child, memo)
File "/usr/local/lib/python2.7/dist-packages/java2python/compiler/visitor.py", line 86, in walk
visitor.walk(child, memo)
File "/usr/local/lib/python2.7/dist-packages/java2python/compiler/visitor.py", line 86, in walk
visitor.walk(child, memo)
File "/usr/local/lib/python2.7/dist-packages/java2python/compiler/visitor.py", line 83, in walk
visitor = self.accept(tree, memo)
File "/usr/local/lib/python2.7/dist-packages/java2python/compiler/visitor.py", line 43, in accept
return call(node, memo)
File "/usr/local/lib/python2.7/dist-packages/java2python/compiler/visitor.py", line 474, in acceptIf
nextNode = nextNode.children[2]
With the obvious workaround of separating the if statements, the conversion is successful:
When converting an existing code base I found that else-if apparently is not supported. Here's an example:
which fails with the output
With the obvious workaround of separating the if statements, the conversion is successful:
converts to