java2typescript
java2typescript copied to clipboard
Crashes when there's a switch through with no statement in it
Java2Typescript crashes when it encounters a switch fall through with no code in it. When trying to convert the example code, Java2Typescript crashes with this error:
Converting 1 files...
Converting: /home/minemobs/Projects/ts/ESC/test/src/Main.java...file:///tmp/bunx-1000-java2typescript@latest/node_modules/java2typescript/output/src/JavaFileSymbolTable.js:405
const switchExpression = statementContext?.parExpression();
^
TypeError: statementContext?.parExpression is not a function
at JavaFileSymbolTable.resolveSwitchLabel (file:///home/minemobs/.npm/_npx/dbd2589990793958/node_modules/java2typescript/output/src/JavaFileSymbolTable.js:405:56)
at JavaFileSymbolTable.getQualifiedSymbol (file:///home/minemobs/.npm/_npx/dbd2589990793958/node_modules/java2typescript/output/src/JavaFileSymbolTable.js:65:25)
at JavaFileSource.getQualifiedSymbol (file:///home/minemobs/.npm/_npx/dbd2589990793958/node_modules/java2typescript/output/src/JavaFileSource.js:31:33)
at FileProcessor.resolveType (file:///home/minemobs/.npm/_npx/dbd2589990793958/node_modules/java2typescript/output/src/conversion/FileProcessor.js:3263:34)
at FileProcessor.processPrimary (file:///home/minemobs/.npm/_npx/dbd2589990793958/node_modules/java2typescript/output/src/conversion/FileProcessor.js:2292:39)
at FileProcessor.processExpression (file:///home/minemobs/.npm/_npx/dbd2589990793958/node_modules/java2typescript/output/src/conversion/FileProcessor.js:1709:37)
at FileProcessor.processSwitchLabel (file:///home/minemobs/.npm/_npx/dbd2589990793958/node_modules/java2typescript/output/src/conversion/FileProcessor.js:2603:18)
at file:///home/minemobs/.npm/_npx/dbd2589990793958/node_modules/java2typescript/output/src/conversion/FileProcessor.js:2458:45
at Array.forEach (<anonymous>)
at FileProcessor.processStatement (file:///home/minemobs/.npm/_npx/dbd2589990793958/node_modules/java2typescript/output/src/conversion/FileProcessor.js:2457:43)
Node.js v18.15.0
Example of Java code:
import java.util.concurrent.TimeUnit;
public class Main {
public int doSomething(TimeUnit unit) {
switch(unit) {
case DAYS:
case HOURS:
case SECONDS:
return 1;
//Crashes after adding this
case MILLISECONDS:
case MICROSECONDS:
}
return 0;
}
}