From dcbcfe3eb965208b77948266510497e8c48f061a Mon Sep 17 00:00:00 2001 From: Roman Shevchenko Date: Wed, 12 Jul 2017 17:46:55 +0200 Subject: [PATCH] Cleanup (formatting) --- .../source/javadoc/PsiDocCommentImpl.java | 105 +++++++++--------- .../superMethodReturn/afterTypeAnno.java | 6 +- .../superMethodReturn/beforeTypeAnno.java | 6 +- .../JavadocInspectionQuickFixTest.java | 19 +--- .../RedundantTypeArgsInspectionFixTest.java | 2 +- .../quickFix/SuperMethodReturnTest.java | 8 +- 6 files changed, 66 insertions(+), 80 deletions(-) diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/source/javadoc/PsiDocCommentImpl.java b/java/java-psi-impl/src/com/intellij/psi/impl/source/javadoc/PsiDocCommentImpl.java index 5151b38cc8b8..c9f2ff9752bc 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/source/javadoc/PsiDocCommentImpl.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/source/javadoc/PsiDocCommentImpl.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2016 JetBrains s.r.o. + * Copyright 2000-2017 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -36,6 +36,7 @@ import com.intellij.util.text.CharArrayUtil; import org.jetbrains.annotations.NotNull; import java.util.ArrayList; +import java.util.List; import java.util.regex.Pattern; public class PsiDocCommentImpl extends LazyParseablePsiElement implements PsiDocComment, JavaTokenType, Constants { @@ -44,10 +45,8 @@ public class PsiDocCommentImpl extends LazyParseablePsiElement implements PsiDoc private static final TokenSet TAG_BIT_SET = TokenSet.create(DOC_TAG); private static final ArrayFactory ARRAY_FACTORY = count -> count == 0 ? PsiDocTag.EMPTY_ARRAY : new PsiDocTag[count]; - @SuppressWarnings({"HardCodedStringLiteral"}) private static final Pattern WS_PATTERN = Pattern.compile("\\s*"); - public PsiDocCommentImpl(CharSequence text) { super(JavaDocElementType.DOC_COMMENT, text); } @@ -60,7 +59,7 @@ public class PsiDocCommentImpl extends LazyParseablePsiElement implements PsiDoc @Override @NotNull public PsiElement[] getDescriptionElements() { - ArrayList array = new ArrayList<>(); + List array = new ArrayList<>(); for (ASTNode child = getFirstChildNode(); child != null; child = child.getTreeNext()) { IElementType i = child.getElementType(); if (i == DOC_TAG) break; @@ -80,14 +79,13 @@ public class PsiDocCommentImpl extends LazyParseablePsiElement implements PsiDoc @Override public PsiDocTag findTagByName(String name) { if (getFirstChildNode().getElementType() == JavaDocElementType.DOC_COMMENT) { - if (getFirstChildNode().getText().indexOf(name) < 0) return null; + if (!getFirstChildNode().getText().contains(name)) 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(); - + PsiDocTag tag = SourceTreeToPsiMap.treeToPsiNotNull(child); + CharSequence nameText = ((LeafElement)tag.getNameElement()).getChars(); if (nameText.length() > 0 && nameText.charAt(0) == '@' && CharArrayUtil.regionMatches(nameText, 1, name)) { return tag; } @@ -100,15 +98,14 @@ public class PsiDocCommentImpl extends LazyParseablePsiElement implements PsiDoc @Override @NotNull public PsiDocTag[] findTagsByName(String name) { - ArrayList array = new ArrayList<>(); - PsiDocTag[] tags = getTags(); + List array = new ArrayList<>(); name = "@" + name; - for (PsiDocTag tag : tags) { + for (PsiDocTag tag : getTags()) { if (tag.getNameElement().getText().equals(name)) { array.add(tag); } } - return array.toArray(new PsiDocTag[array.size()]); + return array.toArray(PsiDocTag.EMPTY_ARRAY); } @Override @@ -120,19 +117,15 @@ public class PsiDocCommentImpl extends LazyParseablePsiElement implements PsiDoc public ASTNode findChildByRole(int role) { LOG.assertTrue(ChildRole.isUnique(role)); switch (role) { - default: - return null; - case ChildRole.DOC_COMMENT_START: return getFirstChildNode(); case ChildRole.DOC_COMMENT_END: - if (getLastChildNode().getElementType() == DOC_COMMENT_END) { - return getLastChildNode(); - } - else { - return null; - } + TreeElement lastNode = getLastChildNode(); + return lastNode.getElementType() == DOC_COMMENT_END ? lastNode : null; + + default: + return null; } } @@ -140,26 +133,25 @@ public class PsiDocCommentImpl extends LazyParseablePsiElement implements PsiDoc return WS_PATTERN.matcher(docCommentData.getText()).matches(); } - private static void addNewLineToTag(CompositeElement tag, Project project) { + private static void addNewLineToTag(CompositeElement tag, Project project, PsiManager manager) { LOG.assertTrue(tag != null && tag.getElementType() == DOC_TAG); ASTNode current = tag.getLastChildNode(); while (current != null && current.getElementType() == DOC_COMMENT_DATA && isWhitespaceCommentData(current)) { current = current.getTreePrev(); } if (current != null && current.getElementType() == DOC_COMMENT_LEADING_ASTERISKS) return; - final CharTable treeCharTab = SharedImplUtil.findCharTableByTree(tag); - final ASTNode newLine = Factory.createSingleLeafElement(DOC_COMMENT_DATA, "\n", 0, 1, treeCharTab, SharedImplUtil.getManagerByTree(tag)); + + CharTable charTable = SharedImplUtil.findCharTableByTree(tag); + TreeElement newLine = Factory.createSingleLeafElement(DOC_COMMENT_DATA, "\n", 0, 1, charTable, manager); tag.addChild(newLine, null); - ASTNode leadingWhitespaceAnchor = null; + TreeElement leadingWhitespaceAnchor = null; if (JavaCodeStyleSettingsFacade.getInstance(project).isJavaDocLeadingAsterisksEnabled()) { - final TreeElement leadingAsterisk = Factory.createSingleLeafElement(DOC_COMMENT_LEADING_ASTERISKS, "*", 0, 1, treeCharTab, - SharedImplUtil.getManagerByTree(tag)); - + TreeElement leadingAsterisk = Factory.createSingleLeafElement(DOC_COMMENT_LEADING_ASTERISKS, "*", 0, 1, charTable, manager); leadingWhitespaceAnchor = tag.addInternal(leadingAsterisk, leadingAsterisk, null, Boolean.TRUE); } - final TreeElement commentData = Factory.createSingleLeafElement(DOC_COMMENT_DATA, " ", 0, 1, treeCharTab, SharedImplUtil.getManagerByTree(tag)); + TreeElement commentData = Factory.createSingleLeafElement(DOC_COMMENT_DATA, " ", 0, 1, charTable, manager); tag.addInternal(commentData, commentData, leadingWhitespaceAnchor, Boolean.TRUE); } @@ -169,7 +161,7 @@ public class PsiDocCommentImpl extends LazyParseablePsiElement implements PsiDoc if (first == last && first.getElementType() == DOC_TAG) { if (anchor == null) { anchor = getLastChildNode(); // this is a '*/' - final ASTNode prevBeforeWS = TreeUtil.skipElementsBack(anchor.getTreePrev(), ElementType.JAVA_WHITESPACE_BIT_SET); + ASTNode prevBeforeWS = TreeUtil.skipElementsBack(anchor.getTreePrev(), ElementType.JAVA_WHITESPACE_BIT_SET); if (prevBeforeWS != null) { anchor = prevBeforeWS; before = Boolean.FALSE; @@ -181,15 +173,15 @@ public class PsiDocCommentImpl extends LazyParseablePsiElement implements PsiDoc } if (anchor.getElementType() != DOC_TAG) { - if (nodeOnSameLineWithCommentStartBlock(anchor) - || !nodeIsNextAfterAsterisks(anchor) - || !docTagEndsWithLineFeedAndAsterisks(first)) - { - final CharTable charTable = SharedImplUtil.findCharTableByTree(this); - final TreeElement newLine = Factory.createSingleLeafElement(DOC_COMMENT_DATA, "\n", 0, 1, charTable, getManager()); - final TreeElement leadingAsterisk = Factory.createSingleLeafElement(DOC_COMMENT_LEADING_ASTERISKS, "*", 0, 1, charTable, getManager()); - final TreeElement commentData = Factory.createSingleLeafElement(DOC_COMMENT_DATA, " ", 0, 1, charTable, getManager()); - final TreeElement indentWS = Factory.createSingleLeafElement(DOC_COMMENT_DATA, " ", 0, 1, charTable, getManager()); + if (nodeOnSameLineWithCommentStartBlock(anchor) || + !nodeIsNextAfterAsterisks(anchor) || + !docTagEndsWithLineFeedAndAsterisks(first)) { + CharTable charTable = SharedImplUtil.findCharTableByTree(this); + PsiManager psiManager = getManager(); + TreeElement newLine = Factory.createSingleLeafElement(DOC_COMMENT_DATA, "\n", 0, 1, charTable, psiManager); + TreeElement leadingAsterisk = Factory.createSingleLeafElement(DOC_COMMENT_LEADING_ASTERISKS, "*", 0, 1, charTable, psiManager); + TreeElement commentData = Factory.createSingleLeafElement(DOC_COMMENT_DATA, " ", 0, 1, charTable, psiManager); + TreeElement indentWS = Factory.createSingleLeafElement(DOC_COMMENT_DATA, " ", 0, 1, charTable, psiManager); newLine.getTreeParent().addChild(indentWS); newLine.getTreeParent().addChild(leadingAsterisk); @@ -205,20 +197,26 @@ public class PsiDocCommentImpl extends LazyParseablePsiElement implements PsiDoc needToAddNewline = true; } } - if(before) anchor.getTreeParent().addChildren(first, last.getTreeNext(), anchor); - else anchor.getTreeParent().addChildren(first, last.getTreeNext(), anchor.getTreeNext()); + + if (before) { + anchor.getTreeParent().addChildren(first, last.getTreeNext(), anchor); + } + else { + anchor.getTreeParent().addChildren(first, last.getTreeNext(), anchor.getTreeNext()); + } if (needToAddNewline) { if (first.getTreePrev() != null && first.getTreePrev().getElementType() == DOC_TAG) { - addNewLineToTag((CompositeElement)first.getTreePrev(), getProject()); + addNewLineToTag((CompositeElement)first.getTreePrev(), getProject(), getManager()); } if (first.getTreeNext() != null && first.getTreeNext().getElementType() == DOC_TAG) { - addNewLineToTag((CompositeElement)first, getProject()); + addNewLineToTag((CompositeElement)first, getProject(), getManager()); } else { removeEndingAsterisksFromTag((CompositeElement)first); } } + return first; } @@ -228,7 +226,8 @@ public class PsiDocCommentImpl extends LazyParseablePsiElement implements PsiDoc current = current.getTreePrev(); } if (current != null && current.getElementType() == DOC_COMMENT_LEADING_ASTERISKS) { - final ASTNode prevWhiteSpace = TreeUtil.skipElementsBack(current.getTreePrev(), ElementType.JAVA_WHITESPACE_BIT_SET); + ASTNode prevWhiteSpace = TreeUtil.skipElementsBack(current.getTreePrev(), ElementType.JAVA_WHITESPACE_BIT_SET); + assert prevWhiteSpace != null; ASTNode toBeDeleted = prevWhiteSpace.getTreeNext(); while (toBeDeleted != null) { ASTNode next = toBeDeleted.getTreeNext(); @@ -291,23 +290,21 @@ public class PsiDocCommentImpl extends LazyParseablePsiElement implements PsiDoc } if (prev != null && prev.getElementType() == DOC_COMMENT_LEADING_ASTERISKS && !(next instanceof PsiDocTag)) { - ASTNode leadingAsterisk = prev; - if (leadingAsterisk.getTreePrev() != null) { - super.deleteChildInternal(leadingAsterisk.getTreePrev()); - super.deleteChildInternal(leadingAsterisk); + if (prev.getTreePrev() != null) { + super.deleteChildInternal(prev.getTreePrev()); + super.deleteChildInternal(prev); } } else if (prev != null && prev.getElementType() == DOC_TAG) { - final CompositeElement compositePrev = (CompositeElement)prev; - final ASTNode lastPrevChild = compositePrev.getLastChildNode(); - ASTNode prevChild = lastPrevChild; + CompositeElement compositePrev = (CompositeElement)prev; + ASTNode prevChild = compositePrev.getLastChildNode(); while (prevChild != null && prevChild.getElementType() == DOC_COMMENT_DATA) { prevChild = prevChild.getTreePrev(); } if (prevChild != null && prevChild.getElementType() == DOC_COMMENT_LEADING_ASTERISKS) { ASTNode current = prevChild; while (current != null) { - final ASTNode nextChild = current.getTreeNext(); + ASTNode nextChild = current.getTreeNext(); compositePrev.deleteChildInternal(current); current = nextChild; } @@ -320,7 +317,6 @@ public class PsiDocCommentImpl extends LazyParseablePsiElement implements PsiDoc } } } - } super.deleteChildInternal(child); } @@ -359,7 +355,8 @@ public class PsiDocCommentImpl extends LazyParseablePsiElement implements PsiDoc } } + @Override public String toString() { return "PsiDocComment"; } -} +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/superMethodReturn/afterTypeAnno.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/superMethodReturn/afterTypeAnno.java index 45eb389cbc49..328c768d6648 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/superMethodReturn/afterTypeAnno.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/superMethodReturn/afterTypeAnno.java @@ -8,8 +8,8 @@ import java.util.List; @interface N {} class a { - List<@N String> f() { - return ; + List<@N String> f() { + return; } } @@ -17,4 +17,4 @@ class b extends a { List<@N String> f() { return null; } -} +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/superMethodReturn/beforeTypeAnno.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/superMethodReturn/beforeTypeAnno.java index 6d914d51e465..8172419fdf0a 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/superMethodReturn/beforeTypeAnno.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/superMethodReturn/beforeTypeAnno.java @@ -8,8 +8,8 @@ import java.util.List; @interface N {} class a { - void f() { - return ; + void f() { + return; } } @@ -17,4 +17,4 @@ class b extends a { List<@N String> f() { return null; } -} +} \ No newline at end of file diff --git a/java/java-tests/testSrc/com/intellij/java/codeInsight/daemon/quickFix/JavadocInspectionQuickFixTest.java b/java/java-tests/testSrc/com/intellij/java/codeInsight/daemon/quickFix/JavadocInspectionQuickFixTest.java index f417c8c9e82f..83bf1064af02 100644 --- a/java/java-tests/testSrc/com/intellij/java/codeInsight/daemon/quickFix/JavadocInspectionQuickFixTest.java +++ b/java/java-tests/testSrc/com/intellij/java/codeInsight/daemon/quickFix/JavadocInspectionQuickFixTest.java @@ -18,30 +18,23 @@ package com.intellij.java.codeInsight.daemon.quickFix; import com.intellij.codeInsight.daemon.quickFix.LightQuickFixParameterizedTestCase; import com.intellij.codeInspection.LocalInspectionTool; import com.intellij.codeInspection.javaDoc.JavaDocLocalInspection; -import com.intellij.pom.java.LanguageLevel; import org.jetbrains.annotations.NotNull; public class JavadocInspectionQuickFixTest extends LightQuickFixParameterizedTestCase { - @NotNull @Override protected LocalInspectionTool[] configureLocalInspectionTools() { - final JavaDocLocalInspection javaDocLocalInspection = new JavaDocLocalInspection(); - javaDocLocalInspection.TOP_LEVEL_CLASS_OPTIONS.REQUIRED_TAGS = "param"; - javaDocLocalInspection.TOP_LEVEL_CLASS_OPTIONS.ACCESS_JAVADOC_REQUIRED_FOR = "package"; - javaDocLocalInspection.METHOD_OPTIONS.ACCESS_JAVADOC_REQUIRED_FOR = "package"; - return new LocalInspectionTool[]{javaDocLocalInspection}; + JavaDocLocalInspection inspection = new JavaDocLocalInspection(); + inspection.TOP_LEVEL_CLASS_OPTIONS.REQUIRED_TAGS = "param"; + inspection.TOP_LEVEL_CLASS_OPTIONS.ACCESS_JAVADOC_REQUIRED_FOR = "package"; + inspection.METHOD_OPTIONS.ACCESS_JAVADOC_REQUIRED_FOR = "package"; + return new LocalInspectionTool[]{inspection}; } - public void test() throws Exception { doAllTests(); } + public void test() { doAllTests(); } @Override protected String getBasePath() { return "/codeInsight/daemonCodeAnalyzer/quickFix/javadocTags"; } - - @Override - protected LanguageLevel getLanguageLevel() { - return LanguageLevel.JDK_1_5; - } } \ No newline at end of file diff --git a/java/java-tests/testSrc/com/intellij/java/codeInsight/daemon/quickFix/RedundantTypeArgsInspectionFixTest.java b/java/java-tests/testSrc/com/intellij/java/codeInsight/daemon/quickFix/RedundantTypeArgsInspectionFixTest.java index f92352f345b0..e397fc3f9134 100644 --- a/java/java-tests/testSrc/com/intellij/java/codeInsight/daemon/quickFix/RedundantTypeArgsInspectionFixTest.java +++ b/java/java-tests/testSrc/com/intellij/java/codeInsight/daemon/quickFix/RedundantTypeArgsInspectionFixTest.java @@ -27,7 +27,7 @@ public class RedundantTypeArgsInspectionFixTest extends LightQuickFixParameteriz return new LocalInspectionTool[]{ new RedundantTypeArgsInspection()}; } - public void test() throws Exception { doAllTests(); } + public void test() { doAllTests(); } @Override protected String getBasePath() { diff --git a/java/java-tests/testSrc/com/intellij/java/codeInsight/daemon/quickFix/SuperMethodReturnTest.java b/java/java-tests/testSrc/com/intellij/java/codeInsight/daemon/quickFix/SuperMethodReturnTest.java index da92623f6bce..23c090884e95 100644 --- a/java/java-tests/testSrc/com/intellij/java/codeInsight/daemon/quickFix/SuperMethodReturnTest.java +++ b/java/java-tests/testSrc/com/intellij/java/codeInsight/daemon/quickFix/SuperMethodReturnTest.java @@ -15,17 +15,13 @@ */ package com.intellij.java.codeInsight.daemon.quickFix; - import com.intellij.codeInsight.daemon.quickFix.LightQuickFixParameterizedTestCase; public class SuperMethodReturnTest extends LightQuickFixParameterizedTestCase { - - public void test() throws Exception {doAllTests();} + public void test() { doAllTests(); } @Override protected String getBasePath() { return "/codeInsight/daemonCodeAnalyzer/quickFix/superMethodReturn"; } - -} - +} \ No newline at end of file