@@ -98,94 +98,14 @@ private import internal.FlowSummaryImpl::Private::External
98
98
private import internal.ExternalFlowExtensions as Extensions
99
99
private import codeql.mad.ModelValidation as SharedModelVal
100
100
101
- /**
102
- * A class for activating additional model rows.
103
- *
104
- * Extend this class to include experimental model rows with `this` name
105
- * in data flow analysis.
106
- */
107
- abstract private class ActiveExperimentalModelsInternal extends string {
108
- bindingset [ this ]
109
- ActiveExperimentalModelsInternal ( ) { any ( ) }
110
-
111
- /**
112
- * Holds if an experimental source model exists for the given parameters.
113
- */
114
- predicate sourceModel (
115
- string package , string type , boolean subtypes , string name , string signature , string ext ,
116
- string output , string kind , string provenance , QlBuiltins:: ExtensionId madId
117
- ) {
118
- Extensions:: experimentalSourceModel ( package , type , subtypes , name , signature , ext , output , kind ,
119
- provenance , this , madId )
120
- }
121
-
122
- /**
123
- * Holds if an experimental sink model exists for the given parameters.
124
- */
125
- predicate sinkModel (
126
- string package , string type , boolean subtypes , string name , string signature , string ext ,
127
- string input , string kind , string provenance , QlBuiltins:: ExtensionId madId
128
- ) {
129
- Extensions:: experimentalSinkModel ( package , type , subtypes , name , signature , ext , input , kind ,
130
- provenance , this , madId )
131
- }
132
-
133
- /**
134
- * Holds if an experimental summary model exists for the given parameters.
135
- */
136
- predicate summaryModel (
137
- string package , string type , boolean subtypes , string name , string signature , string ext ,
138
- string input , string output , string kind , string provenance , QlBuiltins:: ExtensionId madId
139
- ) {
140
- Extensions:: experimentalSummaryModel ( package , type , subtypes , name , signature , ext , input ,
141
- output , kind , provenance , this , madId )
142
- }
143
- }
144
-
145
- deprecated class ActiveExperimentalModels = ActiveExperimentalModelsInternal ;
146
-
147
101
/** Holds if a source model exists for the given parameters. */
148
- predicate sourceModel (
149
- string package , string type , boolean subtypes , string name , string signature , string ext ,
150
- string output , string kind , string provenance , QlBuiltins:: ExtensionId madId
151
- ) {
152
- (
153
- Extensions:: sourceModel ( package , type , subtypes , name , signature , ext , output , kind , provenance ,
154
- madId )
155
- or
156
- any ( ActiveExperimentalModelsInternal q )
157
- .sourceModel ( package , type , subtypes , name , signature , ext , output , kind , provenance , madId )
158
- )
159
- }
102
+ predicate sourceModel = Extensions:: sourceModel / 10 ;
160
103
161
104
/** Holds if a sink model exists for the given parameters. */
162
- predicate sinkModel (
163
- string package , string type , boolean subtypes , string name , string signature , string ext ,
164
- string input , string kind , string provenance , QlBuiltins:: ExtensionId madId
165
- ) {
166
- (
167
- Extensions:: sinkModel ( package , type , subtypes , name , signature , ext , input , kind , provenance ,
168
- madId )
169
- or
170
- any ( ActiveExperimentalModelsInternal q )
171
- .sinkModel ( package , type , subtypes , name , signature , ext , input , kind , provenance , madId )
172
- )
173
- }
105
+ predicate sinkModel = Extensions:: sinkModel / 10 ;
174
106
175
107
/** Holds if a summary model exists for the given parameters. */
176
- predicate summaryModel (
177
- string package , string type , boolean subtypes , string name , string signature , string ext ,
178
- string input , string output , string kind , string provenance , QlBuiltins:: ExtensionId madId
179
- ) {
180
- (
181
- Extensions:: summaryModel ( package , type , subtypes , name , signature , ext , input , output , kind ,
182
- provenance , madId )
183
- or
184
- any ( ActiveExperimentalModelsInternal q )
185
- .summaryModel ( package , type , subtypes , name , signature , ext , input , output , kind ,
186
- provenance , madId )
187
- )
188
- }
108
+ predicate summaryModel = Extensions:: summaryModel / 11 ;
189
109
190
110
/**
191
111
* Holds if the given extension tuple `madId` should pretty-print as `model`.
@@ -197,9 +117,7 @@ predicate interpretModelForTest(QlBuiltins::ExtensionId madId, string model) {
197
117
string package , string type , boolean subtypes , string name , string signature , string ext ,
198
118
string output , string kind , string provenance
199
119
|
200
- sourceModel ( package , type , subtypes , name , signature , ext , output , kind , provenance , madId ) or
201
- Extensions:: experimentalSourceModel ( package , type , subtypes , name , signature , ext , output , kind ,
202
- provenance , _, madId )
120
+ sourceModel ( package , type , subtypes , name , signature , ext , output , kind , provenance , madId )
203
121
|
204
122
model =
205
123
"Source: " + package + "; " + type + "; " + subtypes + "; " + name + "; " + signature + "; " +
@@ -210,9 +128,7 @@ predicate interpretModelForTest(QlBuiltins::ExtensionId madId, string model) {
210
128
string package , string type , boolean subtypes , string name , string signature , string ext ,
211
129
string input , string kind , string provenance
212
130
|
213
- sinkModel ( package , type , subtypes , name , signature , ext , input , kind , provenance , madId ) or
214
- Extensions:: experimentalSinkModel ( package , type , subtypes , name , signature , ext , input , kind ,
215
- provenance , _, madId )
131
+ sinkModel ( package , type , subtypes , name , signature , ext , input , kind , provenance , madId )
216
132
|
217
133
model =
218
134
"Sink: " + package + "; " + type + "; " + subtypes + "; " + name + "; " + signature + "; " +
@@ -224,9 +140,7 @@ predicate interpretModelForTest(QlBuiltins::ExtensionId madId, string model) {
224
140
string input , string output , string kind , string provenance
225
141
|
226
142
summaryModel ( package , type , subtypes , name , signature , ext , input , output , kind , provenance ,
227
- madId ) or
228
- Extensions:: experimentalSummaryModel ( package , type , subtypes , name , signature , ext , input ,
229
- output , kind , provenance , _, madId )
143
+ madId )
230
144
|
231
145
model =
232
146
"Summary: " + package + "; " + type + "; " + subtypes + "; " + name + "; " + signature + "; " +
0 commit comments