void (final @NotNull PyStringLiteralExpression string) { String stringText = string.getText(); int length = PyStringLiteralUtil.getPrefixLength(stringText); stringText = stringText.substring(length); final PyDocStringOwner docStringOwner = PsiTreeUtil.getParentOfType(string, PyDocStringOwner.class); if (docStringOwner != null) { if (docStringOwner.getDocStringExpression() == string) { if (!stringText.startsWith("\"\"\"") && !stringText.endsWith("\"\"\"")) { ProblemsHolder holder = getHolder(); if (holder != null) { int quoteCount = 1; if (stringText.startsWith("'''") && stringText.endsWith("'''")) { quoteCount = 3; } TextRange trStart = new TextRange(length, length+quoteCount); TextRange trEnd = new TextRange(stringText.length()+length-quoteCount, stringText.length()+length); if (string.getStringValue().isEmpty()) holder.registerProblem(string, PyPsiBundle.message("INSP.message.single.quoted.docstring"), new ConvertDocstringQuickFix()); else { holder.registerProblem(string, trStart, PyPsiBundle.message("INSP.message.single.quoted.docstring"), new ConvertDocstringQuickFix()); holder.registerProblem(string, trEnd, PyPsiBundle.message("INSP.message.single.quoted.docstring"), new ConvertDocstringQuickFix()); } } } } } }