hanchenye-llvm-project/clang/test/AST
Eric Fiselier 5cdc2cda28 [AST] Store "UsesADL" information in CallExpr.
Summary:
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.


Reviewers: fowles, rsmith, klimek, shafik

Reviewed By: rsmith

Subscribers: aaron.ballman, riccibruno, calabrese, titus, cfe-commits

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

llvm-svn: 348977
2018-12-12 21:50:55 +00:00
..
Inputs
ast-dump-arm-attr.c
ast-dump-array.cpp
ast-dump-attr.cpp
ast-dump-attr.m
ast-dump-c-attr.c
ast-dump-color.cpp
ast-dump-comment.cpp
ast-dump-decl-stmts.cpp
ast-dump-decl.c
ast-dump-decl.cpp
ast-dump-decl.m
ast-dump-decl.mm
ast-dump-expr.c
ast-dump-expr.cpp [AST] Store "UsesADL" information in CallExpr. 2018-12-12 21:50:55 +00:00
ast-dump-funcs.cpp
ast-dump-invalid.cpp
ast-dump-lookups.cpp
ast-dump-msp430-attr.c
ast-dump-pipe.cl
ast-dump-record-definition-data.cpp
ast-dump-records.c
ast-dump-records.cpp
ast-dump-special-member-functions.cpp
ast-dump-stmt.c
ast-dump-stmt.cpp
ast-dump-stmt.m
ast-dump-template-decls.cpp
ast-dump-templates.cpp
ast-dump-wchar.cpp
ast-print-attr.c
ast-print-bool.c
ast-print-char-literal.cpp
ast-print-enum-decl.c
ast-print-objectivec.m
ast-print-out-of-line-func.cpp
ast-print-pragmas-xfail.cpp
ast-print-pragmas.cpp
ast-print-record-decl.c
attr-print-emit.cpp
attr-target-ast.c
auto-pragma.cpp
bool-type.m
builtins-arm-strex-rettype.c
c-casts.c
category-attribute.m
coroutine-source-location-crash.cpp
dump.cpp
finally-msvc.m
fixed_point.c
fixed_point_to_string.c
float16.cpp
foreachtemplatized.mm
implicit-cast-dump.c
multistep-explicit-cast.c
multistep-explicit-cast.cpp
objc-default-ctor-init.mm
pragma-attribute-cxx-subject-match-rules.cpp
pragma-attribute-objc-subject-match-rules.m
property-atomic-bool.m
rdr6094103-unordered-compare-promote.c
sourceranges.cpp
template-implicit-vars.cpp
variadic-promotion.c