@@ -83,25 +83,25 @@ predicate isUninterestingForDataFlowModels(Callable api) {
83
83
}
84
84
85
85
/**
86
- * A class of callables that are potentially relevant for generating summary and
87
- * neutral models.
86
+ * A class of callables that are potentially relevant for generating source or
87
+ * sink models.
88
88
*/
89
- class SummaryTargetApi extends TargetApiBase {
90
- SummaryTargetApi ( ) { not hasManualSummaryModel ( this . lift ( ) ) }
89
+ class SourceOrSinkTargetApi extends Callable {
90
+ SourceOrSinkTargetApi ( ) { relevant ( this ) }
91
91
}
92
92
93
93
/**
94
94
* A class of callables that are potentially relevant for generating sink models.
95
95
*/
96
- class SinkTargetApi extends TargetApiBase {
97
- SinkTargetApi ( ) { not hasManualSinkModel ( this . lift ( ) ) }
96
+ class SinkTargetApi extends SourceOrSinkTargetApi {
97
+ SinkTargetApi ( ) { not hasManualSinkModel ( this ) }
98
98
}
99
99
100
100
/**
101
101
* A class of callables that are potentially relevant for generating source models.
102
102
*/
103
- class SourceTargetApi extends TargetApiBase {
104
- SourceTargetApi ( ) { not hasManualSourceModel ( this . lift ( ) ) }
103
+ class SourceTargetApi extends SourceOrSinkTargetApi {
104
+ SourceTargetApi ( ) { not hasManualSourceModel ( this ) }
105
105
}
106
106
107
107
/**
@@ -112,16 +112,19 @@ class SourceTargetApi extends TargetApiBase {
112
112
predicate isUninterestingForTypeBasedFlowModels ( Callable api ) { none ( ) }
113
113
114
114
/**
115
- * A class of callables that are potentially relevant for generating summary, source, sink
116
- * and neutral models.
115
+ * A class of callables that are potentially relevant for generating summary or
116
+ * neutral models.
117
117
*
118
118
* In the Standard library and 3rd party libraries it is the callables (or callables that have a
119
119
* super implementation) that can be called from outside the library itself.
120
120
*/
121
- class TargetApiBase extends Callable {
121
+ class SummaryTargetApi extends Callable {
122
122
private Callable lift ;
123
123
124
- TargetApiBase ( ) { lift = liftedImpl ( this ) }
124
+ SummaryTargetApi ( ) {
125
+ lift = liftedImpl ( this ) and
126
+ not hasManualSummaryModel ( lift )
127
+ }
125
128
126
129
/**
127
130
* Gets the callable that a model will be lifted to.
0 commit comments