Skip to content

Commit fbb688a

Browse files
committed
Java: add flexible constructor test including CFG predecessor query
1 parent 3eaba22 commit fbb688a

File tree

2 files changed

+17
-0
lines changed

2 files changed

+17
-0
lines changed
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
| FlexibleConstructors.java:10:15:10:17 | msg | FlexibleConstructors.java:10:9:10:19 | super(...) | predecessor of explicit super() |
2+
| FlexibleConstructors.java:18:13:18:17 | ... < ... | FlexibleConstructors.java:19:9:19:16 | super(...) | predecessor of explicit super() |
3+
| FlexibleConstructors.java:38:17:38:48 | combined | FlexibleConstructors.java:39:13:39:20 | super(...) | predecessor of explicit super() |
4+
| FlexibleConstructors.java:52:9:52:40 | ...=... | FlexibleConstructors.java:53:9:53:16 | super(...) | predecessor of explicit super() |
5+
| FlexibleConstructors.java:65:15:65:18 | temp | FlexibleConstructors.java:65:9:65:20 | super(...) | predecessor of explicit super() |
6+
| FlexibleConstructors.java:77:9:77:24 | ...=... | FlexibleConstructors.java:78:9:78:16 | super(...) | predecessor of explicit super() |
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import java
2+
3+
from ControlFlowNode pred, ControlFlowNode supNode, SuperConstructorInvocationStmt sc
4+
where
5+
supNode.asStmt() = sc and
6+
pred.getASuccessor() = supNode and
7+
pred != supNode and
8+
not pred.asStmt() instanceof BlockStmt and
9+
exists( sc.getEnclosingCallable().getFile().getRelativePath() ) and
10+
sc.getLocation().getEndColumn() > sc.getLocation().getStartColumn()
11+
select pred, sc, "predecessor of explicit super()"

0 commit comments

Comments
 (0)