diff --git a/python/src/com/jetbrains/python/psi/impl/PyParameterListImpl.java b/python/src/com/jetbrains/python/psi/impl/PyParameterListImpl.java index b9f6c75c1a2c..320adcef0953 100644 --- a/python/src/com/jetbrains/python/psi/impl/PyParameterListImpl.java +++ b/python/src/com/jetbrains/python/psi/impl/PyParameterListImpl.java @@ -5,9 +5,10 @@ import com.intellij.psi.PsiElement; import com.jetbrains.python.PyElementTypes; import com.jetbrains.python.psi.*; import com.jetbrains.python.psi.stubs.PyParameterListStub; -import com.jetbrains.python.toolbox.ArrayIterable; import org.jetbrains.annotations.NotNull; +import java.util.ArrayList; + /** * @author yole */ @@ -140,7 +141,7 @@ public class PyParameterListImpl extends PyBaseElementImpl @NotNull public Iterable iterateNames() { - return new ArrayIterable(getParameters()); + return new ArrayList(ParamHelper.collectNamedParameters(this)); } public PyElement getElementNamed(final String the_name) { diff --git a/python/testData/resolve/LambdaWithParens.py b/python/testData/resolve/LambdaWithParens.py new file mode 100644 index 000000000000..7b7fd16adfc2 --- /dev/null +++ b/python/testData/resolve/LambdaWithParens.py @@ -0,0 +1 @@ +myidentityfunction = lambda(foo): foo diff --git a/python/testSrc/com/jetbrains/python/PyResolveTest.java b/python/testSrc/com/jetbrains/python/PyResolveTest.java index 60c004a3459b..7c70b0c98ca6 100644 --- a/python/testSrc/com/jetbrains/python/PyResolveTest.java +++ b/python/testSrc/com/jetbrains/python/PyResolveTest.java @@ -240,6 +240,11 @@ public class PyResolveTest extends PyResolveTestCase { PsiElement targetElement = resolve(); assertTrue(targetElement instanceof PyTargetExpression); } + + public void testLambdaWithParens() { // PY-882 + PsiElement targetElement = resolve(); + assertTrue(targetElement instanceof PyParameter); + } public void testTextBasedResolve() { ResolveResult[] resolveResults = multiResolve();