blob: 4044209031a7144170c04ce961d29a9971b23e32 [file] [log] [blame]
/*
* Copyright 2006 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
package com.google.gwt.checkstyle;
import com.puppycrawl.tools.checkstyle.api.DetailAST;
import com.puppycrawl.tools.checkstyle.api.TokenTypes;
import com.puppycrawl.tools.checkstyle.checks.naming.MemberNameCheck;
/**
* Override MemberNameCheck to correctly use match rather than find.
*/
public class FieldCheck extends MemberNameCheck {
public FieldCheck() {
// Specifically stopping fields such as fMainWnd from being allowed.
setFormat("([a-eg-z]|(f[a-z0-9]))[a-zA-Z0-9]*");
}
public void visitToken(DetailAST aAST) {
if (mustCheckName(aAST)) {
final DetailAST nameAST = aAST.findFirstToken(TokenTypes.IDENT);
if (!getRegexp().matcher(nameAST.getText()).matches()) {
log(
nameAST.getLineNo(),
nameAST.getText()
+ ": Field names must start with [a-z], may not start with f[A-Z], and should not contain '_''s.");
}
}
}
}