Christian H. Kuhn
2018-08-28 22:43:49 UTC
Hallo Gemeinde,
PMD meckert bei dem folgenden code snippet eine UR-Anomalie für die
Variable neighbour über die ersten 6 Zeilen an:
List<QDijkstraNode<E>> getNeighbours() {
final List<QDijkstraNode<E>> returnList = new LinkedList<>();
final List<QDijkstraElement<E>> neighbours =
element.getNeighbours();
for (final QDijkstraElement<E> neighbour : neighbours) {
returnList.add(createNeighbour(neighbour));
}
return returnList;
}
Soweit ich das verstanden habe, entsteht eine UR-Anomalie, wenn eine
Variable undefiniert wird, bevor auf sie zugegriffen wird. Wie das bei
einer Schleifenvariable innerhalb der Schleife geschehen soll, und warum
Code vor der Schleife angemeckert wird, erschließt sich mir nicht. Hab
ich wirklich was falsch gemacht, oder habe ich einen Bug in PMD entdeckt?
TIA
QNo
PMD meckert bei dem folgenden code snippet eine UR-Anomalie für die
Variable neighbour über die ersten 6 Zeilen an:
List<QDijkstraNode<E>> getNeighbours() {
final List<QDijkstraNode<E>> returnList = new LinkedList<>();
final List<QDijkstraElement<E>> neighbours =
element.getNeighbours();
for (final QDijkstraElement<E> neighbour : neighbours) {
returnList.add(createNeighbour(neighbour));
}
return returnList;
}
Soweit ich das verstanden habe, entsteht eine UR-Anomalie, wenn eine
Variable undefiniert wird, bevor auf sie zugegriffen wird. Wie das bei
einer Schleifenvariable innerhalb der Schleife geschehen soll, und warum
Code vor der Schleife angemeckert wird, erschließt sich mir nicht. Hab
ich wirklich was falsch gemacht, oder habe ich einen Bug in PMD entdeckt?
TIA
QNo