本文整理汇总了Java中com.intellij.psi.javadoc.PsiDocComment.getTags方法的典型用法代码示例。如果您正苦于以下问题:Java PsiDocComment.getTags方法的具体用法?Java PsiDocComment.getTags怎么用?Java PsiDocComment.getTags使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.intellij.psi.javadoc.PsiDocComment
的用法示例。
在下文中一共展示了PsiDocComment.getTags方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: visitDocComment
import com.intellij.psi.javadoc.PsiDocComment; //导入方法依赖的package包/类
@Override
public void visitDocComment(PsiDocComment comment) {
super.visitDocComment(comment);
final PsiDocTag[] tags = comment.getTags();
for (PsiDocTag tag : tags) {
if (Comparing.strEqual(tag.getName(), SuppressionUtil.SUPPRESS_INSPECTIONS_TAG_NAME)) {
final PsiElement[] dataElements = tag.getDataElements();
if (dataElements != null && dataElements.length > 0) {
final PsiModifierListOwner listOwner = PsiTreeUtil.getParentOfType(comment, PsiModifierListOwner.class);
if (listOwner != null) {
final RefElementImpl element = (RefElementImpl)myRefManager.getReference(listOwner);
if (element != null) {
String suppression = "";
for (PsiElement dataElement : dataElements) {
suppression += "," + dataElement.getText();
}
element.addSuppression(suppression);
}
}
}
}
}
}
示例2: testDeleteTag1
import com.intellij.psi.javadoc.PsiDocComment; //导入方法依赖的package包/类
public void testDeleteTag1() throws Exception {
final PsiElementFactory factory = getFactory();
final PsiMethod method = factory.createMethodFromText(
"/**\n" +
" * Javadoc\n" +
" * @param p1\n" +
" * @param p2\n" +
" */" +
" void m() {}", null);
final PsiDocComment docComment = method.getDocComment();
assertNotNull(docComment);
final PsiDocTag[] tags = docComment.getTags();
WriteCommandAction.runWriteCommandAction(null, new Runnable() {
@Override
public void run() {
tags[0].delete();
}
});
assertEquals("/**\n" +
" * Javadoc\n" +
" * @param p2\n" +
" */", docComment.getText());
}
示例3: testDeleteTag2
import com.intellij.psi.javadoc.PsiDocComment; //导入方法依赖的package包/类
public void testDeleteTag2() throws Exception {
final PsiElementFactory factory = getFactory();
final PsiMethod method = factory.createMethodFromText(
"/**\n" +
" * Javadoc\n" +
" * @param p1\n" +
" * @param p2\n" +
" */" +
" void m() {}", null);
final PsiDocComment docComment = method.getDocComment();
assertNotNull(docComment);
final PsiDocTag[] tags = docComment.getTags();
ApplicationManager.getApplication().runWriteAction(new Runnable() {
@Override
public void run() {
tags[1].delete();
}
});
assertEquals("/**\n" +
" * Javadoc\n" +
" * @param p1\n" +
" */", docComment.getText());
}
示例4: testDeleteTag3
import com.intellij.psi.javadoc.PsiDocComment; //导入方法依赖的package包/类
public void testDeleteTag3() throws Exception {
final PsiElementFactory factory = getFactory();
final PsiMethod method = factory.createMethodFromText(
"/**\n" +
" * Javadoc\n" +
" * @param p1\n" +
" * @param p2\n" +
" * @param p3\n" +
" */" +
" void m() {}", null);
final PsiDocComment docComment = method.getDocComment();
assertNotNull(docComment);
final PsiDocTag[] tags = docComment.getTags();
ApplicationManager.getApplication().runWriteAction(new Runnable() {
@Override
public void run() {
tags[1].delete();
}
});
assertEquals("/**\n" +
" * Javadoc\n" +
" * @param p1\n" +
" * @param p3\n" +
" */", docComment.getText());
}
示例5: testAddTag1
import com.intellij.psi.javadoc.PsiDocComment; //导入方法依赖的package包/类
public void testAddTag1() throws Exception {
final PsiElementFactory factory = getFactory();
final PsiMethod method = factory.createMethodFromText(
"/**\n" +
" * Javadoc\n" +
" * @param p1\n" +
" */\n" +
"void m();", null);
final PsiDocComment docComment = method.getDocComment();
assertNotNull(docComment);
final PsiDocTag[] tags = docComment.getTags();
final PsiDocTag tag2 = factory.createParamTag("p2", "");
docComment.addAfter(tag2, tags[0]);
assertEquals(
"/**\n" +
" * Javadoc\n" +
" * @param p1\n" +
" * @param p2\n" +
" */", docComment.getText());
}
示例6: testAddTag2
import com.intellij.psi.javadoc.PsiDocComment; //导入方法依赖的package包/类
public void testAddTag2() throws Exception {
final PsiElementFactory factory = getFactory();
final PsiMethod method = factory.createMethodFromText(
"/**\n" +
" * Javadoc\n" +
" * @param p1\n" +
" */\n" +
"void m();", null);
final PsiDocComment docComment = method.getDocComment();
assertNotNull(docComment);
final PsiDocTag[] tags = docComment.getTags();
final PsiDocTag tag2 = factory.createParamTag("p2", "");
docComment.addBefore(tag2, tags[0]);
assertEquals(
"/**\n" +
" * Javadoc\n" +
" * @param p2\n" +
" * @param p1\n" +
" */", docComment.getText());
}
示例7: locateCaret
import com.intellij.psi.javadoc.PsiDocComment; //导入方法依赖的package包/类
private static void locateCaret(@NotNull PsiDocComment comment, @NotNull Editor editor, @NotNull PsiFile file) {
Document document = editor.getDocument();
int lineToNavigate = -1;
for (PsiDocTag tag : comment.getTags()) {
PsiElement nameElement = tag.getNameElement();
if (nameElement == null || !CARET_ANCHOR_TAGS.contains(nameElement.getText())) {
continue;
}
boolean good = false;
PsiElement[] dataElements = tag.getDataElements();
if (dataElements != null) {
PsiDocTagValue valueElement = tag.getValueElement();
for (PsiElement element : dataElements) {
if (element == valueElement) {
continue;
}
if (!StringUtil.isEmptyOrSpaces(element.getText())) {
good = true;
break;
}
}
}
if (!good) {
int offset = tag.getTextRange().getEndOffset();
CharSequence text = document.getCharsSequence();
int i = CharArrayUtil.shiftBackward(text, offset - 1, " \t*");
if (i > 0 && text.charAt(i) == '\n') {
offset = i - 1;
}
lineToNavigate = document.getLineNumber(offset);
break;
}
}
if (lineToNavigate >= 0) {
editor.getCaretModel().moveToOffset(document.getLineEndOffset(lineToNavigate));
JavadocNavigationDelegate.navigateToLineEnd(editor, file);
}
}