У меня есть еще один StackOverflow вопрос о том, как установить и запустить пользовательский контрольный стиль.Я узнал, как это сделать, и вскоре обновлю этот ответ подробными инструкциями.Теперь у меня проблемы с настройкой чека.Ниже мой код.Проблема в том, что я хотел бы видеть полный пакет как строку (например, com.amir.foo
) - но вместо этого, когда я запускаю getText()
или просто toString()
, я получаю какой-то неясный результат (пакет [checkstyle] установлен в: ANNOTATIONS).Кто-нибудь знает, как с этим работать, чтобы добиться желаемых результатов?
import com.puppycrawl.tools.checkstyle.api.*;
public class MyCheck extends Check
{
FullIdent packageDeclaration;
public int[] getDefaultTokens() {
return new int[]{TokenTypes.PACKAGE_DEF};
}
public void visitToken(DetailAST ast)
{
switch(ast.getType()) {
case TokenTypes.PACKAGE_DEF:
System.out.println("got package!");
visitPackage(ast);
break;
default:
System.out.println("naughty!");
}
}
private void visitPackage(DetailAST pack) {
packageDeclaration = FullIdent.createFullIdentBelow(pack);
System.out.println("package set to : " +packageDeclaration);
}
}