ignore duplicated throws 'true' by default (IDEA-93780)

This commit is contained in:
Anna Kozlova
2014-08-14 15:20:10 +04:00
parent 059f42064a
commit 1d31b27eb6
3 changed files with 25 additions and 5 deletions
@@ -65,6 +65,7 @@ public class JavaDocLocalInspectionBase extends BaseJavaBatchLocalInspectionTool
}
@NonNls private static final String IGNORE_ACCESSORS_ATTR_NAME = "IGNORE_ACCESSORS";
@NonNls private static final String IGNORE_DUPLICATED_THROWS_TAGS_ATTR_NAME = "IGNORE_DUPLICATED_THROWS_TAGS";
public static class Options implements JDOMExternalizable {
@NonNls public String ACCESS_JAVADOC_REQUIRED_FOR = NONE;
@@ -95,7 +96,18 @@ public class JavaDocLocalInspectionBase extends BaseJavaBatchLocalInspectionTool
@NonNls public Options FIELD_OPTIONS = new Options("none", "");
public boolean IGNORE_DEPRECATED = false;
public boolean IGNORE_JAVADOC_PERIOD = true;
@Deprecated
public boolean IGNORE_DUPLICATED_THROWS = false;
private boolean myIgnoreDuplicatedThrows = true;
public boolean getIgnoreDuplicatedThrows() {
return myIgnoreDuplicatedThrows;
}
public void setIgnoreDuplicatedThrows(boolean ignoreDuplicatedThrows) {
myIgnoreDuplicatedThrows = ignoreDuplicatedThrows;
}
public boolean IGNORE_POINT_TO_ITSELF = false;
public String myAdditionalJavadocTags = "";
@@ -126,6 +138,9 @@ public class JavaDocLocalInspectionBase extends BaseJavaBatchLocalInspectionTool
option.setAttribute("value", String.valueOf(true));
node.addContent(option);
}
if (!myIgnoreDuplicatedThrows) {
node.addContent(new Element(IGNORE_DUPLICATED_THROWS_TAGS_ATTR_NAME).setAttribute("value", String.valueOf(false)));
}
if (!PACKAGE_OPTIONS.ACCESS_JAVADOC_REQUIRED_FOR.equals("none") || !PACKAGE_OPTIONS.REQUIRED_TAGS.isEmpty()) {
PACKAGE_OPTIONS.writeExternal(node);
}
@@ -138,6 +153,10 @@ public class JavaDocLocalInspectionBase extends BaseJavaBatchLocalInspectionTool
if (ignoreAccessorsTag != null) {
myIgnoreSimpleAccessors = Boolean.parseBoolean(ignoreAccessorsTag.getAttributeValue("value"));
}
Element ignoreDupThrowsTag = node.getChild(IGNORE_DUPLICATED_THROWS_TAGS_ATTR_NAME);
if (ignoreDupThrowsTag != null) {
myIgnoreDuplicatedThrows = Boolean.parseBoolean(ignoreDupThrowsTag.getAttributeValue("value"));
}
PACKAGE_OPTIONS.readExternal(node);
}
@@ -1000,7 +1019,7 @@ public class JavaDocLocalInspectionBase extends BaseJavaBatchLocalInspectionTool
}
}
}
else if (!IGNORE_DUPLICATED_THROWS && ("throws".equals(tag.getName()) || "exception".equals(tag.getName()))) {
else if (!myIgnoreDuplicatedThrows && ("throws".equals(tag.getName()) || "exception".equals(tag.getName()))) {
PsiDocTagValue value = tag.getValueElement();
if (value != null) {
final PsiElement firstChild = value.getFirstChild();
@@ -184,11 +184,11 @@ public class JavaDocLocalInspection extends JavaDocLocalInspectionBase {
add(periodCheckBox, gc);
final JCheckBox ignoreDuplicateThrowsCheckBox = new JCheckBox("Ignore duplicate throws tag",
IGNORE_DUPLICATED_THROWS);
getIgnoreDuplicatedThrows());
ignoreDuplicateThrowsCheckBox.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
IGNORE_DUPLICATED_THROWS = ignoreDuplicateThrowsCheckBox.isSelected();
setIgnoreDuplicatedThrows(ignoreDuplicateThrowsCheckBox.isSelected());
}
});
add(ignoreDuplicateThrowsCheckBox, gc);
@@ -33,7 +33,9 @@ public class JavaDocInspectionTest extends InspectionTestCase {
}
public void testDuplicateThrows() throws Exception {
doTest();
JavaDocLocalInspection tool = new JavaDocLocalInspection();
tool.setIgnoreDuplicatedThrows(false);
doTest("javaDocInspection/" + getTestName(true), tool);
}
//inherited javadoc
@@ -67,7 +69,6 @@ public class JavaDocInspectionTest extends InspectionTestCase {
public void testIgnoreDuplicateThrows() throws Exception {
final JavaDocLocalInspection inspection = new JavaDocLocalInspection();
inspection.IGNORE_DUPLICATED_THROWS = true;
doTest("javaDocInspection/" + getTestName(true), inspection);
}