@@ -12,7 +12,7 @@ import semmle.code.java.dataflow.internal.DataFlowPrivate
1212import semmle.code.java.dataflow.InstanceAccess
1313import ModelGeneratorUtils
1414
15- string captureFlow ( Callable api ) {
15+ string captureFlow ( TargetAPI api ) {
1616 result = captureQualifierFlow ( api ) or
1717 result = captureParameterFlowToReturnValue ( api ) or
1818 result = captureFieldFlowIn ( api ) or
@@ -32,7 +32,7 @@ string captureFlow(Callable api) {
3232 * }
3333 * ```
3434 */
35- string captureQualifierFlow ( Callable api ) {
35+ string captureQualifierFlow ( TargetAPI api ) {
3636 exists ( ReturnStmt rtn |
3737 rtn .getEnclosingCallable ( ) = api and
3838 rtn .getResult ( ) .( ThisAccess ) .isOwnInstanceAccess ( )
@@ -92,7 +92,7 @@ class FieldToReturnConfig extends TaintTracking::Configuration {
9292 * p;Foo;true;putsTaintIntoParameter;(List);Argument[-1];Argument[0];taint
9393 * ```
9494 */
95- string captureFieldFlow ( Callable api ) {
95+ string captureFieldFlow ( TargetAPI api ) {
9696 exists ( FieldToReturnConfig config , ReturnNodeExt returnNodeExt |
9797 config .hasFlow ( _, returnNodeExt ) and
9898 returnNodeExt .getEnclosingCallable ( ) = api and
@@ -107,7 +107,7 @@ string captureFieldFlow(Callable api) {
107107 )
108108}
109109
110- string asOutput ( Callable api , ReturnNodeExt node ) {
110+ string asOutput ( TargetAPI api , ReturnNodeExt node ) {
111111 if node .getKind ( ) instanceof ValueReturnKind
112112 then result = "ReturnValue"
113113 else
@@ -164,7 +164,7 @@ private predicate thisAccess(DataFlow::Node n) {
164164 * Captured Model:
165165 * `p;Foo;true;doSomething;(String);Argument[0];Argument[-1];taint`
166166 */
167- string captureFieldFlowIn ( Callable api ) {
167+ string captureFieldFlowIn ( TargetAPI api ) {
168168 exists ( DataFlow:: Node source , ParameterToFieldConfig config |
169169 not api .isStatic ( ) and
170170 config .hasFlow ( source , _) and
@@ -179,7 +179,7 @@ class ParameterToReturnValueTaintConfig extends TaintTracking::Configuration {
179179 ParameterToReturnValueTaintConfig ( ) { this = "ParameterToReturnValueTaintConfig" }
180180
181181 override predicate isSource ( DataFlow:: Node source ) {
182- exists ( Callable api |
182+ exists ( TargetAPI api |
183183 source instanceof DataFlow:: ParameterNode and
184184 api = source .asParameter ( ) .getCallable ( ) and
185185 isRelevantType ( api .getReturnType ( ) ) and
@@ -221,7 +221,7 @@ predicate paramFlowToReturnValueExists(Parameter p) {
221221 * p;Foo;true;returnData;;Argument[0];ReturnValue;taint
222222 * ```
223223 */
224- string captureParameterFlowToReturnValue ( Callable api ) {
224+ string captureParameterFlowToReturnValue ( TargetAPI api ) {
225225 exists ( Parameter p |
226226 p = api .getAParameter ( ) and
227227 paramFlowToReturnValueExists ( p )
@@ -246,7 +246,7 @@ string captureParameterFlowToReturnValue(Callable api) {
246246 * p;Foo;true;addToList;;Argument[0];Argument[1];taint
247247 * ```
248248 */
249- string captureParameterToParameterFlow ( Callable api ) {
249+ string captureParameterToParameterFlow ( TargetAPI api ) {
250250 exists ( DataFlow:: ParameterNode source , DataFlow:: PostUpdateNode sink |
251251 source .getEnclosingCallable ( ) = api and
252252 sink .getPreUpdateNode ( ) .asExpr ( ) = api .getAParameter ( ) .getAnAccess ( ) and
0 commit comments