[clangd] Disallow extraction of expression-statements.

Summary:
I split out the "extract parent instead of this" logic from the "this isn't
worth extracting" logic (now in eligibleForExtraction()), because I found it
hard to reason about.

While here, handle overloaded as well as builtin assignment operators.

Also this uncovered a bug in getCallExpr() which I fixed.

Reviewers: SureYeaah

Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D65337

git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@368500 91177308-0d34-0410-b5e6-96231b3b80d8
5 files changed