Skip to content

Commit 0fabca9

Browse files
committed
C#: Use the new shared classes for Source and Sink callables.
1 parent 3d53ddf commit 0fabca9

File tree

1 file changed

+30
-14
lines changed

1 file changed

+30
-14
lines changed

csharp/ql/lib/semmle/code/csharp/dataflow/internal/ExternalFlow.qll

Lines changed: 30 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -431,20 +431,6 @@ Declaration interpretElement(
431431
)
432432
}
433433

434-
/**
435-
* A callable where there exists a MaD sink model that applies to it.
436-
*/
437-
class SinkCallable extends Callable {
438-
SinkCallable() { SourceSinkInterpretationInput::sinkElement(this, _, _, _, _) }
439-
}
440-
441-
/**
442-
* A callable where there exists a MaD source model that applies to it.
443-
*/
444-
class SourceCallable extends Callable {
445-
SourceCallable() { SourceSinkInterpretationInput::sourceElement(this, _, _, _, _) }
446-
}
447-
448434
cached
449435
private module Cached {
450436
/**
@@ -651,3 +637,33 @@ private class NeutralCallableAdapter extends NeutralCallable {
651637

652638
override predicate hasProvenance(Provenance provenance) { provenance = provenance_ }
653639
}
640+
641+
/**
642+
* A callable where there exists a MaD sink model that applies to it.
643+
*/
644+
private class SinkModelCallableAdapter extends SinkModelCallable {
645+
private Provenance provenance;
646+
647+
SinkModelCallableAdapter() {
648+
SourceSinkInterpretationInput::sinkElement(this, _, _, provenance, _)
649+
}
650+
651+
override predicate hasProvenance(Provenance p) { provenance = p }
652+
}
653+
654+
final class SinkCallable = SinkModelCallable;
655+
656+
/**
657+
* A callable where there exists a MaD source model that applies to it.
658+
*/
659+
private class SourceModelCallableAdapter extends SourceModelCallable {
660+
private Provenance provenance;
661+
662+
SourceModelCallableAdapter() {
663+
SourceSinkInterpretationInput::sourceElement(this, _, _, provenance, _)
664+
}
665+
666+
override predicate hasProvenance(Provenance p) { provenance = p }
667+
}
668+
669+
final class SourceCallable = SourceModelCallable;

0 commit comments

Comments
 (0)