mirror of
https://github.com/github/codeql.git
synced 2026-04-24 16:25:15 +02:00
Rust, Ruby: Add basic block test
This commit is contained in:
6530
ruby/ql/test/library-tests/controlflow/graph/BasicBlocks.expected
Normal file
6530
ruby/ql/test/library-tests/controlflow/graph/BasicBlocks.expected
Normal file
File diff suppressed because it is too large
Load Diff
23
ruby/ql/test/library-tests/controlflow/graph/BasicBlocks.ql
Normal file
23
ruby/ql/test/library-tests/controlflow/graph/BasicBlocks.ql
Normal file
@@ -0,0 +1,23 @@
|
||||
import ruby
|
||||
import codeql.ruby.controlflow.ControlFlowGraph
|
||||
import codeql.ruby.controlflow.BasicBlocks
|
||||
|
||||
query predicate dominates(BasicBlock bb1, BasicBlock bb2) { bb1.dominates(bb2) }
|
||||
|
||||
query predicate postDominance(BasicBlock bb1, BasicBlock bb2) { bb1.postDominates(bb2) }
|
||||
|
||||
query predicate immediateDominator(BasicBlock bb1, BasicBlock bb2) {
|
||||
bb1.getImmediateDominator() = bb2
|
||||
}
|
||||
|
||||
query predicate controls(ConditionBlock bb1, BasicBlock bb2, SuccessorType t) {
|
||||
bb1.controls(bb2, t)
|
||||
}
|
||||
|
||||
query predicate successor(ConditionBlock bb1, BasicBlock bb2, SuccessorType t) {
|
||||
bb1.getASuccessor(t) = bb2
|
||||
}
|
||||
|
||||
query predicate joinBlockPredecessor(JoinBlock bb1, BasicBlock bb2, int i) {
|
||||
bb1.getJoinBlockPredecessor(i) = bb2
|
||||
}
|
||||
1520
rust/ql/test/library-tests/controlflow/BasicBlocks.expected
Normal file
1520
rust/ql/test/library-tests/controlflow/BasicBlocks.expected
Normal file
File diff suppressed because it is too large
Load Diff
23
rust/ql/test/library-tests/controlflow/BasicBlocks.ql
Normal file
23
rust/ql/test/library-tests/controlflow/BasicBlocks.ql
Normal file
@@ -0,0 +1,23 @@
|
||||
import rust
|
||||
import codeql.rust.controlflow.ControlFlowGraph
|
||||
import codeql.rust.controlflow.BasicBlocks
|
||||
|
||||
query predicate dominates(BasicBlock bb1, BasicBlock bb2) { bb1.dominates(bb2) }
|
||||
|
||||
query predicate postDominance(BasicBlock bb1, BasicBlock bb2) { bb1.postDominates(bb2) }
|
||||
|
||||
query predicate immediateDominator(BasicBlock bb1, BasicBlock bb2) {
|
||||
bb1.getImmediateDominator() = bb2
|
||||
}
|
||||
|
||||
query predicate controls(ConditionBlock bb1, BasicBlock bb2, SuccessorType t) {
|
||||
bb1.controls(bb2, t)
|
||||
}
|
||||
|
||||
query predicate successor(ConditionBlock bb1, BasicBlock bb2, SuccessorType t) {
|
||||
bb1.getASuccessor(t) = bb2
|
||||
}
|
||||
|
||||
query predicate joinBlockPredecessor(JoinBlock bb1, BasicBlock bb2, int i) {
|
||||
bb1.getJoinBlockPredecessor(i) = bb2
|
||||
}
|
||||
Reference in New Issue
Block a user