Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Crashes when there's a switch through with no statement in it #17

Open
Minemobs opened this issue May 15, 2024 · 1 comment
Open

Crashes when there's a switch through with no statement in it #17

Minemobs opened this issue May 15, 2024 · 1 comment
Labels
bug Something isn't working

Comments

@Minemobs
Copy link

Minemobs commented May 15, 2024

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;
    }
}
@mike-lischke
Copy link
Owner

Alright, that needs a check. Thanks.

@mike-lischke mike-lischke added the bug Something isn't working label May 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants