Skip to content

Commit e83f1d1

Browse files
committed
Rust: Simplify return implementation in CFG
1 parent 8e4e663 commit e83f1d1

File tree

1 file changed

+2
-12
lines changed

1 file changed

+2
-12
lines changed

rust/ql/lib/codeql/rust/controlflow/internal/ControlFlowGraphImpl.qll

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -572,18 +572,8 @@ class RefExprTree extends StandardPostOrderTree instanceof RefExpr {
572572
override AstNode getChildNode(int i) { i = 0 and result = super.getExpr() }
573573
}
574574

575-
class ReturnExprTree extends PostOrderTree instanceof ReturnExpr {
576-
override predicate propagatesAbnormal(AstNode child) { child = super.getExpr() }
577-
578-
override predicate first(AstNode node) {
579-
first(super.getExpr(), node)
580-
or
581-
not super.hasExpr() and node = this
582-
}
583-
584-
override predicate succ(AstNode pred, AstNode succ, Completion c) {
585-
last(super.getExpr(), pred, c) and succ = this and completionIsNormal(c)
586-
}
575+
class ReturnExprTree extends StandardPostOrderTree instanceof ReturnExpr {
576+
override AstNode getChildNode(int i) { i = 0 and result = super.getExpr() }
587577
}
588578

589579
class TryExprTree extends StandardPostOrderTree instanceof TryExpr {

0 commit comments

Comments
 (0)