From 882f18780ccb5d7efbb4d74986163cc845102d56 Mon Sep 17 00:00:00 2001 From: Andrey Vlasovskikh Date: Tue, 3 Apr 2012 16:57:00 +0400 Subject: [PATCH] Don't highlight first argument as 'self' if it is *args or **kwargs (PY-6108) --- .../python/validation/HighlightingAnnotator.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/python/src/com/jetbrains/python/validation/HighlightingAnnotator.java b/python/src/com/jetbrains/python/validation/HighlightingAnnotator.java index 4cdc1b0c15c3..5181f6b6dfa3 100644 --- a/python/src/com/jetbrains/python/validation/HighlightingAnnotator.java +++ b/python/src/com/jetbrains/python/validation/HighlightingAnnotator.java @@ -35,14 +35,19 @@ public class HighlightingAnnotator extends PyAnnotator { } private static boolean isSelf(PyParameter node, PyFunction function) { - boolean isSelf = false; + final PyNamedParameter named = node.getAsNamed(); + if (named != null) { + if (named.isPositionalContainer() || named.isKeywordContainer()) { + return false; + } + } final int index = ArrayUtil.find(function.getParameterList().getParameters(), node); if (function.getContainingClass() != null && index == 0) { final PyFunction.Modifier modifier = function.getModifier(); if (modifier != PyFunction.Modifier.CLASSMETHOD && modifier != PyFunction.Modifier.STATICMETHOD) { - isSelf = true; + return true; } } - return isSelf; + return false; } }