| # Test `image dump ast` command. |
| |
| # DWARF is required to properly create the AST, and on Windows that is discarded |
| # and we only have PDB which doesn't work for this test. |
| # UNSUPPORTED: system-windows |
| |
| # RUN: split-file %s %t |
| # RUN: %clang_host -g -gdwarf %t/main.cpp -o %t.out |
| # RUN: %lldb -x -b -s %t/commands.input %t.out -o exit 2>&1 \ |
| # RUN: | FileCheck %s |
| |
| #--- main.cpp |
| |
| void A() {} |
| void A1() {} |
| void BA1() {} |
| void AB() {} |
| |
| int main() { |
| A(); |
| A1(); |
| BA1(); |
| AB(); |
| } |
| |
| #--- commands.input |
| |
| break set -n main |
| run |
| expr A(); A1(); BA1(); AB() |
| |
| image dump ast |
| |
| # CHECK: image dump ast |
| # CHECK-DAG: FunctionDecl {{.*}} main |
| # CHECK-DAG: FunctionDecl {{.*}} A |
| # CHECK-DAG: FunctionDecl {{.*}} A1 |
| # CHECK-DAG: FunctionDecl {{.*}} BA1 |
| # CHECK-DAG: FunctionDecl {{.*}} AB |
| |
| image dump ast --filter A |
| |
| # CHECK: image dump ast --filter A |
| # CHECK: Dumping A |
| # CHECK-NOT: FunctionDecl {{.*}} main |
| # CHECK-DAG: FunctionDecl {{.*}} A1 |
| # CHECK-DAG: FunctionDecl {{.*}} BA1 |
| # CHECK-DAG: FunctionDecl {{.*}} AB |
| |
| image dump ast --filter A1 |
| |
| # CHECK: image dump ast --filter A1 |
| # CHECK: Dumping A |
| # CHECK-NOT: FunctionDecl {{.*}} main |
| # CHECK-NOT: FunctionDecl {{.*}} AB |
| # CHECK-DAG: FunctionDecl {{.*}} A1 |
| # CHECK-DAG: FunctionDecl {{.*}} BA1 |
| |
| image dump ast --filter "" |
| |
| # CHECK: image dump ast --filter "" |
| # CHECK-DAG: FunctionDecl {{.*}} main |
| # CHECK-DAG: FunctionDecl {{.*}} AB |
| # CHECK-DAG: FunctionDecl {{.*}} A1 |
| # CHECK-DAG: FunctionDecl {{.*}} BA1 |
| |
| image dump ast -f AB |
| |
| # CHECK: image dump ast -f AB |
| # CHECK: Dumping AB |
| # CHECK-NOT: FunctionDecl {{.*}} main |
| # CHECK-NOT: FunctionDecl {{.*}} A1 |
| # CHECK-NOT: FunctionDecl {{.*}} BA1 |
| # CHECK: FunctionDecl {{.*}} AB |