hanchenye-llvm-project/clang/test/Import
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
..
array-init-loop-expr [ASTImporter] Actually test ArrayInitLoopExpr in the array-init-loop-expr test. 2018-08-22 22:50:45 +00:00
attr [ASTImporter] fix test failure corrected by fixed func end locs 2018-07-09 09:02:53 +00:00
call-expr [AST] Store "UsesADL" information in CallExpr. 2018-12-12 21:50:55 +00:00
clang-flags
compound-assign-op [ASTImporter] Add test for importing CompoundAssignOperators 2018-08-16 18:21:33 +00:00
conflicting-struct
conversion-decl [ASTImporter] Added test case for CXXConversionDecl importing 2018-08-11 23:43:02 +00:00
cxx-casts [ASTImporter] Add test for C++ casts and fix broken const_cast importing. 2018-08-20 16:20:01 +00:00
cxx-default-init-expr [ASTImporter] Add test for CXXDefaultInitExpr 2018-08-16 01:37:43 +00:00
cxx-for-range [cxx2a] P0614R1: Support init-statements in range-based for loops. 2018-09-28 18:44:09 +00:00
cxx-member-pointers [ASTImporter] Add test for member pointer types. 2018-08-16 18:22:21 +00:00
cxx-noexcept-expr [ASTImporter] Add test for CXXNoexceptExpr 2018-08-21 17:15:57 +00:00
cxx-scalar-value-init [ASTImporter] Add test for CXXScalarValueInit 2018-08-16 01:36:37 +00:00
cxx-try-catch [ASTImporter] Add test for C++'s try/catch statements. 2018-08-20 22:13:24 +00:00
direct
do-stmt [ASTImporter] Add test for DoStmt 2018-08-16 18:20:52 +00:00
empty-struct
enum [ASTImporter] Added test case for opaque enums 2018-08-11 23:43:46 +00:00
error-in-expression
error-in-import
expr-with-cleanups [ASTImporter] Add test for ExprWithCleanups 2018-08-15 22:51:37 +00:00
extern-c-function
for-stmt [ASTImporter] Test for importing condition variable from a ForStmt 2018-08-20 15:51:41 +00:00
forward-declared-objc-class
forward-declared-struct
if-stmt [AST] Only store the needed data in IfStmt 2018-10-27 21:12:20 +00:00
import-overrides
in-class-initializer
indirect-goto [ASTImporter] Add test for IndirectGotoStmt 2018-08-16 18:19:21 +00:00
indirect-struct-member-access
inherited-ctor-init-expr [ASTImporter] Add support for import of CXXInheritedCtorInitExpr. 2018-07-25 10:21:06 +00:00
local-struct
local-struct-use-origins
member-in-struct
missing-import
multiple-forward-declarations
objc-autoreleasepool [ASTImporter] Add test for ObjCAutoreleasePoolStmt 2018-08-22 22:45:04 +00:00
objc-definitions-in-expression
objc-method
objc-param-decl [ASTImporter] Add test for ObjCTypeParamDecl 2018-08-22 22:48:40 +00:00
objc-try-catch Re-land [ASTImporter] Add test for ObjCAtTryStmt/ObjCAtCatchStmt/ObjCAtThrowStmt 2018-08-23 16:06:30 +00:00
overloaded-function
pack-expansion-expr [ASTImporter] Add test for PackExpansionExpr 2018-08-24 18:01:56 +00:00
struct-and-var
struct-in-namespace
struct-layout
switch-stmt Compound literals, enums, et al require const expr 2018-11-09 00:41:36 +00:00
template
template-specialization
while-stmt [AST] Only store the needed data in WhileStmt 2018-10-30 13:42:41 +00:00