1
2
3
4
5 package com.qulice.checkstyle;
6
7 import com.puppycrawl.tools.checkstyle.api.AbstractCheck;
8 import com.puppycrawl.tools.checkstyle.api.DetailAST;
9 import com.puppycrawl.tools.checkstyle.api.FileContents;
10 import com.puppycrawl.tools.checkstyle.api.TextBlock;
11 import com.puppycrawl.tools.checkstyle.api.TokenTypes;
12 import com.puppycrawl.tools.checkstyle.utils.AnnotationUtil;
13
14
15
16
17
18
19
20
21
22 public final class NoJavadocForOverriddenMethodsCheck extends AbstractCheck {
23
24
25
26
27 public NoJavadocForOverriddenMethodsCheck() {
28
29 }
30
31 @Override
32 public int[] getDefaultTokens() {
33 return new int[] {
34 TokenTypes.METHOD_DEF,
35 };
36 }
37
38 @Override
39 public int[] getAcceptableTokens() {
40 return this.getDefaultTokens();
41 }
42
43 @Override
44 public int[] getRequiredTokens() {
45 return this.getDefaultTokens();
46 }
47
48 @Override
49 @SuppressWarnings("deprecation")
50 public void visitToken(final DetailAST ast) {
51 if (AnnotationUtil.containsAnnotation(ast, "Override")) {
52 final FileContents contents = getFileContents();
53 final TextBlock javadoc = contents.getJavadocBefore(
54 ast.getLineNo()
55 );
56 if (javadoc != null) {
57 log(ast, "Overridden methods should not have Javadoc");
58 }
59 }
60 }
61 }