fix for 1194470 (DesignForExtension should ignore enums)
This commit is contained in:
parent
29e611bd87
commit
0c3c817b22
|
|
@ -54,7 +54,7 @@ import com.puppycrawl.tools.checkstyle.api.TokenTypes;
|
|||
* </p>
|
||||
*
|
||||
* @author lkuehne
|
||||
* @version $Revision: 1.9 $
|
||||
* @version $Revision: 1.10 $
|
||||
*/
|
||||
public class DesignForExtensionCheck extends Check
|
||||
{
|
||||
|
|
@ -102,7 +102,9 @@ public class DesignForExtensionCheck extends Check
|
|||
final DetailAST classDef = findContainingClass(aAST);
|
||||
final DetailAST classMods =
|
||||
classDef.findFirstToken(TokenTypes.MODIFIERS);
|
||||
if (classMods.branchContains(TokenTypes.FINAL)) {
|
||||
if (classDef.getType() == TokenTypes.ENUM_DEF
|
||||
|| classMods.branchContains(TokenTypes.FINAL))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -146,7 +148,9 @@ public class DesignForExtensionCheck extends Check
|
|||
private DetailAST findContainingClass(DetailAST aAST)
|
||||
{
|
||||
DetailAST searchAST = aAST;
|
||||
while (searchAST.getType() != TokenTypes.CLASS_DEF) {
|
||||
while (searchAST.getType() != TokenTypes.CLASS_DEF
|
||||
&& searchAST.getType() != TokenTypes.ENUM_DEF)
|
||||
{
|
||||
searchAST = searchAST.getParent();
|
||||
}
|
||||
return searchAST;
|
||||
|
|
|
|||
|
|
@ -70,3 +70,15 @@ public abstract class InputDesignForExtension
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
// enums should be skipped
|
||||
enum TEnum
|
||||
{
|
||||
FIRST,
|
||||
SECOND;
|
||||
|
||||
public int value()
|
||||
{
|
||||
return 3;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,6 +10,17 @@
|
|||
|
||||
<body>
|
||||
|
||||
<section name="Release 4.0">
|
||||
<p>Fixed Bugs:</p>
|
||||
|
||||
<ul>
|
||||
<li>DesignForExtension check skips enums now (they are final
|
||||
:). (bug# 1194470)</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</section>
|
||||
|
||||
<section name="Release 4.0 Beta 2">
|
||||
|
||||
<p>Dependencies:</p>
|
||||
|
|
|
|||
Loading…
Reference in New Issue