[all-commits] [llvm/llvm-project] 12cbc8: [analyzer] Fix property access kind detection insi...

NoQ via All-commits all-commits at lists.llvm.org
Thu Oct 14 21:07:35 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 12cbc8cbf071901686b36e192a6d4da19deb6ec6
      https://github.com/llvm/llvm-project/commit/12cbc8cbf071901686b36e192a6d4da19deb6ec6
  Author: Artem Dergachev <artem.dergachev at gmail.com>
  Date:   2021-10-14 (Thu, 14 Oct 2021)

  Changed paths:
    M clang/lib/StaticAnalyzer/Core/CallEvent.cpp
    M clang/test/Analysis/ObjCProperties.m

  Log Message:
  -----------
  [analyzer] Fix property access kind detection inside parentheses.

'(self.prop)' produces a surprising AST where ParenExpr
resides inside `PseudoObjectExpr.

This breaks ObjCMethodCall::getMessageKind() which in turn causes us
to perform unnecessary dynamic dispatch bifurcation when evaluating
body-farmed property accessors, which in turn causes us
to explore infeasible paths.




More information about the All-commits mailing list