False Negative - Python `abc.ABC` makes method's `getACall` unavailable
- Dominant language
- CodeQL
- Stars
- 10.1k
- Forks
- 2.1k
- Avg merge
- 2d 15h
- Merged PRs (30d)
- 141
Description
If we have this Python code:
```python
class MyClass():
def method(self):
print("xxx")
def wrapper(self):
self.method()
mc = MyClass()
mc.method()
```
and this query:
```codeql
import python
from PythonFunctionValue method
select method.getACall()
```
It's OK that `self.method()` and `mc.method()` will be marked as positive.
However, those will be false negative as long as the class `MyClass` inherits `abc.ABC`. It looks like:
```python
from abc import ABC
class MyClass(ABC):
def method(self):
print("xxx")
def wrapper(self):
self.method()
mc = MyClass()
mc.method()
```
Why does the `abc.ABC` make the result wrong?
Contributor guide
Assessment
This issue has not been assessed yet.