xref: /llvm-project/clang/test/APINotes/methods.cpp (revision 4d5f81cad55b0b499953ed88608efc05e577ac2e)
18a79dc7eSEgor Zhdan // RUN: rm -rf %t && mkdir -p %t
28a79dc7eSEgor Zhdan // RUN: %clang_cc1 -fmodules -fblocks -fimplicit-module-maps -fmodules-cache-path=%t/ModulesCache/Methods -fdisable-module-hash -fapinotes-modules -fsyntax-only -I %S/Inputs/Headers -F %S/Inputs/Frameworks %s -x c++
38a79dc7eSEgor Zhdan // RUN: %clang_cc1 -fmodules -fblocks -fimplicit-module-maps -fmodules-cache-path=%t/ModulesCache/Methods -fdisable-module-hash -fapinotes-modules -I %S/Inputs/Headers -F %S/Inputs/Frameworks %s -ast-dump -ast-dump-filter IntWrapper::getIncremented -x c++ | FileCheck --check-prefix=CHECK-METHOD %s
4*4d5f81caSEgor Zhdan // RUN: %clang_cc1 -fmodules -fblocks -fimplicit-module-maps -fmodules-cache-path=%t/ModulesCache/Methods -fdisable-module-hash -fapinotes-modules -I %S/Inputs/Headers -F %S/Inputs/Frameworks %s -ast-dump -ast-dump-filter Outer::Inner::getDecremented -x c++ | FileCheck --check-prefix=CHECK-DEEP-METHOD %s
58a79dc7eSEgor Zhdan 
68a79dc7eSEgor Zhdan #include "Methods.h"
78a79dc7eSEgor Zhdan 
88a79dc7eSEgor Zhdan // CHECK-METHOD: Dumping IntWrapper::getIncremented:
98a79dc7eSEgor Zhdan // CHECK-METHOD-NEXT: CXXMethodDecl {{.+}} getIncremented
108a79dc7eSEgor Zhdan // CHECK-METHOD: UnavailableAttr {{.+}} <<invalid sloc>> "oh no"
11*4d5f81caSEgor Zhdan 
12*4d5f81caSEgor Zhdan // CHECK-DEEP-METHOD: Dumping Outer::Inner::getDecremented:
13*4d5f81caSEgor Zhdan // CHECK-DEEP-METHOD-NEXT: CXXMethodDecl {{.+}} getDecremented
14*4d5f81caSEgor Zhdan // CHECK-DEEP-METHOD: UnavailableAttr {{.+}} <<invalid sloc>> "nope"
15*4d5f81caSEgor Zhdan 
16*4d5f81caSEgor Zhdan // CHECK-METHOD-NOT: this should have no effect
17*4d5f81caSEgor Zhdan // CHECK-DEEP-METHOD-NOT: this should have no effect
18