@@ -432,18 +432,6 @@ abstract class AdditionalSink extends DataFlow::Node {
432432 predicate isSinkFor ( Configuration cfg , FlowLabel lbl ) { none ( ) }
433433}
434434
435- /**
436- * An invocation that is modeled as a partial function application.
437- *
438- * This contributes additional argument-passing flow edges that should be added to all data flow configurations.
439- */
440- abstract class AdditionalPartialInvokeNode extends DataFlow:: InvokeNode {
441- /**
442- * Holds if `argument` is passed as argument `index` to the function in `callback`.
443- */
444- abstract predicate isPartialArgument ( DataFlow:: Node callback , DataFlow:: Node argument , int index ) ;
445- }
446-
447435/**
448436 * Additional flow step to model flow from import specifiers into the SSA variable
449437 * corresponding to the imported variable.
@@ -457,45 +445,6 @@ private class FlowStepThroughImport extends AdditionalFlowStep, DataFlow::ValueN
457445 }
458446}
459447
460- /**
461- * A partial call through the built-in `Function.prototype.bind`.
462- */
463- private class BindPartialCall extends AdditionalPartialInvokeNode , DataFlow:: MethodCallNode {
464- BindPartialCall ( ) { getMethodName ( ) = "bind" }
465-
466- override predicate isPartialArgument ( DataFlow:: Node callback , DataFlow:: Node argument , int index ) {
467- callback = getReceiver ( ) and
468- argument = getArgument ( index + 1 )
469- }
470- }
471-
472- /**
473- * A partial call through `_.partial`.
474- */
475- private class LodashPartialCall extends AdditionalPartialInvokeNode {
476- LodashPartialCall ( ) { this = LodashUnderscore:: member ( "partial" ) .getACall ( ) }
477-
478- override predicate isPartialArgument ( DataFlow:: Node callback , DataFlow:: Node argument , int index ) {
479- callback = getArgument ( 0 ) and
480- argument = getArgument ( index + 1 )
481- }
482- }
483-
484- /**
485- * A partial call through `ramda.partial`.
486- */
487- private class RamdaPartialCall extends AdditionalPartialInvokeNode {
488- RamdaPartialCall ( ) { this = DataFlow:: moduleMember ( "ramda" , "partial" ) .getACall ( ) }
489-
490- override predicate isPartialArgument ( DataFlow:: Node callback , DataFlow:: Node argument , int index ) {
491- callback = getArgument ( 0 ) and
492- exists ( DataFlow:: ArrayCreationNode array |
493- array .flowsTo ( getArgument ( 1 ) ) and
494- argument = array .getElement ( index )
495- )
496- }
497- }
498-
499448/**
500449 * Holds if there is a flow step from `pred` to `succ` described by `summary`
501450 * under configuration `cfg`.
0 commit comments