Skip to content

Commit 79ee511

Browse files
committed
Ruby: Add toString functionality consistency queries
1 parent b615e98 commit 79ee511

File tree

3 files changed

+16
-0
lines changed

3 files changed

+16
-0
lines changed

ruby/ql/consistency-queries/AstConsistency.ql

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,3 +23,8 @@ query predicate multipleParents(AstNode node, AstNode parent, string cls) {
2323
one != two
2424
)
2525
}
26+
27+
query predicate multipleToString(AstNode n, string s) {
28+
s = strictconcat(n.toString(), ",") and
29+
strictcount(n.toString()) > 1
30+
}

ruby/ql/consistency-queries/CfgConsistency.ql

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import codeql.ruby.controlflow.internal.ControlFlowGraphImplShared::Consistency
22
import codeql.ruby.AST
3+
import codeql.ruby.CFG
34
import codeql.ruby.controlflow.internal.Completion
45
import codeql.ruby.controlflow.internal.ControlFlowGraphImpl
56

@@ -18,3 +19,8 @@ query predicate nonPostOrderExpr(Expr e, string cls) {
1819
c instanceof NormalCompletion
1920
)
2021
}
22+
23+
query predicate multipleToString(CfgNode n, string s) {
24+
s = strictconcat(n.toString(), ",") and
25+
strictcount(n.toString()) > 1
26+
}

ruby/ql/consistency-queries/DataFlowConsistency.ql

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,3 +33,8 @@ private class MyConsistencyConfiguration extends ConsistencyConfiguration {
3333
)
3434
}
3535
}
36+
37+
query predicate multipleToString(Node n, string s) {
38+
s = strictconcat(n.toString(), ",") and
39+
strictcount(n.toString()) > 1
40+
}

0 commit comments

Comments
 (0)