|
4 | 4 | * @kind problem
|
5 | 5 | * @tags reliability
|
6 | 6 | * correctness
|
| 7 | + * quality |
7 | 8 | * @problem.severity error
|
8 | 9 | * @sub-severity low
|
9 | 10 | * @precision high
|
@@ -188,29 +189,27 @@ predicate isLikelyPlaceholderFunction(Function f) {
|
188 | 189 | }
|
189 | 190 |
|
190 | 191 | from
|
191 |
| - PythonFunctionValue f, string message, string sizes, boolean show_counts, string name, |
192 |
| - ClassValue owner, boolean show_unused_defaults |
| 192 | + Function f, string message, string sizes, boolean show_counts, string name, Class owner, |
| 193 | + boolean show_unused_defaults |
193 | 194 | where
|
194 |
| - owner.getScope().getAMethod() = f.getScope() and |
195 |
| - f.getScope().getName() = name and |
| 195 | + owner.getAMethod() = f and |
| 196 | + f.getName() = name and |
196 | 197 | (
|
197 |
| - incorrect_special_method_defn(f.getScope(), message, show_counts, name, show_unused_defaults) |
| 198 | + incorrect_special_method_defn(f, message, show_counts, name, show_unused_defaults) |
198 | 199 | or
|
199 |
| - incorrect_pow(f.getScope(), message, show_counts, show_unused_defaults) and name = "__pow__" |
| 200 | + incorrect_pow(f, message, show_counts, show_unused_defaults) and name = "__pow__" |
200 | 201 | or
|
201 |
| - incorrect_get(f.getScope(), message, show_counts, show_unused_defaults) and name = "__get__" |
| 202 | + incorrect_get(f, message, show_counts, show_unused_defaults) and name = "__get__" |
202 | 203 | or
|
203 |
| - incorrect_round(f.getScope(), message, show_counts, show_unused_defaults) and |
| 204 | + incorrect_round(f, message, show_counts, show_unused_defaults) and |
204 | 205 | name = "__round__"
|
205 | 206 | ) and
|
206 |
| - not isLikelyPlaceholderFunction(f.getScope()) and |
| 207 | + not isLikelyPlaceholderFunction(f) and |
207 | 208 | show_unused_defaults = false and
|
208 | 209 | (
|
209 | 210 | show_counts = false and sizes = ""
|
210 | 211 | or
|
211 | 212 | show_counts = true and
|
212 |
| - sizes = |
213 |
| - ", which has " + has_parameters(f.getScope()) + ", but should have " + |
214 |
| - should_have_parameters(name) |
| 213 | + sizes = ", which has " + has_parameters(f) + ", but should have " + should_have_parameters(name) |
215 | 214 | )
|
216 | 215 | select f, message + " for special method " + name + sizes + ", in class $@.", owner, owner.getName()
|
0 commit comments