我有以下代码,声纳告诉我以下错误信息:
Dead store to descriptions1 in new com.dscsag.dsct2c.test.TestStep(Integer, String, Model)
在以下代码中:
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);
}
}
}
你能看出为什么我存储到“死”descriptions1
?我想我必须使用这个变量。
答案 0 :(得分:3)
它是声纳的假阳性。 Sonar处理已编译的代码,而不是您的源代码。我想对descriptions1
的访问被优化掉或被编译器取代,因此声纳无法看到它。