Compare commits

...
4 Commits
Author SHA1 Message Date
dholle 3fc098b155 Merge pull request 'Fix #412 by handling default correctly' (#430) from fix-412 into master
SonarQube Scan / SonarQube Trigger (push) Successful in 2m29s
Reviewed-on: #430
2026-11-11 14:20:19 +00:00
dholle 32ddb1132f Fix #412 by handling default correctly
Build and Test with Maven / Build-and-test-with-Maven (push) Successful in 1m21s
SonarQube Scan / SonarQube Trigger (pull_request) Successful in 2m33s
2026-11-11 15:13:56 +01:00
dholle 174c999543 Merge pull request 'Fix #414 by implementing the other number formats' (#429) from fix-414 into master
SonarQube Scan / SonarQube Trigger (push) Successful in 2m37s
Reviewed-on: #429
2026-11-11 13:42:55 +00:00
dholle 942b8ca488 Merge pull request 'Fix #417 in Codegen and by changing constraint generation' (#428) from fix-417 into master
SonarQube Scan / SonarQube Trigger (push) Successful in 2m33s
Reviewed-on: #428
2026-11-11 13:11:03 +00:00
4 changed files with 28 additions and 4 deletions

No files matched your search

+12
View File
@@ -0,0 +1,12 @@
import java.lang.Integer;
public class Bug412 {
public m(Integer i) {
var r = 0;
switch (i) {
case 1: r = 10; break;
default: r = 20;
}
return r;
}
}
@@ -405,14 +405,16 @@ public class StatementGenerator {
private SwitchBlock convert(Java17Parser.SwitchBlockStatementGroupContext stmt) {
List<SwitchLabel> labels = new ArrayList<>();
stmt.switchLabel().forEach((label) -> {
var isDefault = false;
for (var label : stmt.switchLabel()) {
if (label instanceof SwitchLabelDefaultContext) isDefault = true;
labels.add(convert(label));
});
}
List<Statement> block = new ArrayList<>();
stmt.blockStatement().stream().forEach((blockStmt) -> {
block.addAll(convert(blockStmt));
});
return new SwitchBlock(labels, new Block(block, stmt.blockStatement(0).getStart()), false, stmt.getStart());
return new SwitchBlock(labels, new Block(block, stmt.blockStatement(0).getStart()), isDefault,false, stmt.getStart());
}
private SwitchLabel convert(SwitchLabelContext switchLabel) {
@@ -476,7 +476,7 @@ public class StatementToTargetExpression implements ASTVisitor {
.map(this::extractAllPatterns)
.flatMap(List::stream).toList();
case FormalParameter param -> List.of(new TypeVariants(param.getType(), converter.findAllVariants(param.getType())));
default -> List.of();
case null, default -> List.of();
};
}
+10
View File
@@ -1759,4 +1759,14 @@ public class TestComplete {
assertEquals("one", name.invoke(instance, 1));
assertEquals("many", name.invoke(instance, 2));
}
@Test
public void testBug412() throws Exception {
var classFiles = generateClassFiles(createClassLoader(), "Bug412.jav");
var clazz = classFiles.get("Bug412");
var instance = clazz.getDeclaredConstructor().newInstance();
var m = clazz.getDeclaredMethod("m", Integer.class);
assertEquals(10, m.invoke(instance, 1));
assertEquals(20, m.invoke(instance, 2));
}
}