如何将AST用于自定义前端操作和clang静态分析

时间:2018-09-07 10:25:20

标签: c++ frontend llvm-clang clang-static-analyzer libtooling

我正在一个基于libTooling的项目中,在该项目中,我通过引用this编写了一个自定义的前端操作类。现在,我想在同一工具中运行clang静态分析。目前,我正在再次运行该工具以进行clang静态分析(在修改编译器选项之后)。但这将解析文件并再次创建AST。

我想一次创建AST,并用于自定义前端操作和clang静态分析。

我该如何实现? 请问MultiplexConsumer对您有帮助吗?

1 个答案:

答案 0 :(得分:0)

MultiplexConsumer似乎是必经之路。

在我的前端动作类中,这是对我有用的东西:

$resolutions: 1.5 2 2.5 3

img
  @each $res in $resolutions
    @if $res != 1
      @media (min-resolution: #{$res}dppx)
        transform: scale(1 / $res, 1 / $res)

但是请注意,如果consumer1返回任何错误,那么consumer2将不会运行。如果consumer1仅返回警告,或不返回诊断,则consumer2将运行。