title: How do I distinguish `&&` from `and` in llvm-clang?
body: <p>It seems like to clang, binary operator <code>&amp;&amp;</code> is exactly the same as <code>and</code> - its <a href="https://en.cppreference.com/w/cpp/language/operator_alternative" rel="nofollow noreferrer">alternative operator representation</a>. In the ast, both end up as <code>BinaryOperator [...] 'bool' '&amp;&amp;'</code>. Is there a way to distinguish them nevertheless?</p>
  <p>I was hoping to be able to retrieve the actual source code string but have not been able to do so yet.</p>
  <p>I am trying to do this using clang-tidy while writing a check that suggests using <code>and</code> instead of <code>&amp;&amp;</code>. I looked at <a href="https://clang.llvm.org/doxygen/classclang_1_1ASTContext.html" rel="nofollow noreferrer"><code>clang::ASTContext</code></a>, but didn't find anything that would get me anywhere.</p>