List<PsiReference> (@NotNull PyStringLiteralExpression element, int offset, @NotNull StructuredDocString docString, @NotNull List<Substring> paramNames, @NotNull Set<TextRange> nameReferenceRanges, @NotNull ReferenceType refType) { List<PsiReference> result = new ArrayList<>(); for (Substring name : paramNames) { final String s = name.toString(); if (PyNames.isIdentifier(s) && nameReferenceRanges.add(name.getTextRange())) { final TextRange range = name.getTextRange().shiftRight(offset); result.add(new DocStringParameterReference(element, range, refType)); } if (refType.equals(ReferenceType.PARAMETER_TYPE)) { final Substring type = docString.getParamTypeSubstring(s); if (type != null) { result.addAll(parseTypeReferences(element, type, offset)); } } } return result; }