我们有一个标准,变量名必须拼写不同(不仅仅是大小写)。例如,这是非法的:
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();
}
}
答案 0 :(得分:0)
没关系。我发现了这个问题。您无法获得VARIABLE_DEF的文本。你必须向下钻取到IDENT ...然后获取该文本。