| 1 package com.puppycrawl.tools.checkstyle.checks.naming; 20 21 import com.puppycrawl.tools.checkstyle.api.DetailAST; 22 import com.puppycrawl.tools.checkstyle.api.ScopeUtils; 23 import com.puppycrawl.tools.checkstyle.api.TokenTypes; 24 25 50 public class StaticVariableNameCheck 51 extends AbstractNameCheck 52 { 53 54 public StaticVariableNameCheck() 55 { 56 super("^[a-z][a-zA-Z0-9]*$"); 57 } 58 59 60 public int[] getDefaultTokens() 61 { 62 return new int[] {TokenTypes.VARIABLE_DEF}; 63 } 64 65 66 protected final boolean mustCheckName(DetailAST aAST) 67 { 68 final DetailAST modifiersAST = 69 aAST.findFirstToken(TokenTypes.MODIFIERS); 70 final boolean isStatic = (modifiersAST != null) 71 && modifiersAST.branchContains(TokenTypes.LITERAL_STATIC); 72 final boolean isFinal = (modifiersAST != null) 73 && modifiersAST.branchContains(TokenTypes.FINAL); 74 75 return (isStatic 76 && !isFinal 77 && !ScopeUtils.inInterfaceOrAnnotationBlock(aAST)); 78 } 79 } 80 | Popular Tags |