diff --git a/python/ql/src/Classes/PropertyInOldStyleClass.ql b/python/ql/src/Classes/PropertyInOldStyleClass.ql index 80a5ef06bbe..4b3666067ec 100644 --- a/python/ql/src/Classes/PropertyInOldStyleClass.ql +++ b/python/ql/src/Classes/PropertyInOldStyleClass.ql @@ -13,11 +13,12 @@ import python private import semmle.python.dataflow.new.internal.DataFlowDispatch -from Function prop, Class cls +from Function prop, Class cls, Name decorator where prop.getScope() = cls and - prop.getADecorator().(Name).getId() = "property" and + decorator = prop.getADecorator() and + decorator.getId() = "property" and not DuckTyping::isNewStyle(cls) -select prop, +select decorator, "Property " + prop.getName() + " will not work properly, as class " + cls.getName() + " is an old-style class." diff --git a/python/ql/test/2/query-tests/Classes/new-style/PropertyInOldStyleClass.expected b/python/ql/test/2/query-tests/Classes/new-style/PropertyInOldStyleClass.expected index 1e5be51fbaf..fb508cbe859 100644 --- a/python/ql/test/2/query-tests/Classes/new-style/PropertyInOldStyleClass.expected +++ b/python/ql/test/2/query-tests/Classes/new-style/PropertyInOldStyleClass.expected @@ -1 +1 @@ -| property_old_style.py:9:5:9:20 | Function piosc | Property piosc will not work properly, as class OldStyle is an old-style class. | +| property_old_style.py:8:6:8:13 | property | Property piosc will not work properly, as class OldStyle is an old-style class. |