Sonar morts magasin de variable locale
J'ai le code suivant et le sonar, me dit le message d'erreur suivant:
Dead store to descriptions1 in new com.dscsag.dsct2c.test.TestStep(Integer, String, Model)
Dans le follwing 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);
}
}
}
Pouvez-vous voir pourquoi j'magasin à la "mort" descriptions1
? Je pense que je dois utiliser cette variable.
Vous devez vous connecter pour publier un commentaire.
Son un faux positif de sonar. Sonar fonctionne sur le code compilé, pas votre source. Je suppose que l'accès à
descriptions1
est optimisé loin ou remplacé par le compilateur, donc sonar ne peux pas le voir.