1 // clang-format off
2 // REQUIRES: lld
3 
4 // RUN: %build --compiler=clang-cl --nodefaultlib -o %t.exe -- %s
5 // RUN: env LLDB_USE_NATIVE_PDB_READER=1 %lldb -f %t.exe -s \
6 // RUN:     %p/Inputs/ast-methods.lldbinit 2>&1 | FileCheck %s
7 
8 struct Struct {
9   void simple_method() {}
10 
11   virtual void virtual_method() {}
12 
13   static void static_method() {}
14 
15   int overloaded_method() {}
16   int overloaded_method(char c) {}
17   int overloaded_method(char c, int i, ...) {}
18 };
19 
20 Struct s;
21 
22 int main(int argc, char **argv) {
23   return 0;
24 }
25 
26 // CHECK: TranslationUnitDecl
27 // CHECK: |-CXXRecordDecl {{.*}} struct Struct definition
28 // CHECK: | |-CXXMethodDecl {{.*}} simple_method 'void (){{.*}}'
29 // CHECK: | |-CXXMethodDecl {{.*}} virtual_method 'void (){{.*}}' virtual
30 // CHECK: | |-CXXMethodDecl {{.*}} static_method 'void ()' static
31 // CHECK: | |-CXXMethodDecl {{.*}} overloaded_method 'int (){{.*}}'
32 // CHECK: | |-CXXMethodDecl {{.*}} overloaded_method 'int (char){{.*}}'
33 // CHECK: | | `-ParmVarDecl {{.*}} 'char'
34 // CHECK: | `-CXXMethodDecl {{.*}} overloaded_method 'int (char, int, ...)'
35 // CHECK: |   |-ParmVarDecl {{.*}} 'char'
36 // CHECK: |   `-ParmVarDecl {{.*}} 'int'
37