Checkstyle:访问变量名称?

时间:2012-02-09 16:25:02

标签: java variables text checkstyle

我们有一个标准,变量名必须拼写不同(不仅仅是大小写)。例如,这是非法的:

int INDEX = 0;
int index = 0;

我正在尝试编写一个Checkstyle扩展来支持此功能,但ast.getText()正在返回“variable_def”而不是实际的变量名称。我该怎么做?感谢。

package check;

import java.util.ArrayList;

import com.puppycrawl.tools.checkstyle.api.Check;
import com.puppycrawl.tools.checkstyle.api.DetailAST;
import com.puppycrawl.tools.checkstyle.api.FullIdent;
import com.puppycrawl.tools.checkstyle.api.TokenTypes;

public class VariableSpelling extends Check {
    private ArrayList<String> variables = new ArrayList<String>();

    public int[] getDefaultTokens() {
        return new int[] { TokenTypes.VARIABLE_DEF };
    }

    /**
     * This method is called when a node is found
     */
    public void visitToken(DetailAST ast) {
        String var = ast.getText();
    }
}

1 个答案:

答案 0 :(得分:0)

没关系。我发现了这个问题。您无法获得VARIABLE_DEF的文本。你必须向下钻取到IDENT ...然后获取该文本。