From 0edb7918ba5ddcb1bb81cb505dfe671a960f3386 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Wed, 14 Apr 2010 16:19:10 +0400 Subject: [PATCH] provide a reference inside qualified target expressions --- .../python/psi/impl/PyQualifiedReferenceImpl.java | 2 +- .../jetbrains/python/psi/impl/PyReferenceImpl.java | 2 +- .../python/psi/impl/PyTargetExpressionImpl.java | 9 +++++++++ python/testData/resolve/Property.py | 11 +++++++++++ .../testSrc/com/jetbrains/python/PyResolveTest.java | 5 +++++ 5 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 python/testData/resolve/Property.py diff --git a/python/src/com/jetbrains/python/psi/impl/PyQualifiedReferenceImpl.java b/python/src/com/jetbrains/python/psi/impl/PyQualifiedReferenceImpl.java index 2adea76c92a1..72638e7ffbcf 100644 --- a/python/src/com/jetbrains/python/psi/impl/PyQualifiedReferenceImpl.java +++ b/python/src/com/jetbrains/python/psi/impl/PyQualifiedReferenceImpl.java @@ -18,7 +18,7 @@ import java.util.*; * @author yole */ public class PyQualifiedReferenceImpl extends PyReferenceImpl { - public PyQualifiedReferenceImpl(PyReferenceExpressionImpl element) { + public PyQualifiedReferenceImpl(PyQualifiedExpression element) { super(element); } diff --git a/python/src/com/jetbrains/python/psi/impl/PyReferenceImpl.java b/python/src/com/jetbrains/python/psi/impl/PyReferenceImpl.java index 970b8b33de14..fddd30af6a99 100644 --- a/python/src/com/jetbrains/python/psi/impl/PyReferenceImpl.java +++ b/python/src/com/jetbrains/python/psi/impl/PyReferenceImpl.java @@ -33,7 +33,7 @@ import java.util.concurrent.atomic.AtomicInteger; public class PyReferenceImpl implements PsiReferenceEx, PsiPolyVariantReference { protected final PyQualifiedExpression myElement; - public PyReferenceImpl(PyReferenceExpressionImpl element) { + public PyReferenceImpl(PyQualifiedExpression element) { myElement = element; } diff --git a/python/src/com/jetbrains/python/psi/impl/PyTargetExpressionImpl.java b/python/src/com/jetbrains/python/psi/impl/PyTargetExpressionImpl.java index 17c594330424..d6f92ba585bc 100644 --- a/python/src/com/jetbrains/python/psi/impl/PyTargetExpressionImpl.java +++ b/python/src/com/jetbrains/python/psi/impl/PyTargetExpressionImpl.java @@ -3,6 +3,7 @@ package com.jetbrains.python.psi.impl; import com.intellij.lang.ASTNode; import com.intellij.openapi.util.Pair; import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiReference; import com.intellij.psi.ResolveState; import com.intellij.psi.scope.PsiScopeProcessor; import com.intellij.psi.util.PsiTreeUtil; @@ -161,4 +162,12 @@ public class PyTargetExpressionImpl extends PyPresentableElementImplll_name = "Dmitry Jemerov" diff --git a/python/testSrc/com/jetbrains/python/PyResolveTest.java b/python/testSrc/com/jetbrains/python/PyResolveTest.java index 4cc09d7927e1..8cd4344a5225 100644 --- a/python/testSrc/com/jetbrains/python/PyResolveTest.java +++ b/python/testSrc/com/jetbrains/python/PyResolveTest.java @@ -239,4 +239,9 @@ public class PyResolveTest extends PyResolveTestCase { PsiElement targetElement = resolve(); assertNull(targetElement); } + + public void testProperty() throws Exception { + PsiElement targetElement = resolve(); + assertTrue(targetElement instanceof PyTargetExpression); + } } \ No newline at end of file