diff options
| author | Martin Pool <mbp@google.com> | 2013-01-08 18:35:22 +0100 |
|---|---|---|
| committer | Martin Pool <mbp@google.com> | 2013-01-08 18:35:22 +0100 |
| commit | 5824d2fca1fde84120b6e74c4f1af1a3023a9fe6 (patch) | |
| tree | 17842b3e19d38750255af803685ac45674c33bda /checkers/classes.py | |
| parent | 5a490fc2f868890f7f43fd081e8dc4164b58a9d9 (diff) | |
| download | pylint-git-5824d2fca1fde84120b6e74c4f1af1a3023a9fe6.tar.gz | |
erroneous W0212 (access to protected member) on super call. Closes #115580
--HG--
branch : stable
Diffstat (limited to 'checkers/classes.py')
| -rw-r--r-- | checkers/classes.py | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/checkers/classes.py b/checkers/classes.py index 1259d18c4..f2c2913a0 100644 --- a/checkers/classes.py +++ b/checkers/classes.py @@ -386,10 +386,15 @@ a metaclass class method.'} self.add_message('W0212', node=node, args=attrname) return + # If the expression begins with a call to super, that's ok. + if isinstance(node.expr, astng.CallFunc) and \ + isinstance(node.expr.func, astng.Name) and \ + node.expr.func.name == 'super': + return + # We are in a class, one remaining valid cases, Klass._attr inside # Klass if not (callee == klass.name or callee in klass.basenames): - self.add_message('W0212', node=node, args=attrname) def visit_name(self, node): |
