@Override @NotNull public PsiDocTag[] findTagsByName(String name) { ArrayList<PsiDocTag> array = new ArrayList<PsiDocTag>(); PsiDocTag[] tags = getTags(); name = "@" + name; for (PsiDocTag tag : tags) { if (tag.getNameElement().getText().equals(name)) { array.add(tag); } } return array.toArray(new PsiDocTag[array.size()]); }
@Override public PsiDocTag findTagByName(String name) { if (getFirstChildNode().getElementType() == JavaDocElementType.DOC_COMMENT) { if (getFirstChildNode().getText().indexOf(name) < 0) return null; } for (ASTNode child = getFirstChildNode(); child != null; child = child.getTreeNext()) { if (child.getElementType() == DOC_TAG) { PsiDocTag tag = (PsiDocTag) SourceTreeToPsiMap.treeElementToPsi(child); final CharSequence nameText = ((LeafElement) tag.getNameElement()).getChars(); if (nameText.length() > 0 && nameText.charAt(0) == '@' && CharArrayUtil.regionMatches(nameText, 1, name)) { return tag; } } } return null; }