@@ -85,39 +85,44 @@ DataFlowType getCallbackReturnType(DataFlowType t, ReturnKind rk) {
85
85
86
86
/**
87
87
* Holds if an external flow summary exists for `c` with input specification
88
- * `input`, output specification `output`, and kind `kind`.
88
+ * `input`, output specification `output`, kind `kind`, and a flag `generated`
89
+ * stating whether the summary is autogenerated or not.
89
90
*/
90
- predicate summaryElement ( DataFlowCallable c , string input , string output , string kind ) {
91
+ predicate summaryElement (
92
+ DataFlowCallable c , string input , string output , string kind , boolean generated
93
+ ) {
91
94
exists (
92
95
string namespace , string type , boolean subtypes , string name , string signature , string ext
93
96
|
94
- summaryModel ( namespace , type , subtypes , name , signature , ext , input , output , kind , _ ) and
97
+ summaryModel ( namespace , type , subtypes , name , signature , ext , input , output , kind , generated ) and
95
98
c = interpretElement ( namespace , type , subtypes , name , signature , ext )
96
99
)
97
100
}
98
101
99
102
/**
100
103
* Holds if an external source specification exists for `e` with output specification
101
- * `output` and kind `kind`.
104
+ * `output`, kind `kind`, and a flag `generated` stating whether the summary is
105
+ * autogenerated or not.
102
106
*/
103
- predicate sourceElement ( Element e , string output , string kind ) {
107
+ predicate sourceElement ( Element e , string output , string kind , boolean generated ) {
104
108
exists (
105
109
string namespace , string type , boolean subtypes , string name , string signature , string ext
106
110
|
107
- sourceModel ( namespace , type , subtypes , name , signature , ext , output , kind , _ ) and
111
+ sourceModel ( namespace , type , subtypes , name , signature , ext , output , kind , generated ) and
108
112
e = interpretElement ( namespace , type , subtypes , name , signature , ext )
109
113
)
110
114
}
111
115
112
116
/**
113
117
* Holds if an external sink specification exists for `n` with input specification
114
- * `input` and kind `kind`.
118
+ * `input`, kind `kind` and a flag `generated` stating whether the summary is
119
+ * autogenerated or not..
115
120
*/
116
- predicate sinkElement ( Element e , string input , string kind ) {
121
+ predicate sinkElement ( Element e , string input , string kind , boolean generated ) {
117
122
exists (
118
123
string namespace , string type , boolean subtypes , string name , string signature , string ext
119
124
|
120
- sinkModel ( namespace , type , subtypes , name , signature , ext , input , kind , _ ) and
125
+ sinkModel ( namespace , type , subtypes , name , signature , ext , input , kind , generated ) and
121
126
e = interpretElement ( namespace , type , subtypes , name , signature , ext )
122
127
)
123
128
}
0 commit comments