Checkstyle: доступ к именам переменных? - PullRequest
3 голосов
/ 09 февраля 2012

У нас есть стандарт, что имена переменных должны быть написаны по-разному (не только регистр). Например, это незаконно:

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 голосов
/ 23 февраля 2012

Nevermind.Я нашел проблему.Вы не можете получить текст VARIABLE_DEF.Вы должны перейти к ИДЕНТУ ... затем получить текст об этом.

...