boolean (@NotNull final PyExpression operand, @Nullable final PyExpression index, @NotNull final CompletionResultSet dictCompletion) { final TypeEvalContext typeEvalContext = TypeEvalContext.codeCompletion(operand.getProject(), operand.getContainingFile()); final PyType type = typeEvalContext.getType(operand); if (type instanceof PyTypedDictType && !((PyTypedDictType)type).isInferred()) { String quote = DEFAULT_QUOTE; if (index instanceof PyStringLiteralExpression) { quote = ((PyStringLiteralExpression)index).getStringElements().get(0).getQuote(); } for (String key : ((PyTypedDictType)type).getFields().keySet()) { dictCompletion.addElement(createElement(quote + key + quote)); } return true; } return false; }