8282 */
8383
8484import csharp
85+ private import ExternalFlowExtensions as Extensions
8586private import internal.AccessPathSyntax
8687private import internal.DataFlowDispatch
8788private import internal.DataFlowPrivate
@@ -138,14 +139,6 @@ private predicate summaryModelInternal(string row) { any(SummaryModelCsvInternal
138139
139140private predicate sinkModelInternal ( string row ) { any ( SinkModelCsvInternal s ) .row ( row ) }
140141
141- /**
142- * Holds if a source model exists for the given parameters.
143- */
144- extensible predicate extSourceModel (
145- string namespace , string type , boolean subtypes , string name , string signature , string ext ,
146- string output , string kind , string provenance
147- ) ;
148-
149142/** Holds if a source model exists for the given parameters. */
150143predicate sourceModel (
151144 string namespace , string type , boolean subtypes , string name , string signature , string ext ,
@@ -165,15 +158,9 @@ predicate sourceModel(
165158 row .splitAt ( ";" , 8 ) = provenance
166159 )
167160 or
168- extSourceModel ( namespace , type , subtypes , name , signature , ext , output , kind , provenance )
161+ Extensions :: sourceModel ( namespace , type , subtypes , name , signature , ext , output , kind , provenance )
169162}
170163
171- /** Holds if a sink model exists for the given parameters. */
172- extensible predicate extSinkModel (
173- string namespace , string type , boolean subtypes , string name , string signature , string ext ,
174- string input , string kind , string provenance
175- ) ;
176-
177164/** Holds if a sink model exists for the given parameters. */
178165predicate sinkModel (
179166 string namespace , string type , boolean subtypes , string name , string signature , string ext ,
@@ -193,15 +180,9 @@ predicate sinkModel(
193180 row .splitAt ( ";" , 8 ) = provenance
194181 )
195182 or
196- extSinkModel ( namespace , type , subtypes , name , signature , ext , input , kind , provenance )
183+ Extensions :: sinkModel ( namespace , type , subtypes , name , signature , ext , input , kind , provenance )
197184}
198185
199- /** Holds if a summary model exists for the given parameters. */
200- extensible predicate extSummaryModel (
201- string namespace , string type , boolean subtypes , string name , string signature , string ext ,
202- string input , string output , string kind , string provenance
203- ) ;
204-
205186/** Holds if a summary model exists for the given parameters. */
206187predicate summaryModel (
207188 string namespace , string type , boolean subtypes , string name , string signature , string ext ,
@@ -222,20 +203,12 @@ predicate summaryModel(
222203 row .splitAt ( ";" , 9 ) = provenance
223204 )
224205 or
225- extSummaryModel ( namespace , type , subtypes , name , signature , ext , input , output , kind , provenance )
206+ Extensions:: summaryModel ( namespace , type , subtypes , name , signature , ext , input , output , kind ,
207+ provenance )
226208}
227209
228210/** Holds if a model exists indicating there is no flow for the given parameters. */
229- extensible predicate extNeutralModel (
230- string namespace , string type , string name , string signature , string provenance
231- ) ;
232-
233- /** Holds if a model exists indicating there is no flow for the given parameters. */
234- predicate neutralModel (
235- string namespace , string type , string name , string signature , string provenance
236- ) {
237- extNeutralModel ( namespace , type , name , signature , provenance )
238- }
211+ predicate neutralModel = Extensions:: neutralModel / 5 ;
239212
240213private predicate relevantNamespace ( string namespace ) {
241214 sourceModel ( namespace , _, _, _, _, _, _, _, _) or
0 commit comments