Java: add flexible constructor test including CFG predecessor query

This commit is contained in:
idrissrio
2025-08-18 12:13:10 +02:00
parent 6b022edf06
commit fffb4c03b0
2 changed files with 17 additions and 0 deletions

View File

@@ -0,0 +1,6 @@
| FlexibleConstructors.java:10:15:10:17 | msg | FlexibleConstructors.java:10:9:10:19 | super(...) | predecessor of explicit super() |
| FlexibleConstructors.java:18:13:18:17 | ... < ... | FlexibleConstructors.java:19:9:19:16 | super(...) | predecessor of explicit super() |
| FlexibleConstructors.java:38:17:38:48 | combined | FlexibleConstructors.java:39:13:39:20 | super(...) | predecessor of explicit super() |
| FlexibleConstructors.java:52:9:52:40 | ...=... | FlexibleConstructors.java:53:9:53:16 | super(...) | predecessor of explicit super() |
| FlexibleConstructors.java:65:15:65:18 | temp | FlexibleConstructors.java:65:9:65:20 | super(...) | predecessor of explicit super() |
| FlexibleConstructors.java:77:9:77:24 | ...=... | FlexibleConstructors.java:78:9:78:16 | super(...) | predecessor of explicit super() |

View File

@@ -0,0 +1,11 @@
import java
from ControlFlowNode pred, ControlFlowNode supNode, SuperConstructorInvocationStmt sc
where
supNode.asStmt() = sc and
pred.getASuccessor() = supNode and
pred != supNode and
not pred.asStmt() instanceof BlockStmt and
exists(sc.getEnclosingCallable().getFile().getRelativePath()) and
sc.getLocation().getEndColumn() > sc.getLocation().getStartColumn()
select pred, sc, "predecessor of explicit super()"