Currently the Clang AST doesn't store information about how the callee of a CallExpr was found. Specifically if it was found using ADL.
However, this information is invaluable to tooling. Consider a tool which renames usages of a function. If the originally CallExpr was formed using ADL, then the tooling may need to additionally qualify the replacement.
Without information about how the callee was found, the tooling is left scratching it's head. Additionally, we want to be able to match ADL calls as quickly as possible, which means avoiding computing the answer on the fly.
This patch changes CallExpr to store whether it's callee was found using ADL. It does not change the size of any AST nodes.
There is no need to pass this flag to the empty constructor
since it is going to be deserialized in ASTReaderStmt.
Only what is strictly needed to create the empty CallExpr
is passed here. In fact if you wanted to pass the flag when creating
the empty CallExpr you would have to update what is
under case EXPR_CALL: in ASTReader::ReadStmtFromStream.