2017-02-20 3 views
1

Ich analysiere Quellcodes mit Sonar API und eine meiner Regeln besucht Anmerkungen.statische endgültige Variable Wert

Einige Anmerkungen enthalten möglicherweise eine Kind.MEMBER_SELECT, z. B. wenn das Argument auf eine statische letzte Variable verweist. Ich würde gerne wissen, ob es einen Weg gibt, den Wert dieser Variablen zu erhalten, wenn man weiß, dass sie endgültig ist.

Antwort

1

Die einzige Möglichkeit, dies mit einer benutzerdefinierten Regel zu tun, wäre jetzt, zur Deklaration des referenzierten Werts zu navigieren, und das wäre nur möglich, wenn diese Deklaration innerhalb derselben Kompilierungseinheit wie Ihre Anmerkung ist (also nicht die häufigster Fall).

Kurz gesagt: nicht leicht und nicht für den allgemeinen Fall.

Wir haben keinen wirklichen Plan, dies in SonarJava in der kommenden Zukunft zu unterstützen.

+0

Danke! Daher kann ich den Wert der Variablen nur erhalten, wenn sie sich in derselben Datei befindet. Auch wenn es im selben Paket ist, aber in einer anderen Datei, kann ich den Wert nicht ermitteln. Habe ich gut verstanden? Ich weiß nicht viel über die Kompilationsmöglichkeiten in Sonar. – nmschumacher

+0

Ja, das ist richtig: Wenn es in der gleichen Datei ist, haben Sie eine Möglichkeit, auf die Deklaration und damit den Wert zuzugreifen, aber es ist nicht möglich, wenn die Konstante in einer anderen Datei definiert ist. – benzonico

Verwandte Themen