2012-02-09 6 views
3

変数名には大文字と小文字を区別する必要があります。たとえば、これは違法である: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(); 
    } 
} 

答えて

0

Nevermind。私は問題を発見した。 VARIABLE_DEFのテキストを取得することはできません。あなたはIDENTまで掘り下げなければなりません。それからテキストを入手してください。

+0

コードをソリューションで更新できますか?私は同様の問題に直面しています。私はこのCheckStyleを初めて使用しているので、変更を行う場所を確認すると役に立ちます... –

関連する問題