From c0aca390070a412b967b41dd139eb3acdc82696c Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Mon, 19 Jul 2010 16:27:12 +0400 Subject: [PATCH] override doesn't pass default parameter values to super method (PY-1332) --- .../python/codeInsight/override/PyOverrideImplementUtil.java | 4 ++++ python/testData/override/simple.py | 2 +- python/testData/override/simple_after.py | 4 ++-- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/python/src/com/jetbrains/python/codeInsight/override/PyOverrideImplementUtil.java b/python/src/com/jetbrains/python/codeInsight/override/PyOverrideImplementUtil.java index bf4ea69b2c08..10ab0f275392 100644 --- a/python/src/com/jetbrains/python/codeInsight/override/PyOverrideImplementUtil.java +++ b/python/src/com/jetbrains/python/codeInsight/override/PyOverrideImplementUtil.java @@ -154,6 +154,10 @@ public class PyOverrideImplementUtil { String[] paramTexts = ContainerUtil.map(baseParams, new Function() { @Override public String fun(PyParameter pyParameter) { + final PyNamedParameter pyNamedParameter = pyParameter.getAsNamed(); + if (pyNamedParameter != null) { + return pyNamedParameter.getRepr(false); + } return pyParameter.getText(); } }, ArrayUtil.EMPTY_STRING_ARRAY); diff --git a/python/testData/override/simple.py b/python/testData/override/simple.py index e94d71f9d7f5..6a4ee14205be 100644 --- a/python/testData/override/simple.py +++ b/python/testData/override/simple.py @@ -1,5 +1,5 @@ class A: - def doStuff(self, foo): pass + def doStuff(self, foo=True): pass class B(A): def otherMethod(self, foo, bar): diff --git a/python/testData/override/simple_after.py b/python/testData/override/simple_after.py index dc34ec253a01..bbd008e18816 100644 --- a/python/testData/override/simple_after.py +++ b/python/testData/override/simple_after.py @@ -1,8 +1,8 @@ class A: - def doStuff(self, foo): pass + def doStuff(self, foo=True): pass class B(A): - def doStuff(self, foo): + def doStuff(self, foo=True): A.doStuff(self, foo) def otherMethod(self, foo, bar):