diff --git a/python/src/com/jetbrains/python/debugger/PyDebuggerEditorsProvider.java b/python/src/com/jetbrains/python/debugger/PyDebuggerEditorsProvider.java index 3b74d4f79dec..af4b98460e61 100644 --- a/python/src/com/jetbrains/python/debugger/PyDebuggerEditorsProvider.java +++ b/python/src/com/jetbrains/python/debugger/PyDebuggerEditorsProvider.java @@ -15,6 +15,7 @@ */ package com.jetbrains.python.debugger; +import com.google.common.annotations.VisibleForTesting; import com.intellij.openapi.editor.Document; import com.intellij.openapi.fileEditor.FileDocumentManager; import com.intellij.openapi.fileTypes.FileType; @@ -55,7 +56,8 @@ public class PyDebuggerEditorsProvider extends XDebuggerEditorsProvider { } @Nullable - private static PsiElement getContextElement(final Project project, XSourcePosition sourcePosition) { + @VisibleForTesting + public static PsiElement getContextElement(final Project project, XSourcePosition sourcePosition) { if (sourcePosition != null) { final Document document = FileDocumentManager.getInstance().getDocument(sourcePosition.getFile()); final PsiFile psiFile = PsiDocumentManager.getInstance(project).getPsiFile(document); @@ -68,7 +70,7 @@ public class PyDebuggerEditorsProvider extends XDebuggerEditorsProvider { if (element != null && !(element instanceof PsiWhiteSpace || element instanceof PsiComment)) { return PyPsiUtils.getStatement(element); } - offset = element.getTextRange().getEndOffset() + 1; + offset = element.getTextRange().getEndOffset(); } while (offset < lineEndOffset); } diff --git a/python/src/com/jetbrains/python/psi/impl/references/PyReferenceImpl.java b/python/src/com/jetbrains/python/psi/impl/references/PyReferenceImpl.java index 48401ea2afa6..68fea31df070 100644 --- a/python/src/com/jetbrains/python/psi/impl/references/PyReferenceImpl.java +++ b/python/src/com/jetbrains/python/psi/impl/references/PyReferenceImpl.java @@ -269,8 +269,8 @@ public class PyReferenceImpl implements PsiReferenceEx, PsiPolyVariantReference uexpr = null; } else if (owner == originalOwner && !scope.isGlobal(referencedName)) { - final List instructions = PyDefUseUtil.getLatestDefs(owner, referencedName, myElement, false); - final ResolveResultList latest = resolveToLatestDefs(instructions, myElement, referencedName); + final List instructions = PyDefUseUtil.getLatestDefs(owner, referencedName, realContext, false); + final ResolveResultList latest = resolveToLatestDefs(instructions, realContext, referencedName); if (!latest.isEmpty()) { return latest; }