2009-07-02 5 views
0

J'utilise une classe qui étend BytecodeScanningDetector pour vérifier les champs problématiques d'une classe. Après avoir détecté si le champ est problématique, je l'ajoute au rapport de bug comme suit: Une fois que j'exécute findbugs, il identifie le bogue, le liste dans le volet gauche, mais ne met pas en surbrillance la ligne source correspondante. Tous les conseils/aides sur ce seront très appréciés.Afficher le champ dans le volet du code source de Findbugs UI

public void visit(Field f) { 
      if (isProblematic(getXField())) { 
        bugReporter.reportBug(new BugInstance(this, 
                tBugType, 
                 HIGH_PRIORITY) 
                .addClass(currentClass) //from visit(JavaClass) 
                .addField(this)); 
      } 
} 
public void visit(JavaClass someObj) { 
      currentClass = someObj.getClassName(); 
} 

P.S. J'ai essayé de poster ceci sur la liste des findbugs mais ... pas de joie.

Répondre

0

Malheureusement, le format de fichier java class n'associe pas les numéros de ligne aux champs. L'attribut 'Line number table' est un attribut de méthodes uniquement. Et ainsi vous ne pouvez pas faire ce que vous voulez faire.

+0

c'est tristement, très vrai. –

Questions connexes