PY-85706 Don't insert "t" prefix on completion in string arguments of unresolved functions

GitOrigin-RevId: c55b66d83f7518af43fb7dac8eb5a44560a10f85
This commit is contained in:
Mikhail Golubev
2025-11-18 18:28:17 +00:00
committed by intellij-monorepo-bot
parent 145f162042
commit 8762972bad
4 changed files with 12 additions and 1 deletions
@@ -158,7 +158,11 @@ public final class PyFStringLikeCompletionContributor extends CompletionContribu
!(argumentList.getParent() instanceof PyCallExpression call)) {
return false;
}
return ContainerUtil.all(call.multiMapArguments(PyResolveContext.defaultContext(typeEvalContext)), mapping -> {
List<PyCallExpression.PyArgumentsMapping> mappings = call.multiMapArguments(PyResolveContext.defaultContext(typeEvalContext));
if (mappings.isEmpty()) {
return false;
}
return ContainerUtil.all(mappings, mapping -> {
PyCallableParameter param = mapping.getMappedParameters().get(callArgument);
if (param == null) return false;
PyType paramType = param.getType(typeEvalContext);
@@ -0,0 +1 @@
unresolved(f"foo{divmod(<caret>)}")
@@ -0,0 +1 @@
unresolved("foo{divmo<caret>")
@@ -567,6 +567,11 @@ public class Py3CompletionTest extends PyTestCase {
public void testFStringLikeCompletionAddsTPrefixWhereTemplateStringIsExpectedAsAssignedValueWithUnpacking() {
doTest();
}
// PY-85706
public void testFStringLikeCompletionDoesNotAddTPrefixInsideUnresolvedFunctionCalls() {
doTest();
}
// PY-46056
public void testImportCompletionHintForSameDirectoryModuleInOrdinaryPackage() {