@@ -49,25 +49,23 @@ DataFlowType getSyntheticGlobalType(SummaryComponent::SyntheticGlobal sg) { any(
4949
5050/**
5151 * Holds if an external flow summary exists for `c` with input specification
52- * `input`, output specification `output`, kind `kind`, and a flag `generated`
53- * stating whether the summary is autogenerated.
52+ * `input`, output specification `output`, kind `kind`, and provenance `provenance`.
5453 */
5554predicate summaryElement (
56- FlowSummary:: SummarizedCallable c , string input , string output , string kind , boolean generated
55+ FlowSummary:: SummarizedCallable c , string input , string output , string kind , string provenance
5756) {
5857 exists ( boolean preservesValue |
5958 c .propagatesFlowExt ( input , output , preservesValue ) and
6059 ( if preservesValue = true then kind = "value" else kind = "taint" ) and
61- generated = false
60+ provenance = "manual"
6261 )
6362}
6463
6564/**
66- * Holds if a neutral model exists for `c`, which means that there is no
67- * flow through `c`. The flag `generated` states whether the neutral model is autogenerated.
68- * Note. Neutral models have not been implemented for ruby.
65+ * Holds if a neutral model exists for `c` with provenance `provenance`,
66+ * which means that there is no flow through `c`.
6967 */
70- predicate neutralElement ( FlowSummary:: SummarizedCallable c , boolean generated ) { none ( ) }
68+ predicate neutralElement ( FlowSummary:: SummarizedCallable c , string provenance ) { none ( ) }
7169
7270bindingset [ arg]
7371private SummaryComponent interpretElementArg ( string arg ) {
@@ -207,17 +205,15 @@ NormalReturnKind getReturnValueKind() { any() }
207205private module UnusedSourceSinkInterpretation {
208206 /**
209207 * Holds if an external source specification exists for `n` with output specification
210- * `output`, kind `kind`, and a flag `generated` stating whether the source specification is
211- * autogenerated.
208+ * `output`, kind `kind`, and provenance `provenance`.
212209 */
213- predicate sourceElement ( AstNode n , string output , string kind , boolean generated ) { none ( ) }
210+ predicate sourceElement ( AstNode n , string output , string kind , string provenance ) { none ( ) }
214211
215212 /**
216213 * Holds if an external sink specification exists for `n` with input specification
217- * `input`, kind `kind` and a flag `generated` stating whether the sink specification is
218- * autogenerated.
214+ * `input`, kind `kind` and provenance `provenance`.
219215 */
220- predicate sinkElement ( AstNode n , string input , string kind , boolean generated ) { none ( ) }
216+ predicate sinkElement ( AstNode n , string input , string kind , string provenance ) { none ( ) }
221217
222218 class SourceOrSinkElement = AstNode ;
223219
0 commit comments