@@ -1525,7 +1525,7 @@ int stringArg(RegexExecutionMethod method) {
1525
1525
*
1526
1526
* See `RegexExecutionMethods`
1527
1527
*/
1528
- private class DirectRegex extends DataFlow:: CallCfgNode , RegexExecution:: Range {
1528
+ private class DirectRegexExecution extends DataFlow:: CallCfgNode , RegexExecution:: Range {
1529
1529
RegexExecutionMethod method ;
1530
1530
1531
1531
DirectRegex ( ) { this = API:: moduleImport ( "re" ) .getMember ( method ) .getACall ( ) }
@@ -1611,7 +1611,7 @@ private import CompiledRegexes
1611
1611
*
1612
1612
* See https://docs.python.org/3/library/re.html#regular-expression-objects
1613
1613
*/
1614
- private class CompiledRegex extends DataFlow:: CallCfgNode , RegexExecution:: Range {
1614
+ private class CompiledRegexExecution extends DataFlow:: CallCfgNode , RegexExecution:: Range {
1615
1615
DataFlow:: Node regexNode ;
1616
1616
RegexExecutionMethod method ;
1617
1617
@@ -1640,14 +1640,13 @@ private class CompiledRegex extends DataFlow::CallCfgNode, RegexExecution::Range
1640
1640
* See https://docs.python.org/3/library/re.html#re.escape
1641
1641
*/
1642
1642
private class ReEscapeCall extends Escaping:: Range , DataFlow:: CallCfgNode {
1643
- DataFlow:: Node regexNode ;
1644
-
1645
1643
ReEscapeCall ( ) {
1646
- this = API:: moduleImport ( "re" ) .getMember ( "escape" ) .getACall ( ) and
1647
- regexNode in [ this .getArg ( 0 ) , this .getArgByName ( "pattern" ) ]
1644
+ this = API:: moduleImport ( "re" ) .getMember ( "escape" ) .getACall ( )
1648
1645
}
1649
1646
1650
- override DataFlow:: Node getAnInput ( ) { result = regexNode }
1647
+ override DataFlow:: Node getAnInput ( ) {
1648
+ result in [ this .getArg ( 0 ) , this .getArgByName ( "pattern" ) ]
1649
+ }
1651
1650
1652
1651
override DataFlow:: Node getOutput ( ) { result = this }
1653
1652
0 commit comments