当我对包含Boost_Foreach指令的文件进行声纳分析时出现解析错误
包含Boost_Foreach指令的文件:
BOOST_FOREACH(SExcludedType entry, excludedFiles)
{
CString keyName;
keyName.Format(format, counter);
CString textRepresentation = SExcludedType::GetStringRepresentation(entry);
persistentSettings_.SaveNow(const_cast<PTSTR>(keyName.GetString()), textRepresentation);
++counter;
}
解析错误:
08:18:11.639错误 - 无法解析文件:C:\ Users \ aogonowski \ Desktop \ Defragler missing files \ MainFrame.cpp com.sonar.sslr.api.RecognitionException:第3793行第3行的解析错误无法匹配以下所有:RECOVERED_EXPRESSION_STATEMENT STATEMENT
3787::: GetStringRepresentation(entry); 3788:persistentSettings_.SaveNow(const_cast(keyName.GetString()),textRepresentation); 3789: 3790:++ counter; 3791:} 3792: - &GT; }
规则失败: / -RECOVERED_EXPRESSION_STATEMENT消耗自(3782,2)到(3791,3):...)),textRepresentation); ++ counter; } STATEMENT
我一直在寻找如何设置sonnar来分析该文件的任何解决方案,但我没有找到任何解决方案期望注释掉有问题的代码行。
答案 0 :(得分:0)
尝试在Sonar runner配置文件或pom.xml(无论您使用的是什么)中将属性sonar.cxx.defines
设置为BOOST_FOREACH(x,y)
。