File tree Expand file tree Collapse file tree 1 file changed +14
-0
lines changed
ruby/ql/lib/codeql/ruby/dataflow/internal Expand file tree Collapse file tree 1 file changed +14
-0
lines changed Original file line number Diff line number Diff line change @@ -1157,6 +1157,8 @@ predicate jumpStep(Node pred, Node succ) {
1157
1157
succ .asExpr ( ) .getExpr ( ) .( ConstantReadAccess ) .getValue ( ) = pred .asExpr ( ) .getExpr ( )
1158
1158
or
1159
1159
FlowSummaryImpl:: Private:: Steps:: summaryJumpStep ( pred , succ )
1160
+ or
1161
+ any ( AdditionalJumpStep s ) .step ( pred , succ )
1160
1162
}
1161
1163
1162
1164
private ContentSet getKeywordContent ( string name ) {
@@ -1484,3 +1486,15 @@ ContentApprox getContentApprox(Content c) {
1484
1486
or
1485
1487
result = TNonElementContentApprox ( c )
1486
1488
}
1489
+
1490
+ /**
1491
+ * A unit class for adding additional jump steps.
1492
+ *
1493
+ * Extend this class to add additional jump steps.
1494
+ */
1495
+ class AdditionalJumpStep extends Unit {
1496
+ /**
1497
+ * Holds if data can flow from `pred` to `succ` in a way that discards call contexts.
1498
+ */
1499
+ abstract predicate step ( Node pred , Node succ ) ;
1500
+ }
You can’t perform that action at this time.
0 commit comments