Sonar-自定义C规则,SSLR C工具包-避免递归(+;内置xpath函数)

Sonar-自定义C规则,SSLR C工具包-避免递归(+;内置xpath函数),xpath,sonarqube,Xpath,Sonarqube,我目前正在声纳中实施一些MISRA C规则。我目前的规则是避免递归。我从 //statement[@tokenValue=ancestor::functionDefinition/functionDeclarator/functionName/@tokenValue] 避免在函数定义中使用相同的函数名,但当然也可以使用具有相同名称但不同签名的其他函数 因此,我有两个问题: 是否有可能找到方法签名(通过内置的xpath函数等)?在这里,我可以将签名与call语句进行比较 是否可以扩展插件,因为有

我目前正在声纳中实施一些MISRA C规则。我目前的规则是避免递归。我从

//statement[@tokenValue=ancestor::functionDefinition/functionDeclarator/functionName/@tokenValue]
避免在函数定义中使用相同的函数名,但当然也可以使用具有相同名称但不同签名的其他函数

因此,我有两个问题:

  • 是否有可能找到方法签名(通过内置的xpath函数等)?在这里,我可以将签名与call语句进行比较
  • 是否可以扩展插件,因为有MISRA规则,使用源代码遍历抽象语法树可能更有效? 非常感谢您的回复:) (ps:-是否有关于SSLR C工具包/内置xpath规则的文档?)

  • C插件已被弃用。它已经被C/C++插件所取代。看

    在执行新的编码规则之前,您应该考虑它是否特定于您自己的上下文,或者可能对其他人有益。如果这可能会使其他人受益,您可以在开发人员邮件列表中提出建议。如果SonarQube团队发现您提出的规则很有趣,可以直接在相关的语言插件中实现。这意味着对你的维护更少,对其他人也有好处。看