@@ -401,11 +401,11 @@ private module PrivateDjango {
401
401
* Gets an instance of the `django.db.models.expressions.RawSQL` class,
402
402
* that was initiated with the SQL represented by `sql`.
403
403
*/
404
- private DataFlow:: LocalSourceNode instance ( DataFlow:: TypeTracker t , ControlFlowNode sql ) {
404
+ private DataFlow:: LocalSourceNode instance ( DataFlow:: TypeTracker t , DataFlow :: Node sql ) {
405
405
t .start ( ) and
406
406
exists ( DataFlow:: CallCfgNode c | result = c |
407
407
c = classRef ( ) .getACall ( ) and
408
- c .getArg ( 0 ) . asCfgNode ( ) = sql
408
+ c .getArg ( 0 ) = sql
409
409
)
410
410
or
411
411
exists ( DataFlow:: TypeTracker t2 | result = instance ( t2 , sql ) .track ( t2 , t ) )
@@ -415,7 +415,7 @@ private module PrivateDjango {
415
415
* Gets an instance of the `django.db.models.expressions.RawSQL` class,
416
416
* that was initiated with the SQL represented by `sql`.
417
417
*/
418
- DataFlow:: Node instance ( ControlFlowNode sql ) {
418
+ DataFlow:: Node instance ( DataFlow :: Node sql ) {
419
419
instance ( DataFlow:: TypeTracker:: end ( ) , sql ) .flowsTo ( result )
420
420
}
421
421
}
@@ -431,7 +431,7 @@ private module PrivateDjango {
431
431
* See https://docs.djangoproject.com/en/3.1/ref/models/querysets/#annotate
432
432
*/
433
433
private class ObjectsAnnotate extends SqlExecution:: Range , DataFlow:: CallCfgNode {
434
- ControlFlowNode sql ;
434
+ DataFlow :: Node sql ;
435
435
436
436
ObjectsAnnotate ( ) {
437
437
this = django:: db:: models:: querySetReturningMethod ( "annotate" ) .getACall ( ) and
@@ -440,7 +440,7 @@ private module PrivateDjango {
440
440
]
441
441
}
442
442
443
- override DataFlow:: Node getSql ( ) { result . asCfgNode ( ) = sql }
443
+ override DataFlow:: Node getSql ( ) { result = sql }
444
444
}
445
445
446
446
/**
@@ -449,7 +449,7 @@ private module PrivateDjango {
449
449
* See https://docs.djangoproject.com/en/3.2/ref/models/querysets/#alias
450
450
*/
451
451
private class ObjectsAlias extends SqlExecution:: Range , DataFlow:: CallCfgNode {
452
- ControlFlowNode sql ;
452
+ DataFlow :: Node sql ;
453
453
454
454
ObjectsAlias ( ) {
455
455
this = django:: db:: models:: querySetReturningMethod ( "alias" ) .getACall ( ) and
@@ -458,7 +458,7 @@ private module PrivateDjango {
458
458
]
459
459
}
460
460
461
- override DataFlow:: Node getSql ( ) { result . asCfgNode ( ) = sql }
461
+ override DataFlow:: Node getSql ( ) { result = sql }
462
462
}
463
463
464
464
/**
@@ -631,12 +631,12 @@ private module PrivateDjango {
631
631
ClassInstantiation ( ) { this = classRef ( ) .getACall ( ) }
632
632
633
633
override DataFlow:: Node getBody ( ) {
634
- result . asCfgNode ( ) in [ node .getArg ( 0 ) , node .getArgByName ( "content" ) ]
634
+ result in [ this .getArg ( 0 ) , this .getArgByName ( "content" ) ]
635
635
}
636
636
637
637
// How to support the `headers` argument here?
638
638
override DataFlow:: Node getMimetypeOrContentTypeArg ( ) {
639
- result . asCfgNode ( ) in [ node .getArg ( 1 ) , node .getArgByName ( "content_type" ) ]
639
+ result in [ this .getArg ( 1 ) , this .getArgByName ( "content_type" ) ]
640
640
}
641
641
642
642
override string getMimetypeDefault ( ) { result = "text/html" }
@@ -695,11 +695,11 @@ private module PrivateDjango {
695
695
// note that even though browsers like Chrome usually doesn't fetch the
696
696
// content of a redirect, it is possible to observe the body (for example,
697
697
// with cURL).
698
- result . asCfgNode ( ) in [ node .getArg ( 1 ) , node .getArgByName ( "content" ) ]
698
+ result in [ this .getArg ( 1 ) , this .getArgByName ( "content" ) ]
699
699
}
700
700
701
701
override DataFlow:: Node getRedirectLocation ( ) {
702
- result . asCfgNode ( ) in [ node .getArg ( 0 ) , node .getArgByName ( "redirect_to" ) ]
702
+ result in [ this .getArg ( 0 ) , this .getArgByName ( "redirect_to" ) ]
703
703
}
704
704
705
705
// How to support the `headers` argument here?
@@ -757,11 +757,11 @@ private module PrivateDjango {
757
757
// note that even though browsers like Chrome usually doesn't fetch the
758
758
// content of a redirect, it is possible to observe the body (for example,
759
759
// with cURL).
760
- result . asCfgNode ( ) in [ node .getArg ( 1 ) , node .getArgByName ( "content" ) ]
760
+ result in [ this .getArg ( 1 ) , this .getArgByName ( "content" ) ]
761
761
}
762
762
763
763
override DataFlow:: Node getRedirectLocation ( ) {
764
- result . asCfgNode ( ) in [ node .getArg ( 0 ) , node .getArgByName ( "redirect_to" ) ]
764
+ result in [ this .getArg ( 0 ) , this .getArgByName ( "redirect_to" ) ]
765
765
}
766
766
767
767
// How to support the `headers` argument here?
@@ -868,7 +868,7 @@ private module PrivateDjango {
868
868
ClassInstantiation ( ) { this = classRef ( ) .getACall ( ) }
869
869
870
870
override DataFlow:: Node getBody ( ) {
871
- result . asCfgNode ( ) in [ node .getArg ( 0 ) , node .getArgByName ( "content" ) ]
871
+ result in [ this .getArg ( 0 ) , this .getArgByName ( "content" ) ]
872
872
}
873
873
874
874
// How to support the `headers` argument here?
@@ -922,7 +922,7 @@ private module PrivateDjango {
922
922
ClassInstantiation ( ) { this = classRef ( ) .getACall ( ) }
923
923
924
924
override DataFlow:: Node getBody ( ) {
925
- result . asCfgNode ( ) in [ node .getArg ( 0 ) , node .getArgByName ( "content" ) ]
925
+ result in [ this .getArg ( 0 ) , this .getArgByName ( "content" ) ]
926
926
}
927
927
928
928
// How to support the `headers` argument here?
@@ -976,7 +976,7 @@ private module PrivateDjango {
976
976
ClassInstantiation ( ) { this = classRef ( ) .getACall ( ) }
977
977
978
978
override DataFlow:: Node getBody ( ) {
979
- result . asCfgNode ( ) in [ node .getArg ( 0 ) , node .getArgByName ( "content" ) ]
979
+ result in [ this .getArg ( 0 ) , this .getArgByName ( "content" ) ]
980
980
}
981
981
982
982
// How to support the `headers` argument here?
@@ -1031,7 +1031,7 @@ private module PrivateDjango {
1031
1031
1032
1032
override DataFlow:: Node getBody ( ) {
1033
1033
// First argument is permitted methods
1034
- result . asCfgNode ( ) in [ node .getArg ( 1 ) , node .getArgByName ( "content" ) ]
1034
+ result in [ this .getArg ( 1 ) , this .getArgByName ( "content" ) ]
1035
1035
}
1036
1036
1037
1037
// How to support the `headers` argument here?
@@ -1085,7 +1085,7 @@ private module PrivateDjango {
1085
1085
ClassInstantiation ( ) { this = classRef ( ) .getACall ( ) }
1086
1086
1087
1087
override DataFlow:: Node getBody ( ) {
1088
- result . asCfgNode ( ) in [ node .getArg ( 0 ) , node .getArgByName ( "content" ) ]
1088
+ result in [ this .getArg ( 0 ) , this .getArgByName ( "content" ) ]
1089
1089
}
1090
1090
1091
1091
// How to support the `headers` argument here?
@@ -1139,7 +1139,7 @@ private module PrivateDjango {
1139
1139
ClassInstantiation ( ) { this = classRef ( ) .getACall ( ) }
1140
1140
1141
1141
override DataFlow:: Node getBody ( ) {
1142
- result . asCfgNode ( ) in [ node .getArg ( 0 ) , node .getArgByName ( "content" ) ]
1142
+ result in [ this .getArg ( 0 ) , this .getArgByName ( "content" ) ]
1143
1143
}
1144
1144
1145
1145
// How to support the `headers` argument here?
@@ -1193,7 +1193,7 @@ private module PrivateDjango {
1193
1193
ClassInstantiation ( ) { this = classRef ( ) .getACall ( ) }
1194
1194
1195
1195
override DataFlow:: Node getBody ( ) {
1196
- result . asCfgNode ( ) in [ node .getArg ( 0 ) , node .getArgByName ( "data" ) ]
1196
+ result in [ this .getArg ( 0 ) , this .getArgByName ( "data" ) ]
1197
1197
}
1198
1198
1199
1199
// How to support the `headers` argument here?
@@ -1250,7 +1250,7 @@ private module PrivateDjango {
1250
1250
ClassInstantiation ( ) { this = classRef ( ) .getACall ( ) }
1251
1251
1252
1252
override DataFlow:: Node getBody ( ) {
1253
- result . asCfgNode ( ) in [ node .getArg ( 0 ) , node .getArgByName ( "streaming_content" ) ]
1253
+ result in [ this .getArg ( 0 ) , this .getArgByName ( "streaming_content" ) ]
1254
1254
}
1255
1255
1256
1256
// How to support the `headers` argument here?
@@ -1304,7 +1304,7 @@ private module PrivateDjango {
1304
1304
ClassInstantiation ( ) { this = classRef ( ) .getACall ( ) }
1305
1305
1306
1306
override DataFlow:: Node getBody ( ) {
1307
- result . asCfgNode ( ) in [ node .getArg ( 0 ) , node .getArgByName ( "streaming_content" ) ]
1307
+ result in [ this .getArg ( 0 ) , this .getArgByName ( "streaming_content" ) ]
1308
1308
}
1309
1309
1310
1310
// How to support the `headers` argument here?
@@ -1349,14 +1349,13 @@ private module PrivateDjango {
1349
1349
*
1350
1350
* See https://docs.djangoproject.com/en/3.1/ref/request-response/#django.http.HttpResponse.write
1351
1351
*/
1352
- class HttpResponseWriteCall extends HTTP:: Server:: HttpResponse:: Range , DataFlow:: CfgNode {
1353
- override CallNode node ;
1352
+ class HttpResponseWriteCall extends HTTP:: Server:: HttpResponse:: Range , DataFlow:: CallCfgNode {
1354
1353
HTTP:: Server:: HttpResponse:: Range instance ;
1355
1354
1356
1355
HttpResponseWriteCall ( ) { node .getFunction ( ) = write ( instance ) .asCfgNode ( ) }
1357
1356
1358
1357
override DataFlow:: Node getBody ( ) {
1359
- result . asCfgNode ( ) in [ node .getArg ( 0 ) , node .getArgByName ( "content" ) ]
1358
+ result in [ this .getArg ( 0 ) , this .getArgByName ( "content" ) ]
1360
1359
}
1361
1360
1362
1361
override DataFlow:: Node getMimetypeOrContentTypeArg ( ) {
@@ -1639,12 +1638,10 @@ private module PrivateDjango {
1639
1638
DjangoUrlsPathCall ( ) { this = django:: urls:: path ( ) .getACall ( ) }
1640
1639
1641
1640
override DataFlow:: Node getUrlPatternArg ( ) {
1642
- result . asCfgNode ( ) = [ node .getArg ( 0 ) , node .getArgByName ( "route" ) ]
1641
+ result in [ this .getArg ( 0 ) , this .getArgByName ( "route" ) ]
1643
1642
}
1644
1643
1645
- override DataFlow:: Node getViewArg ( ) {
1646
- result .asCfgNode ( ) in [ node .getArg ( 1 ) , node .getArgByName ( "view" ) ]
1647
- }
1644
+ override DataFlow:: Node getViewArg ( ) { result in [ this .getArg ( 1 ) , this .getArgByName ( "view" ) ] }
1648
1645
1649
1646
override Parameter getARoutedParameter ( ) {
1650
1647
// If we don't know the URL pattern, we simply mark all parameters as a routed
@@ -1739,12 +1736,10 @@ private module PrivateDjango {
1739
1736
}
1740
1737
1741
1738
override DataFlow:: Node getUrlPatternArg ( ) {
1742
- result . asCfgNode ( ) = [ node .getArg ( 0 ) , node .getArgByName ( "route" ) ]
1739
+ result in [ this .getArg ( 0 ) , this .getArgByName ( "route" ) ]
1743
1740
}
1744
1741
1745
- override DataFlow:: Node getViewArg ( ) {
1746
- result .asCfgNode ( ) in [ node .getArg ( 1 ) , node .getArgByName ( "view" ) ]
1747
- }
1742
+ override DataFlow:: Node getViewArg ( ) { result in [ this .getArg ( 1 ) , this .getArgByName ( "view" ) ] }
1748
1743
}
1749
1744
1750
1745
/**
@@ -1756,12 +1751,10 @@ private module PrivateDjango {
1756
1751
DjangoConfUrlsUrlCall ( ) { this = django:: conf:: conf_urls:: url ( ) .getACall ( ) }
1757
1752
1758
1753
override DataFlow:: Node getUrlPatternArg ( ) {
1759
- result . asCfgNode ( ) = [ node .getArg ( 0 ) , node .getArgByName ( "regex" ) ]
1754
+ result in [ this .getArg ( 0 ) , this .getArgByName ( "regex" ) ]
1760
1755
}
1761
1756
1762
- override DataFlow:: Node getViewArg ( ) {
1763
- result .asCfgNode ( ) in [ node .getArg ( 1 ) , node .getArgByName ( "view" ) ]
1764
- }
1757
+ override DataFlow:: Node getViewArg ( ) { result in [ this .getArg ( 1 ) , this .getArgByName ( "view" ) ] }
1765
1758
}
1766
1759
1767
1760
// ---------------------------------------------------------------------------
@@ -1872,7 +1865,7 @@ private module PrivateDjango {
1872
1865
* a string identifying a view, or a Django model.
1873
1866
*/
1874
1867
override DataFlow:: Node getRedirectLocation ( ) {
1875
- result . asCfgNode ( ) in [ node .getArg ( 0 ) , node .getArgByName ( "to" ) ]
1868
+ result in [ this .getArg ( 0 ) , this .getArgByName ( "to" ) ]
1876
1869
}
1877
1870
1878
1871
override DataFlow:: Node getBody ( ) { none ( ) }
0 commit comments