0

对包含 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 缺少文件\MainFrame.cpp com.sonar.sslr.api.RecognitionException:第 3793 行第 1 列的解析错误无法匹配所有: RECOVERED_EXPRESSION_STATEMENT STATEMENT

3787:::获取字符串表示(条目);3788:persistentSettings_.SaveNow(const_cast(keyName.GetString()), textRepresentation); 3789:3790:++计数器;3791: } 3792: --> }

规则失败:/-RECOVERED_EXPRESSION_STATEMENT 从 (3782, 2) 到 (3791, 3): ... ) ) , textRepresentation ) ; ++计数器;} 陈述

我一直在寻找如何设置sonnar 来分析该文件的任何解决方案,但我没有找到任何解决方案希望注释掉有问题的代码行。

4

1 回答 1

0

尝试在您的 Sonar runner 配置文件或 pom.xml (无论您使用什么)中sonar.cxx.defines设置属性。BOOST_FOREACH(x,y)

于 2014-11-24T14:13:16.657 回答