Sonar Toten Speicher zu lokalen Variablen
Ich habe den folgenden code und sonar sagt mir die folgende Fehlermeldung:
Dead store to descriptions1 in new com.dscsag.dsct2c.test.TestStep(Integer, String, Model)
In den folgenden code:
for (Integer count = 0; count < testStepCount; count++)
{
if (xmlReader.isTestExistingForOrderNumber(count, orderNumber, version))
{
if (xmlReader.checkForDuplicateTest(orderNumber, count, version))
{
GlobalVariables.LOGGING_logger.error("### " + this.getClass().getSimpleName()
+ ": There are one or more duplicated order numbers for test " + count + " under test step " + orderNumber + ".");
model.setStatusText("STATUS_DUPLICATED_TEST", orderNumber.toString(), StatusCode.ERROR);
throw new Exception();
}
else
{
GlobalVariables.LOGGING_logger.info("### " + this.getClass().getSimpleName() + ": No duplicated found for test " + count
+ " under test step " + orderNumber + ".");
boolean functionNeeded = xmlReader.isFunctionNeededForOrderNumber(orderNumber, count, version);
String[][] descriptions1 = new String[2][descriptions[0].length];
for (int a = 0; a < this.descriptions[0].length; a++)
{
descriptions1[0][a] = descriptions[0][a];
descriptions1[1][a] = xmlReader.getTestDescription(descriptions[0][a], orderNumber, count, version);
}
ArrayList<String> filesString = xmlReader.getTestFilesForOrderNumber(orderNumber, count, version);
ArrayList<File> filesFile = new ArrayList<File>();
Iterator<String> it = filesString.iterator();
while (it.hasNext())
{
File file = new File(GlobalVariables.PATH_TestFiles
+ xmlReader.getValueDocumentConfiguration(XmlElements.CAD_APPL, XmlElements.TESTING_ENVIRONMENT, null) + "/" + it.next());
filesFile.add(file);
GlobalVariables.LOGGING_logger.info("### " + this.getClass().getSimpleName() + ": Added file to test " + count
+ " under test step " + orderNumber + ": \"" + file.getName() + "\"");
}
testObjectsList.add(new TestObject(functionNeeded, xmlReader.getFunctionNameForOrderNumber(orderNumber, count, version),
descriptions1, filesFile));
GlobalVariables.LOGGING_logger.info("### " + this.getClass().getSimpleName() + ": Finally created test object for test " + count
+ " under test step " + orderNumber + ".");
}
}
else
{
model.setStatusText("STATUS_NO_TEST", count.toString(), StatusCode.WARNING);
}
}
}
Können Sie sehen, warum ich store nach "tot" descriptions1
? Ich denke, ich muss diese variable verwenden.
InformationsquelleAutor Marcel Höll | 2013-07-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sein ein false positive von sonar. Sonar arbeitet auf dem kompilierten code, nicht Ihre Quelle. Ich denke, der Zugang zu
descriptions1
optimiert ist entfernt oder ersetzt durch den compiler, damit sonar nicht sehen es.Sie können fügen Sie die Datei dem Ausschluss-filter. Vielleicht können Sie auch deaktivieren Sie die "tote speichern der lokalen Variablen" Muster für diese Datei, aber ich weiß nicht, ob das möglich ist.
InformationsquelleAutor Chriss