diff options
Diffstat (limited to 'clang/test/AST')
| -rw-r--r-- | clang/test/AST/ast-dump-expr-json.c | 5427 | 
1 files changed, 5427 insertions, 0 deletions
diff --git a/clang/test/AST/ast-dump-expr-json.c b/clang/test/AST/ast-dump-expr-json.c new file mode 100644 index 00000000000..a2d6aab142b --- /dev/null +++ b/clang/test/AST/ast-dump-expr-json.c @@ -0,0 +1,5427 @@ +// RUN: %clang_cc1 -triple x86_64-unknown-unknown -Wno-unused-value -std=gnu11 -ast-dump=json %s | FileCheck %s + +void Comma(void) { +  1, 2, 3; +} + +void Assignment(int a) { +  a = 12; +  a += a; +} + +void Conditionals(int a) { +  a ? 0 : 1; +  a ?: 0; +} + +void BinaryOperators(int a, int b) { +  // Logical operators +  a || b; +  a && b; + +  // Bitwise operators +  a | b; +  a ^ b; +  a & b; + +  // Equality operators +  a == b; +  a != b; + +  // Relational operators +  a < b; +  a > b; +  a <= b; +  a >= b; + +  // Bit shifting operators +  a << b; +  a >> b; + +  // Additive operators +  a + b; +  a - b; + +  // Multiplicative operators +  a * b; +  a / b; +  a % b; +} + +void UnaryOperators(int a, int *b) { +  // Cast operators +  (float)a; + +  // ++, --, and ~ are covered elsewhere. + +  -a; +  +a; +  &a; +  *b; +  !a; + +  sizeof a; +  sizeof(int); +  _Alignof(int); +} + +struct S { +  int a; +}; + +void PostfixOperators(int *a, struct S b, struct S *c) { +  a[0]; +  UnaryOperators(*a, a); + +  b.a; +  c->a; + +  // Postfix ++ and -- are covered elsewhere. + +  (int [4]){1, 2, 3, 4, }; +  (struct S){1}; +} + +enum E { One }; + +void PrimaryExpressions(int a) { +  a; +  'a'; +  L'a'; +  "a"; +  L"a"; +  u8"a"; +  U"a"; +  u"a"; + +  1; +  1u; +  1ll; +  1.0; +  1.0f; +  1.0l; +  One; + +  (a); +} + + +// CHECK:  "kind": "FunctionDecl", +// CHECK-NEXT:  "loc": { +// CHECK-NEXT:   "col": 6, +// CHECK-NEXT:   "file": "{{.*}}", +// CHECK-NEXT:   "line": 3 +// CHECK-NEXT:  }, +// CHECK-NEXT:  "range": { +// CHECK-NEXT:   "begin": { +// CHECK-NEXT:    "col": 1, +// CHECK-NEXT:    "file": "{{.*}}", +// CHECK-NEXT:    "line": 3 +// CHECK-NEXT:   }, +// CHECK-NEXT:   "end": { +// CHECK-NEXT:    "col": 1, +// CHECK-NEXT:    "file": "{{.*}}", +// CHECK-NEXT:    "line": 5 +// CHECK-NEXT:   } +// CHECK-NEXT:  }, +// CHECK-NEXT:  "name": "Comma", +// CHECK-NEXT:  "type": { +// CHECK-NEXT:   "qualType": "void (void)" +// CHECK-NEXT:  }, +// CHECK-NEXT:  "inner": [ +// CHECK-NEXT:   { +// CHECK-NEXT:    "id": "0x{{.*}}", +// CHECK-NEXT:    "kind": "CompoundStmt", +// CHECK-NEXT:    "range": { +// CHECK-NEXT:     "begin": { +// CHECK-NEXT:      "col": 18, +// CHECK-NEXT:      "file": "{{.*}}", +// CHECK-NEXT:      "line": 3 +// CHECK-NEXT:     }, +// CHECK-NEXT:     "end": { +// CHECK-NEXT:      "col": 1, +// CHECK-NEXT:      "file": "{{.*}}", +// CHECK-NEXT:      "line": 5 +// CHECK-NEXT:     } +// CHECK-NEXT:    }, +// CHECK-NEXT:    "inner": [ +// CHECK-NEXT:     { +// CHECK-NEXT:      "id": "0x{{.*}}", +// CHECK-NEXT:      "kind": "BinaryOperator", +// CHECK-NEXT:      "range": { +// CHECK-NEXT:       "begin": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 4 +// CHECK-NEXT:       }, +// CHECK-NEXT:       "end": { +// CHECK-NEXT:        "col": 9, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 4 +// CHECK-NEXT:       } +// CHECK-NEXT:      }, +// CHECK-NEXT:      "type": { +// CHECK-NEXT:       "qualType": "int" +// CHECK-NEXT:      }, +// CHECK-NEXT:      "valueCategory": "rvalue", +// CHECK-NEXT:      "opcode": ",", +// CHECK-NEXT:      "inner": [ +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "BinaryOperator", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 4 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 6, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 4 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "int" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "rvalue", +// CHECK-NEXT:        "opcode": ",", +// CHECK-NEXT:        "inner": [ +// CHECK-NEXT:         { +// CHECK-NEXT:          "id": "0x{{.*}}", +// CHECK-NEXT:          "kind": "IntegerLiteral", +// CHECK-NEXT:          "range": { +// CHECK-NEXT:           "begin": { +// CHECK-NEXT:            "col": 3, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 4 +// CHECK-NEXT:           }, +// CHECK-NEXT:           "end": { +// CHECK-NEXT:            "col": 3, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 4 +// CHECK-NEXT:           } +// CHECK-NEXT:          }, +// CHECK-NEXT:          "type": { +// CHECK-NEXT:           "qualType": "int" +// CHECK-NEXT:          }, +// CHECK-NEXT:          "valueCategory": "rvalue", +// CHECK-NEXT:          "value": "1" +// CHECK-NEXT:         }, +// CHECK-NEXT:         { +// CHECK-NEXT:          "id": "0x{{.*}}", +// CHECK-NEXT:          "kind": "IntegerLiteral", +// CHECK-NEXT:          "range": { +// CHECK-NEXT:           "begin": { +// CHECK-NEXT:            "col": 6, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 4 +// CHECK-NEXT:           }, +// CHECK-NEXT:           "end": { +// CHECK-NEXT:            "col": 6, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 4 +// CHECK-NEXT:           } +// CHECK-NEXT:          }, +// CHECK-NEXT:          "type": { +// CHECK-NEXT:           "qualType": "int" +// CHECK-NEXT:          }, +// CHECK-NEXT:          "valueCategory": "rvalue", +// CHECK-NEXT:          "value": "2" +// CHECK-NEXT:         } +// CHECK-NEXT:        ] +// CHECK-NEXT:       }, +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "IntegerLiteral", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 9, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 4 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 9, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 4 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "int" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "rvalue", +// CHECK-NEXT:        "value": "3" +// CHECK-NEXT:       } +// CHECK-NEXT:      ] +// CHECK-NEXT:     } +// CHECK-NEXT:    ] +// CHECK-NEXT:   } +// CHECK-NEXT:  ] +// CHECK-NEXT: } + + +// CHECK:  "kind": "FunctionDecl", +// CHECK-NEXT:  "loc": { +// CHECK-NEXT:   "col": 6, +// CHECK-NEXT:   "file": "{{.*}}", +// CHECK-NEXT:   "line": 7 +// CHECK-NEXT:  }, +// CHECK-NEXT:  "range": { +// CHECK-NEXT:   "begin": { +// CHECK-NEXT:    "col": 1, +// CHECK-NEXT:    "file": "{{.*}}", +// CHECK-NEXT:    "line": 7 +// CHECK-NEXT:   }, +// CHECK-NEXT:   "end": { +// CHECK-NEXT:    "col": 1, +// CHECK-NEXT:    "file": "{{.*}}", +// CHECK-NEXT:    "line": 10 +// CHECK-NEXT:   } +// CHECK-NEXT:  }, +// CHECK-NEXT:  "name": "Assignment", +// CHECK-NEXT:  "type": { +// CHECK-NEXT:   "qualType": "void (int)" +// CHECK-NEXT:  }, +// CHECK-NEXT:  "inner": [ +// CHECK-NEXT:   { +// CHECK-NEXT:    "id": "0x{{.*}}", +// CHECK-NEXT:    "kind": "ParmVarDecl", +// CHECK-NEXT:    "loc": { +// CHECK-NEXT:     "col": 21, +// CHECK-NEXT:     "file": "{{.*}}", +// CHECK-NEXT:     "line": 7 +// CHECK-NEXT:    }, +// CHECK-NEXT:    "range": { +// CHECK-NEXT:     "begin": { +// CHECK-NEXT:      "col": 17, +// CHECK-NEXT:      "file": "{{.*}}", +// CHECK-NEXT:      "line": 7 +// CHECK-NEXT:     }, +// CHECK-NEXT:     "end": { +// CHECK-NEXT:      "col": 21, +// CHECK-NEXT:      "file": "{{.*}}", +// CHECK-NEXT:      "line": 7 +// CHECK-NEXT:     } +// CHECK-NEXT:    }, +// CHECK-NEXT:    "isUsed": true, +// CHECK-NEXT:    "name": "a", +// CHECK-NEXT:    "type": { +// CHECK-NEXT:     "qualType": "int" +// CHECK-NEXT:    } +// CHECK-NEXT:   }, +// CHECK-NEXT:   { +// CHECK-NEXT:    "id": "0x{{.*}}", +// CHECK-NEXT:    "kind": "CompoundStmt", +// CHECK-NEXT:    "range": { +// CHECK-NEXT:     "begin": { +// CHECK-NEXT:      "col": 24, +// CHECK-NEXT:      "file": "{{.*}}", +// CHECK-NEXT:      "line": 7 +// CHECK-NEXT:     }, +// CHECK-NEXT:     "end": { +// CHECK-NEXT:      "col": 1, +// CHECK-NEXT:      "file": "{{.*}}", +// CHECK-NEXT:      "line": 10 +// CHECK-NEXT:     } +// CHECK-NEXT:    }, +// CHECK-NEXT:    "inner": [ +// CHECK-NEXT:     { +// CHECK-NEXT:      "id": "0x{{.*}}", +// CHECK-NEXT:      "kind": "BinaryOperator", +// CHECK-NEXT:      "range": { +// CHECK-NEXT:       "begin": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 8 +// CHECK-NEXT:       }, +// CHECK-NEXT:       "end": { +// CHECK-NEXT:        "col": 7, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 8 +// CHECK-NEXT:       } +// CHECK-NEXT:      }, +// CHECK-NEXT:      "type": { +// CHECK-NEXT:       "qualType": "int" +// CHECK-NEXT:      }, +// CHECK-NEXT:      "valueCategory": "rvalue", +// CHECK-NEXT:      "opcode": "=", +// CHECK-NEXT:      "inner": [ +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "DeclRefExpr", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 8 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 8 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "int" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "lvalue", +// CHECK-NEXT:        "referencedDecl": { +// CHECK-NEXT:         "id": "0x{{.*}}", +// CHECK-NEXT:         "kind": "ParmVarDecl", +// CHECK-NEXT:         "name": "a", +// CHECK-NEXT:         "type": { +// CHECK-NEXT:          "qualType": "int" +// CHECK-NEXT:         } +// CHECK-NEXT:        } +// CHECK-NEXT:       }, +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "IntegerLiteral", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 7, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 8 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 7, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 8 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "int" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "rvalue", +// CHECK-NEXT:        "value": "12" +// CHECK-NEXT:       } +// CHECK-NEXT:      ] +// CHECK-NEXT:     }, +// CHECK-NEXT:     { +// CHECK-NEXT:      "id": "0x{{.*}}", +// CHECK-NEXT:      "kind": "CompoundAssignOperator", +// CHECK-NEXT:      "range": { +// CHECK-NEXT:       "begin": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 9 +// CHECK-NEXT:       }, +// CHECK-NEXT:       "end": { +// CHECK-NEXT:        "col": 8, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 9 +// CHECK-NEXT:       } +// CHECK-NEXT:      }, +// CHECK-NEXT:      "type": { +// CHECK-NEXT:       "qualType": "int" +// CHECK-NEXT:      }, +// CHECK-NEXT:      "valueCategory": "rvalue", +// CHECK-NEXT:      "opcode": "+=", +// CHECK-NEXT:      "computeLHSType": { +// CHECK-NEXT:       "qualType": "int" +// CHECK-NEXT:      }, +// CHECK-NEXT:      "computeResultType": { +// CHECK-NEXT:       "qualType": "int" +// CHECK-NEXT:      }, +// CHECK-NEXT:      "inner": [ +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "DeclRefExpr", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 9 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 9 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "int" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "lvalue", +// CHECK-NEXT:        "referencedDecl": { +// CHECK-NEXT:         "id": "0x{{.*}}", +// CHECK-NEXT:         "kind": "ParmVarDecl", +// CHECK-NEXT:         "name": "a", +// CHECK-NEXT:         "type": { +// CHECK-NEXT:          "qualType": "int" +// CHECK-NEXT:         } +// CHECK-NEXT:        } +// CHECK-NEXT:       }, +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "ImplicitCastExpr", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 8, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 9 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 8, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 9 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "int" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "rvalue", +// CHECK-NEXT:        "castKind": "LValueToRValue", +// CHECK-NEXT:        "inner": [ +// CHECK-NEXT:         { +// CHECK-NEXT:          "id": "0x{{.*}}", +// CHECK-NEXT:          "kind": "DeclRefExpr", +// CHECK-NEXT:          "range": { +// CHECK-NEXT:           "begin": { +// CHECK-NEXT:            "col": 8, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 9 +// CHECK-NEXT:           }, +// CHECK-NEXT:           "end": { +// CHECK-NEXT:            "col": 8, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 9 +// CHECK-NEXT:           } +// CHECK-NEXT:          }, +// CHECK-NEXT:          "type": { +// CHECK-NEXT:           "qualType": "int" +// CHECK-NEXT:          }, +// CHECK-NEXT:          "valueCategory": "lvalue", +// CHECK-NEXT:          "referencedDecl": { +// CHECK-NEXT:           "id": "0x{{.*}}", +// CHECK-NEXT:           "kind": "ParmVarDecl", +// CHECK-NEXT:           "name": "a", +// CHECK-NEXT:           "type": { +// CHECK-NEXT:            "qualType": "int" +// CHECK-NEXT:           } +// CHECK-NEXT:          } +// CHECK-NEXT:         } +// CHECK-NEXT:        ] +// CHECK-NEXT:       } +// CHECK-NEXT:      ] +// CHECK-NEXT:     } +// CHECK-NEXT:    ] +// CHECK-NEXT:   } +// CHECK-NEXT:  ] +// CHECK-NEXT: } + + +// CHECK:  "kind": "FunctionDecl", +// CHECK-NEXT:  "loc": { +// CHECK-NEXT:   "col": 6, +// CHECK-NEXT:   "file": "{{.*}}", +// CHECK-NEXT:   "line": 12 +// CHECK-NEXT:  }, +// CHECK-NEXT:  "range": { +// CHECK-NEXT:   "begin": { +// CHECK-NEXT:    "col": 1, +// CHECK-NEXT:    "file": "{{.*}}", +// CHECK-NEXT:    "line": 12 +// CHECK-NEXT:   }, +// CHECK-NEXT:   "end": { +// CHECK-NEXT:    "col": 1, +// CHECK-NEXT:    "file": "{{.*}}", +// CHECK-NEXT:    "line": 15 +// CHECK-NEXT:   } +// CHECK-NEXT:  }, +// CHECK-NEXT:  "name": "Conditionals", +// CHECK-NEXT:  "type": { +// CHECK-NEXT:   "qualType": "void (int)" +// CHECK-NEXT:  }, +// CHECK-NEXT:  "inner": [ +// CHECK-NEXT:   { +// CHECK-NEXT:    "id": "0x{{.*}}", +// CHECK-NEXT:    "kind": "ParmVarDecl", +// CHECK-NEXT:    "loc": { +// CHECK-NEXT:     "col": 23, +// CHECK-NEXT:     "file": "{{.*}}", +// CHECK-NEXT:     "line": 12 +// CHECK-NEXT:    }, +// CHECK-NEXT:    "range": { +// CHECK-NEXT:     "begin": { +// CHECK-NEXT:      "col": 19, +// CHECK-NEXT:      "file": "{{.*}}", +// CHECK-NEXT:      "line": 12 +// CHECK-NEXT:     }, +// CHECK-NEXT:     "end": { +// CHECK-NEXT:      "col": 23, +// CHECK-NEXT:      "file": "{{.*}}", +// CHECK-NEXT:      "line": 12 +// CHECK-NEXT:     } +// CHECK-NEXT:    }, +// CHECK-NEXT:    "isUsed": true, +// CHECK-NEXT:    "name": "a", +// CHECK-NEXT:    "type": { +// CHECK-NEXT:     "qualType": "int" +// CHECK-NEXT:    } +// CHECK-NEXT:   }, +// CHECK-NEXT:   { +// CHECK-NEXT:    "id": "0x{{.*}}", +// CHECK-NEXT:    "kind": "CompoundStmt", +// CHECK-NEXT:    "range": { +// CHECK-NEXT:     "begin": { +// CHECK-NEXT:      "col": 26, +// CHECK-NEXT:      "file": "{{.*}}", +// CHECK-NEXT:      "line": 12 +// CHECK-NEXT:     }, +// CHECK-NEXT:     "end": { +// CHECK-NEXT:      "col": 1, +// CHECK-NEXT:      "file": "{{.*}}", +// CHECK-NEXT:      "line": 15 +// CHECK-NEXT:     } +// CHECK-NEXT:    }, +// CHECK-NEXT:    "inner": [ +// CHECK-NEXT:     { +// CHECK-NEXT:      "id": "0x{{.*}}", +// CHECK-NEXT:      "kind": "ConditionalOperator", +// CHECK-NEXT:      "range": { +// CHECK-NEXT:       "begin": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 13 +// CHECK-NEXT:       }, +// CHECK-NEXT:       "end": { +// CHECK-NEXT:        "col": 11, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 13 +// CHECK-NEXT:       } +// CHECK-NEXT:      }, +// CHECK-NEXT:      "type": { +// CHECK-NEXT:       "qualType": "int" +// CHECK-NEXT:      }, +// CHECK-NEXT:      "valueCategory": "rvalue", +// CHECK-NEXT:      "inner": [ +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "ImplicitCastExpr", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 13 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 13 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "int" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "rvalue", +// CHECK-NEXT:        "castKind": "LValueToRValue", +// CHECK-NEXT:        "inner": [ +// CHECK-NEXT:         { +// CHECK-NEXT:          "id": "0x{{.*}}", +// CHECK-NEXT:          "kind": "DeclRefExpr", +// CHECK-NEXT:          "range": { +// CHECK-NEXT:           "begin": { +// CHECK-NEXT:            "col": 3, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 13 +// CHECK-NEXT:           }, +// CHECK-NEXT:           "end": { +// CHECK-NEXT:            "col": 3, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 13 +// CHECK-NEXT:           } +// CHECK-NEXT:          }, +// CHECK-NEXT:          "type": { +// CHECK-NEXT:           "qualType": "int" +// CHECK-NEXT:          }, +// CHECK-NEXT:          "valueCategory": "lvalue", +// CHECK-NEXT:          "referencedDecl": { +// CHECK-NEXT:           "id": "0x{{.*}}", +// CHECK-NEXT:           "kind": "ParmVarDecl", +// CHECK-NEXT:           "name": "a", +// CHECK-NEXT:           "type": { +// CHECK-NEXT:            "qualType": "int" +// CHECK-NEXT:           } +// CHECK-NEXT:          } +// CHECK-NEXT:         } +// CHECK-NEXT:        ] +// CHECK-NEXT:       }, +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "IntegerLiteral", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 7, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 13 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 7, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 13 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "int" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "rvalue", +// CHECK-NEXT:        "value": "0" +// CHECK-NEXT:       }, +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "IntegerLiteral", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 11, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 13 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 11, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 13 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "int" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "rvalue", +// CHECK-NEXT:        "value": "1" +// CHECK-NEXT:       } +// CHECK-NEXT:      ] +// CHECK-NEXT:     }, +// CHECK-NEXT:     { +// CHECK-NEXT:      "id": "0x{{.*}}", +// CHECK-NEXT:      "kind": "BinaryConditionalOperator", +// CHECK-NEXT:      "range": { +// CHECK-NEXT:       "begin": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 14 +// CHECK-NEXT:       }, +// CHECK-NEXT:       "end": { +// CHECK-NEXT:        "col": 8, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 14 +// CHECK-NEXT:       } +// CHECK-NEXT:      }, +// CHECK-NEXT:      "type": { +// CHECK-NEXT:       "qualType": "int" +// CHECK-NEXT:      }, +// CHECK-NEXT:      "valueCategory": "rvalue", +// CHECK-NEXT:      "inner": [ +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "ImplicitCastExpr", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 14 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 14 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "int" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "rvalue", +// CHECK-NEXT:        "castKind": "LValueToRValue", +// CHECK-NEXT:        "inner": [ +// CHECK-NEXT:         { +// CHECK-NEXT:          "id": "0x{{.*}}", +// CHECK-NEXT:          "kind": "DeclRefExpr", +// CHECK-NEXT:          "range": { +// CHECK-NEXT:           "begin": { +// CHECK-NEXT:            "col": 3, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 14 +// CHECK-NEXT:           }, +// CHECK-NEXT:           "end": { +// CHECK-NEXT:            "col": 3, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 14 +// CHECK-NEXT:           } +// CHECK-NEXT:          }, +// CHECK-NEXT:          "type": { +// CHECK-NEXT:           "qualType": "int" +// CHECK-NEXT:          }, +// CHECK-NEXT:          "valueCategory": "lvalue", +// CHECK-NEXT:          "referencedDecl": { +// CHECK-NEXT:           "id": "0x{{.*}}", +// CHECK-NEXT:           "kind": "ParmVarDecl", +// CHECK-NEXT:           "name": "a", +// CHECK-NEXT:           "type": { +// CHECK-NEXT:            "qualType": "int" +// CHECK-NEXT:           } +// CHECK-NEXT:          } +// CHECK-NEXT:         } +// CHECK-NEXT:        ] +// CHECK-NEXT:       }, +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "OpaqueValueExpr", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 14 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 14 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "int" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "rvalue", +// CHECK-NEXT:        "inner": [ +// CHECK-NEXT:         { +// CHECK-NEXT:          "id": "0x{{.*}}", +// CHECK-NEXT:          "kind": "ImplicitCastExpr", +// CHECK-NEXT:          "range": { +// CHECK-NEXT:           "begin": { +// CHECK-NEXT:            "col": 3, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 14 +// CHECK-NEXT:           }, +// CHECK-NEXT:           "end": { +// CHECK-NEXT:            "col": 3, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 14 +// CHECK-NEXT:           } +// CHECK-NEXT:          }, +// CHECK-NEXT:          "type": { +// CHECK-NEXT:           "qualType": "int" +// CHECK-NEXT:          }, +// CHECK-NEXT:          "valueCategory": "rvalue", +// CHECK-NEXT:          "castKind": "LValueToRValue", +// CHECK-NEXT:          "inner": [ +// CHECK-NEXT:           { +// CHECK-NEXT:            "id": "0x{{.*}}", +// CHECK-NEXT:            "kind": "DeclRefExpr", +// CHECK-NEXT:            "range": { +// CHECK-NEXT:             "begin": { +// CHECK-NEXT:              "col": 3, +// CHECK-NEXT:              "file": "{{.*}}", +// CHECK-NEXT:              "line": 14 +// CHECK-NEXT:             }, +// CHECK-NEXT:             "end": { +// CHECK-NEXT:              "col": 3, +// CHECK-NEXT:              "file": "{{.*}}", +// CHECK-NEXT:              "line": 14 +// CHECK-NEXT:             } +// CHECK-NEXT:            }, +// CHECK-NEXT:            "type": { +// CHECK-NEXT:             "qualType": "int" +// CHECK-NEXT:            }, +// CHECK-NEXT:            "valueCategory": "lvalue", +// CHECK-NEXT:            "referencedDecl": { +// CHECK-NEXT:             "id": "0x{{.*}}", +// CHECK-NEXT:             "kind": "ParmVarDecl", +// CHECK-NEXT:             "name": "a", +// CHECK-NEXT:             "type": { +// CHECK-NEXT:              "qualType": "int" +// CHECK-NEXT:             } +// CHECK-NEXT:            } +// CHECK-NEXT:           } +// CHECK-NEXT:          ] +// CHECK-NEXT:         } +// CHECK-NEXT:        ] +// CHECK-NEXT:       }, +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "OpaqueValueExpr", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 14 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 14 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "int" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "rvalue", +// CHECK-NEXT:        "inner": [ +// CHECK-NEXT:         { +// CHECK-NEXT:          "id": "0x{{.*}}", +// CHECK-NEXT:          "kind": "ImplicitCastExpr", +// CHECK-NEXT:          "range": { +// CHECK-NEXT:           "begin": { +// CHECK-NEXT:            "col": 3, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 14 +// CHECK-NEXT:           }, +// CHECK-NEXT:           "end": { +// CHECK-NEXT:            "col": 3, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 14 +// CHECK-NEXT:           } +// CHECK-NEXT:          }, +// CHECK-NEXT:          "type": { +// CHECK-NEXT:           "qualType": "int" +// CHECK-NEXT:          }, +// CHECK-NEXT:          "valueCategory": "rvalue", +// CHECK-NEXT:          "castKind": "LValueToRValue", +// CHECK-NEXT:          "inner": [ +// CHECK-NEXT:           { +// CHECK-NEXT:            "id": "0x{{.*}}", +// CHECK-NEXT:            "kind": "DeclRefExpr", +// CHECK-NEXT:            "range": { +// CHECK-NEXT:             "begin": { +// CHECK-NEXT:              "col": 3, +// CHECK-NEXT:              "file": "{{.*}}", +// CHECK-NEXT:              "line": 14 +// CHECK-NEXT:             }, +// CHECK-NEXT:             "end": { +// CHECK-NEXT:              "col": 3, +// CHECK-NEXT:              "file": "{{.*}}", +// CHECK-NEXT:              "line": 14 +// CHECK-NEXT:             } +// CHECK-NEXT:            }, +// CHECK-NEXT:            "type": { +// CHECK-NEXT:             "qualType": "int" +// CHECK-NEXT:            }, +// CHECK-NEXT:            "valueCategory": "lvalue", +// CHECK-NEXT:            "referencedDecl": { +// CHECK-NEXT:             "id": "0x{{.*}}", +// CHECK-NEXT:             "kind": "ParmVarDecl", +// CHECK-NEXT:             "name": "a", +// CHECK-NEXT:             "type": { +// CHECK-NEXT:              "qualType": "int" +// CHECK-NEXT:             } +// CHECK-NEXT:            } +// CHECK-NEXT:           } +// CHECK-NEXT:          ] +// CHECK-NEXT:         } +// CHECK-NEXT:        ] +// CHECK-NEXT:       }, +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "IntegerLiteral", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 8, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 14 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 8, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 14 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "int" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "rvalue", +// CHECK-NEXT:        "value": "0" +// CHECK-NEXT:       } +// CHECK-NEXT:      ] +// CHECK-NEXT:     } +// CHECK-NEXT:    ] +// CHECK-NEXT:   } +// CHECK-NEXT:  ] +// CHECK-NEXT: } + + +// CHECK:  "kind": "FunctionDecl", +// CHECK-NEXT:  "loc": { +// CHECK-NEXT:   "col": 6, +// CHECK-NEXT:   "file": "{{.*}}", +// CHECK-NEXT:   "line": 17 +// CHECK-NEXT:  }, +// CHECK-NEXT:  "range": { +// CHECK-NEXT:   "begin": { +// CHECK-NEXT:    "col": 1, +// CHECK-NEXT:    "file": "{{.*}}", +// CHECK-NEXT:    "line": 17 +// CHECK-NEXT:   }, +// CHECK-NEXT:   "end": { +// CHECK-NEXT:    "col": 1, +// CHECK-NEXT:    "file": "{{.*}}", +// CHECK-NEXT:    "line": 49 +// CHECK-NEXT:   } +// CHECK-NEXT:  }, +// CHECK-NEXT:  "name": "BinaryOperators", +// CHECK-NEXT:  "type": { +// CHECK-NEXT:   "qualType": "void (int, int)" +// CHECK-NEXT:  }, +// CHECK-NEXT:  "inner": [ +// CHECK-NEXT:   { +// CHECK-NEXT:    "id": "0x{{.*}}", +// CHECK-NEXT:    "kind": "ParmVarDecl", +// CHECK-NEXT:    "loc": { +// CHECK-NEXT:     "col": 26, +// CHECK-NEXT:     "file": "{{.*}}", +// CHECK-NEXT:     "line": 17 +// CHECK-NEXT:    }, +// CHECK-NEXT:    "range": { +// CHECK-NEXT:     "begin": { +// CHECK-NEXT:      "col": 22, +// CHECK-NEXT:      "file": "{{.*}}", +// CHECK-NEXT:      "line": 17 +// CHECK-NEXT:     }, +// CHECK-NEXT:     "end": { +// CHECK-NEXT:      "col": 26, +// CHECK-NEXT:      "file": "{{.*}}", +// CHECK-NEXT:      "line": 17 +// CHECK-NEXT:     } +// CHECK-NEXT:    }, +// CHECK-NEXT:    "isUsed": true, +// CHECK-NEXT:    "name": "a", +// CHECK-NEXT:    "type": { +// CHECK-NEXT:     "qualType": "int" +// CHECK-NEXT:    } +// CHECK-NEXT:   }, +// CHECK-NEXT:   { +// CHECK-NEXT:    "id": "0x{{.*}}", +// CHECK-NEXT:    "kind": "ParmVarDecl", +// CHECK-NEXT:    "loc": { +// CHECK-NEXT:     "col": 33, +// CHECK-NEXT:     "file": "{{.*}}", +// CHECK-NEXT:     "line": 17 +// CHECK-NEXT:    }, +// CHECK-NEXT:    "range": { +// CHECK-NEXT:     "begin": { +// CHECK-NEXT:      "col": 29, +// CHECK-NEXT:      "file": "{{.*}}", +// CHECK-NEXT:      "line": 17 +// CHECK-NEXT:     }, +// CHECK-NEXT:     "end": { +// CHECK-NEXT:      "col": 33, +// CHECK-NEXT:      "file": "{{.*}}", +// CHECK-NEXT:      "line": 17 +// CHECK-NEXT:     } +// CHECK-NEXT:    }, +// CHECK-NEXT:    "isUsed": true, +// CHECK-NEXT:    "name": "b", +// CHECK-NEXT:    "type": { +// CHECK-NEXT:     "qualType": "int" +// CHECK-NEXT:    } +// CHECK-NEXT:   }, +// CHECK-NEXT:   { +// CHECK-NEXT:    "id": "0x{{.*}}", +// CHECK-NEXT:    "kind": "CompoundStmt", +// CHECK-NEXT:    "range": { +// CHECK-NEXT:     "begin": { +// CHECK-NEXT:      "col": 36, +// CHECK-NEXT:      "file": "{{.*}}", +// CHECK-NEXT:      "line": 17 +// CHECK-NEXT:     }, +// CHECK-NEXT:     "end": { +// CHECK-NEXT:      "col": 1, +// CHECK-NEXT:      "file": "{{.*}}", +// CHECK-NEXT:      "line": 49 +// CHECK-NEXT:     } +// CHECK-NEXT:    }, +// CHECK-NEXT:    "inner": [ +// CHECK-NEXT:     { +// CHECK-NEXT:      "id": "0x{{.*}}", +// CHECK-NEXT:      "kind": "BinaryOperator", +// CHECK-NEXT:      "range": { +// CHECK-NEXT:       "begin": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 19 +// CHECK-NEXT:       }, +// CHECK-NEXT:       "end": { +// CHECK-NEXT:        "col": 8, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 19 +// CHECK-NEXT:       } +// CHECK-NEXT:      }, +// CHECK-NEXT:      "type": { +// CHECK-NEXT:       "qualType": "int" +// CHECK-NEXT:      }, +// CHECK-NEXT:      "valueCategory": "rvalue", +// CHECK-NEXT:      "opcode": "||", +// CHECK-NEXT:      "inner": [ +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "ImplicitCastExpr", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 19 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 19 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "int" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "rvalue", +// CHECK-NEXT:        "castKind": "LValueToRValue", +// CHECK-NEXT:        "inner": [ +// CHECK-NEXT:         { +// CHECK-NEXT:          "id": "0x{{.*}}", +// CHECK-NEXT:          "kind": "DeclRefExpr", +// CHECK-NEXT:          "range": { +// CHECK-NEXT:           "begin": { +// CHECK-NEXT:            "col": 3, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 19 +// CHECK-NEXT:           }, +// CHECK-NEXT:           "end": { +// CHECK-NEXT:            "col": 3, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 19 +// CHECK-NEXT:           } +// CHECK-NEXT:          }, +// CHECK-NEXT:          "type": { +// CHECK-NEXT:           "qualType": "int" +// CHECK-NEXT:          }, +// CHECK-NEXT:          "valueCategory": "lvalue", +// CHECK-NEXT:          "referencedDecl": { +// CHECK-NEXT:           "id": "0x{{.*}}", +// CHECK-NEXT:           "kind": "ParmVarDecl", +// CHECK-NEXT:           "name": "a", +// CHECK-NEXT:           "type": { +// CHECK-NEXT:            "qualType": "int" +// CHECK-NEXT:           } +// CHECK-NEXT:          } +// CHECK-NEXT:         } +// CHECK-NEXT:        ] +// CHECK-NEXT:       }, +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "ImplicitCastExpr", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 8, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 19 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 8, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 19 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "int" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "rvalue", +// CHECK-NEXT:        "castKind": "LValueToRValue", +// CHECK-NEXT:        "inner": [ +// CHECK-NEXT:         { +// CHECK-NEXT:          "id": "0x{{.*}}", +// CHECK-NEXT:          "kind": "DeclRefExpr", +// CHECK-NEXT:          "range": { +// CHECK-NEXT:           "begin": { +// CHECK-NEXT:            "col": 8, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 19 +// CHECK-NEXT:           }, +// CHECK-NEXT:           "end": { +// CHECK-NEXT:            "col": 8, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 19 +// CHECK-NEXT:           } +// CHECK-NEXT:          }, +// CHECK-NEXT:          "type": { +// CHECK-NEXT:           "qualType": "int" +// CHECK-NEXT:          }, +// CHECK-NEXT:          "valueCategory": "lvalue", +// CHECK-NEXT:          "referencedDecl": { +// CHECK-NEXT:           "id": "0x{{.*}}", +// CHECK-NEXT:           "kind": "ParmVarDecl", +// CHECK-NEXT:           "name": "b", +// CHECK-NEXT:           "type": { +// CHECK-NEXT:            "qualType": "int" +// CHECK-NEXT:           } +// CHECK-NEXT:          } +// CHECK-NEXT:         } +// CHECK-NEXT:        ] +// CHECK-NEXT:       } +// CHECK-NEXT:      ] +// CHECK-NEXT:     }, +// CHECK-NEXT:     { +// CHECK-NEXT:      "id": "0x{{.*}}", +// CHECK-NEXT:      "kind": "BinaryOperator", +// CHECK-NEXT:      "range": { +// CHECK-NEXT:       "begin": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 20 +// CHECK-NEXT:       }, +// CHECK-NEXT:       "end": { +// CHECK-NEXT:        "col": 8, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 20 +// CHECK-NEXT:       } +// CHECK-NEXT:      }, +// CHECK-NEXT:      "type": { +// CHECK-NEXT:       "qualType": "int" +// CHECK-NEXT:      }, +// CHECK-NEXT:      "valueCategory": "rvalue", +// CHECK-NEXT:      "opcode": "&&", +// CHECK-NEXT:      "inner": [ +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "ImplicitCastExpr", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 20 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 20 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "int" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "rvalue", +// CHECK-NEXT:        "castKind": "LValueToRValue", +// CHECK-NEXT:        "inner": [ +// CHECK-NEXT:         { +// CHECK-NEXT:          "id": "0x{{.*}}", +// CHECK-NEXT:          "kind": "DeclRefExpr", +// CHECK-NEXT:          "range": { +// CHECK-NEXT:           "begin": { +// CHECK-NEXT:            "col": 3, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 20 +// CHECK-NEXT:           }, +// CHECK-NEXT:           "end": { +// CHECK-NEXT:            "col": 3, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 20 +// CHECK-NEXT:           } +// CHECK-NEXT:          }, +// CHECK-NEXT:          "type": { +// CHECK-NEXT:           "qualType": "int" +// CHECK-NEXT:          }, +// CHECK-NEXT:          "valueCategory": "lvalue", +// CHECK-NEXT:          "referencedDecl": { +// CHECK-NEXT:           "id": "0x{{.*}}", +// CHECK-NEXT:           "kind": "ParmVarDecl", +// CHECK-NEXT:           "name": "a", +// CHECK-NEXT:           "type": { +// CHECK-NEXT:            "qualType": "int" +// CHECK-NEXT:           } +// CHECK-NEXT:          } +// CHECK-NEXT:         } +// CHECK-NEXT:        ] +// CHECK-NEXT:       }, +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "ImplicitCastExpr", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 8, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 20 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 8, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 20 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "int" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "rvalue", +// CHECK-NEXT:        "castKind": "LValueToRValue", +// CHECK-NEXT:        "inner": [ +// CHECK-NEXT:         { +// CHECK-NEXT:          "id": "0x{{.*}}", +// CHECK-NEXT:          "kind": "DeclRefExpr", +// CHECK-NEXT:          "range": { +// CHECK-NEXT:           "begin": { +// CHECK-NEXT:            "col": 8, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 20 +// CHECK-NEXT:           }, +// CHECK-NEXT:           "end": { +// CHECK-NEXT:            "col": 8, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 20 +// CHECK-NEXT:           } +// CHECK-NEXT:          }, +// CHECK-NEXT:          "type": { +// CHECK-NEXT:           "qualType": "int" +// CHECK-NEXT:          }, +// CHECK-NEXT:          "valueCategory": "lvalue", +// CHECK-NEXT:          "referencedDecl": { +// CHECK-NEXT:           "id": "0x{{.*}}", +// CHECK-NEXT:           "kind": "ParmVarDecl", +// CHECK-NEXT:           "name": "b", +// CHECK-NEXT:           "type": { +// CHECK-NEXT:            "qualType": "int" +// CHECK-NEXT:           } +// CHECK-NEXT:          } +// CHECK-NEXT:         } +// CHECK-NEXT:        ] +// CHECK-NEXT:       } +// CHECK-NEXT:      ] +// CHECK-NEXT:     }, +// CHECK-NEXT:     { +// CHECK-NEXT:      "id": "0x{{.*}}", +// CHECK-NEXT:      "kind": "BinaryOperator", +// CHECK-NEXT:      "range": { +// CHECK-NEXT:       "begin": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 23 +// CHECK-NEXT:       }, +// CHECK-NEXT:       "end": { +// CHECK-NEXT:        "col": 7, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 23 +// CHECK-NEXT:       } +// CHECK-NEXT:      }, +// CHECK-NEXT:      "type": { +// CHECK-NEXT:       "qualType": "int" +// CHECK-NEXT:      }, +// CHECK-NEXT:      "valueCategory": "rvalue", +// CHECK-NEXT:      "opcode": "|", +// CHECK-NEXT:      "inner": [ +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "ImplicitCastExpr", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 23 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 23 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "int" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "rvalue", +// CHECK-NEXT:        "castKind": "LValueToRValue", +// CHECK-NEXT:        "inner": [ +// CHECK-NEXT:         { +// CHECK-NEXT:          "id": "0x{{.*}}", +// CHECK-NEXT:          "kind": "DeclRefExpr", +// CHECK-NEXT:          "range": { +// CHECK-NEXT:           "begin": { +// CHECK-NEXT:            "col": 3, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 23 +// CHECK-NEXT:           }, +// CHECK-NEXT:           "end": { +// CHECK-NEXT:            "col": 3, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 23 +// CHECK-NEXT:           } +// CHECK-NEXT:          }, +// CHECK-NEXT:          "type": { +// CHECK-NEXT:           "qualType": "int" +// CHECK-NEXT:          }, +// CHECK-NEXT:          "valueCategory": "lvalue", +// CHECK-NEXT:          "referencedDecl": { +// CHECK-NEXT:           "id": "0x{{.*}}", +// CHECK-NEXT:           "kind": "ParmVarDecl", +// CHECK-NEXT:           "name": "a", +// CHECK-NEXT:           "type": { +// CHECK-NEXT:            "qualType": "int" +// CHECK-NEXT:           } +// CHECK-NEXT:          } +// CHECK-NEXT:         } +// CHECK-NEXT:        ] +// CHECK-NEXT:       }, +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "ImplicitCastExpr", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 7, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 23 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 7, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 23 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "int" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "rvalue", +// CHECK-NEXT:        "castKind": "LValueToRValue", +// CHECK-NEXT:        "inner": [ +// CHECK-NEXT:         { +// CHECK-NEXT:          "id": "0x{{.*}}", +// CHECK-NEXT:          "kind": "DeclRefExpr", +// CHECK-NEXT:          "range": { +// CHECK-NEXT:           "begin": { +// CHECK-NEXT:            "col": 7, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 23 +// CHECK-NEXT:           }, +// CHECK-NEXT:           "end": { +// CHECK-NEXT:            "col": 7, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 23 +// CHECK-NEXT:           } +// CHECK-NEXT:          }, +// CHECK-NEXT:          "type": { +// CHECK-NEXT:           "qualType": "int" +// CHECK-NEXT:          }, +// CHECK-NEXT:          "valueCategory": "lvalue", +// CHECK-NEXT:          "referencedDecl": { +// CHECK-NEXT:           "id": "0x{{.*}}", +// CHECK-NEXT:           "kind": "ParmVarDecl", +// CHECK-NEXT:           "name": "b", +// CHECK-NEXT:           "type": { +// CHECK-NEXT:            "qualType": "int" +// CHECK-NEXT:           } +// CHECK-NEXT:          } +// CHECK-NEXT:         } +// CHECK-NEXT:        ] +// CHECK-NEXT:       } +// CHECK-NEXT:      ] +// CHECK-NEXT:     }, +// CHECK-NEXT:     { +// CHECK-NEXT:      "id": "0x{{.*}}", +// CHECK-NEXT:      "kind": "BinaryOperator", +// CHECK-NEXT:      "range": { +// CHECK-NEXT:       "begin": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 24 +// CHECK-NEXT:       }, +// CHECK-NEXT:       "end": { +// CHECK-NEXT:        "col": 7, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 24 +// CHECK-NEXT:       } +// CHECK-NEXT:      }, +// CHECK-NEXT:      "type": { +// CHECK-NEXT:       "qualType": "int" +// CHECK-NEXT:      }, +// CHECK-NEXT:      "valueCategory": "rvalue", +// CHECK-NEXT:      "opcode": "^", +// CHECK-NEXT:      "inner": [ +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "ImplicitCastExpr", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 24 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 24 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "int" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "rvalue", +// CHECK-NEXT:        "castKind": "LValueToRValue", +// CHECK-NEXT:        "inner": [ +// CHECK-NEXT:         { +// CHECK-NEXT:          "id": "0x{{.*}}", +// CHECK-NEXT:          "kind": "DeclRefExpr", +// CHECK-NEXT:          "range": { +// CHECK-NEXT:           "begin": { +// CHECK-NEXT:            "col": 3, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 24 +// CHECK-NEXT:           }, +// CHECK-NEXT:           "end": { +// CHECK-NEXT:            "col": 3, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 24 +// CHECK-NEXT:           } +// CHECK-NEXT:          }, +// CHECK-NEXT:          "type": { +// CHECK-NEXT:           "qualType": "int" +// CHECK-NEXT:          }, +// CHECK-NEXT:          "valueCategory": "lvalue", +// CHECK-NEXT:          "referencedDecl": { +// CHECK-NEXT:           "id": "0x{{.*}}", +// CHECK-NEXT:           "kind": "ParmVarDecl", +// CHECK-NEXT:           "name": "a", +// CHECK-NEXT:           "type": { +// CHECK-NEXT:            "qualType": "int" +// CHECK-NEXT:           } +// CHECK-NEXT:          } +// CHECK-NEXT:         } +// CHECK-NEXT:        ] +// CHECK-NEXT:       }, +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "ImplicitCastExpr", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 7, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 24 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 7, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 24 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "int" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "rvalue", +// CHECK-NEXT:        "castKind": "LValueToRValue", +// CHECK-NEXT:        "inner": [ +// CHECK-NEXT:         { +// CHECK-NEXT:          "id": "0x{{.*}}", +// CHECK-NEXT:          "kind": "DeclRefExpr", +// CHECK-NEXT:          "range": { +// CHECK-NEXT:           "begin": { +// CHECK-NEXT:            "col": 7, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 24 +// CHECK-NEXT:           }, +// CHECK-NEXT:           "end": { +// CHECK-NEXT:            "col": 7, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 24 +// CHECK-NEXT:           } +// CHECK-NEXT:          }, +// CHECK-NEXT:          "type": { +// CHECK-NEXT:           "qualType": "int" +// CHECK-NEXT:          }, +// CHECK-NEXT:          "valueCategory": "lvalue", +// CHECK-NEXT:          "referencedDecl": { +// CHECK-NEXT:           "id": "0x{{.*}}", +// CHECK-NEXT:           "kind": "ParmVarDecl", +// CHECK-NEXT:           "name": "b", +// CHECK-NEXT:           "type": { +// CHECK-NEXT:            "qualType": "int" +// CHECK-NEXT:           } +// CHECK-NEXT:          } +// CHECK-NEXT:         } +// CHECK-NEXT:        ] +// CHECK-NEXT:       } +// CHECK-NEXT:      ] +// CHECK-NEXT:     }, +// CHECK-NEXT:     { +// CHECK-NEXT:      "id": "0x{{.*}}", +// CHECK-NEXT:      "kind": "BinaryOperator", +// CHECK-NEXT:      "range": { +// CHECK-NEXT:       "begin": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 25 +// CHECK-NEXT:       }, +// CHECK-NEXT:       "end": { +// CHECK-NEXT:        "col": 7, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 25 +// CHECK-NEXT:       } +// CHECK-NEXT:      }, +// CHECK-NEXT:      "type": { +// CHECK-NEXT:       "qualType": "int" +// CHECK-NEXT:      }, +// CHECK-NEXT:      "valueCategory": "rvalue", +// CHECK-NEXT:      "opcode": "&", +// CHECK-NEXT:      "inner": [ +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "ImplicitCastExpr", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 25 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 25 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "int" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "rvalue", +// CHECK-NEXT:        "castKind": "LValueToRValue", +// CHECK-NEXT:        "inner": [ +// CHECK-NEXT:         { +// CHECK-NEXT:          "id": "0x{{.*}}", +// CHECK-NEXT:          "kind": "DeclRefExpr", +// CHECK-NEXT:          "range": { +// CHECK-NEXT:           "begin": { +// CHECK-NEXT:            "col": 3, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 25 +// CHECK-NEXT:           }, +// CHECK-NEXT:           "end": { +// CHECK-NEXT:            "col": 3, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 25 +// CHECK-NEXT:           } +// CHECK-NEXT:          }, +// CHECK-NEXT:          "type": { +// CHECK-NEXT:           "qualType": "int" +// CHECK-NEXT:          }, +// CHECK-NEXT:          "valueCategory": "lvalue", +// CHECK-NEXT:          "referencedDecl": { +// CHECK-NEXT:           "id": "0x{{.*}}", +// CHECK-NEXT:           "kind": "ParmVarDecl", +// CHECK-NEXT:           "name": "a", +// CHECK-NEXT:           "type": { +// CHECK-NEXT:            "qualType": "int" +// CHECK-NEXT:           } +// CHECK-NEXT:          } +// CHECK-NEXT:         } +// CHECK-NEXT:        ] +// CHECK-NEXT:       }, +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "ImplicitCastExpr", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 7, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 25 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 7, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 25 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "int" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "rvalue", +// CHECK-NEXT:        "castKind": "LValueToRValue", +// CHECK-NEXT:        "inner": [ +// CHECK-NEXT:         { +// CHECK-NEXT:          "id": "0x{{.*}}", +// CHECK-NEXT:          "kind": "DeclRefExpr", +// CHECK-NEXT:          "range": { +// CHECK-NEXT:           "begin": { +// CHECK-NEXT:            "col": 7, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 25 +// CHECK-NEXT:           }, +// CHECK-NEXT:           "end": { +// CHECK-NEXT:            "col": 7, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 25 +// CHECK-NEXT:           } +// CHECK-NEXT:          }, +// CHECK-NEXT:          "type": { +// CHECK-NEXT:           "qualType": "int" +// CHECK-NEXT:          }, +// CHECK-NEXT:          "valueCategory": "lvalue", +// CHECK-NEXT:          "referencedDecl": { +// CHECK-NEXT:           "id": "0x{{.*}}", +// CHECK-NEXT:           "kind": "ParmVarDecl", +// CHECK-NEXT:           "name": "b", +// CHECK-NEXT:           "type": { +// CHECK-NEXT:            "qualType": "int" +// CHECK-NEXT:           } +// CHECK-NEXT:          } +// CHECK-NEXT:         } +// CHECK-NEXT:        ] +// CHECK-NEXT:       } +// CHECK-NEXT:      ] +// CHECK-NEXT:     }, +// CHECK-NEXT:     { +// CHECK-NEXT:      "id": "0x{{.*}}", +// CHECK-NEXT:      "kind": "BinaryOperator", +// CHECK-NEXT:      "range": { +// CHECK-NEXT:       "begin": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 28 +// CHECK-NEXT:       }, +// CHECK-NEXT:       "end": { +// CHECK-NEXT:        "col": 8, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 28 +// CHECK-NEXT:       } +// CHECK-NEXT:      }, +// CHECK-NEXT:      "type": { +// CHECK-NEXT:       "qualType": "int" +// CHECK-NEXT:      }, +// CHECK-NEXT:      "valueCategory": "rvalue", +// CHECK-NEXT:      "opcode": "==", +// CHECK-NEXT:      "inner": [ +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "ImplicitCastExpr", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 28 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 28 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "int" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "rvalue", +// CHECK-NEXT:        "castKind": "LValueToRValue", +// CHECK-NEXT:        "inner": [ +// CHECK-NEXT:         { +// CHECK-NEXT:          "id": "0x{{.*}}", +// CHECK-NEXT:          "kind": "DeclRefExpr", +// CHECK-NEXT:          "range": { +// CHECK-NEXT:           "begin": { +// CHECK-NEXT:            "col": 3, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 28 +// CHECK-NEXT:           }, +// CHECK-NEXT:           "end": { +// CHECK-NEXT:            "col": 3, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 28 +// CHECK-NEXT:           } +// CHECK-NEXT:          }, +// CHECK-NEXT:          "type": { +// CHECK-NEXT:           "qualType": "int" +// CHECK-NEXT:          }, +// CHECK-NEXT:          "valueCategory": "lvalue", +// CHECK-NEXT:          "referencedDecl": { +// CHECK-NEXT:           "id": "0x{{.*}}", +// CHECK-NEXT:           "kind": "ParmVarDecl", +// CHECK-NEXT:           "name": "a", +// CHECK-NEXT:           "type": { +// CHECK-NEXT:            "qualType": "int" +// CHECK-NEXT:           } +// CHECK-NEXT:          } +// CHECK-NEXT:         } +// CHECK-NEXT:        ] +// CHECK-NEXT:       }, +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "ImplicitCastExpr", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 8, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 28 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 8, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 28 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "int" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "rvalue", +// CHECK-NEXT:        "castKind": "LValueToRValue", +// CHECK-NEXT:        "inner": [ +// CHECK-NEXT:         { +// CHECK-NEXT:          "id": "0x{{.*}}", +// CHECK-NEXT:          "kind": "DeclRefExpr", +// CHECK-NEXT:          "range": { +// CHECK-NEXT:           "begin": { +// CHECK-NEXT:            "col": 8, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 28 +// CHECK-NEXT:           }, +// CHECK-NEXT:           "end": { +// CHECK-NEXT:            "col": 8, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 28 +// CHECK-NEXT:           } +// CHECK-NEXT:          }, +// CHECK-NEXT:          "type": { +// CHECK-NEXT:           "qualType": "int" +// CHECK-NEXT:          }, +// CHECK-NEXT:          "valueCategory": "lvalue", +// CHECK-NEXT:          "referencedDecl": { +// CHECK-NEXT:           "id": "0x{{.*}}", +// CHECK-NEXT:           "kind": "ParmVarDecl", +// CHECK-NEXT:           "name": "b", +// CHECK-NEXT:           "type": { +// CHECK-NEXT:            "qualType": "int" +// CHECK-NEXT:           } +// CHECK-NEXT:          } +// CHECK-NEXT:         } +// CHECK-NEXT:        ] +// CHECK-NEXT:       } +// CHECK-NEXT:      ] +// CHECK-NEXT:     }, +// CHECK-NEXT:     { +// CHECK-NEXT:      "id": "0x{{.*}}", +// CHECK-NEXT:      "kind": "BinaryOperator", +// CHECK-NEXT:      "range": { +// CHECK-NEXT:       "begin": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 29 +// CHECK-NEXT:       }, +// CHECK-NEXT:       "end": { +// CHECK-NEXT:        "col": 8, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 29 +// CHECK-NEXT:       } +// CHECK-NEXT:      }, +// CHECK-NEXT:      "type": { +// CHECK-NEXT:       "qualType": "int" +// CHECK-NEXT:      }, +// CHECK-NEXT:      "valueCategory": "rvalue", +// CHECK-NEXT:      "opcode": "!=", +// CHECK-NEXT:      "inner": [ +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "ImplicitCastExpr", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 29 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 29 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "int" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "rvalue", +// CHECK-NEXT:        "castKind": "LValueToRValue", +// CHECK-NEXT:        "inner": [ +// CHECK-NEXT:         { +// CHECK-NEXT:          "id": "0x{{.*}}", +// CHECK-NEXT:          "kind": "DeclRefExpr", +// CHECK-NEXT:          "range": { +// CHECK-NEXT:           "begin": { +// CHECK-NEXT:            "col": 3, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 29 +// CHECK-NEXT:           }, +// CHECK-NEXT:           "end": { +// CHECK-NEXT:            "col": 3, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 29 +// CHECK-NEXT:           } +// CHECK-NEXT:          }, +// CHECK-NEXT:          "type": { +// CHECK-NEXT:           "qualType": "int" +// CHECK-NEXT:          }, +// CHECK-NEXT:          "valueCategory": "lvalue", +// CHECK-NEXT:          "referencedDecl": { +// CHECK-NEXT:           "id": "0x{{.*}}", +// CHECK-NEXT:           "kind": "ParmVarDecl", +// CHECK-NEXT:           "name": "a", +// CHECK-NEXT:           "type": { +// CHECK-NEXT:            "qualType": "int" +// CHECK-NEXT:           } +// CHECK-NEXT:          } +// CHECK-NEXT:         } +// CHECK-NEXT:        ] +// CHECK-NEXT:       }, +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "ImplicitCastExpr", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 8, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 29 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 8, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 29 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "int" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "rvalue", +// CHECK-NEXT:        "castKind": "LValueToRValue", +// CHECK-NEXT:        "inner": [ +// CHECK-NEXT:         { +// CHECK-NEXT:          "id": "0x{{.*}}", +// CHECK-NEXT:          "kind": "DeclRefExpr", +// CHECK-NEXT:          "range": { +// CHECK-NEXT:           "begin": { +// CHECK-NEXT:            "col": 8, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 29 +// CHECK-NEXT:           }, +// CHECK-NEXT:           "end": { +// CHECK-NEXT:            "col": 8, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 29 +// CHECK-NEXT:           } +// CHECK-NEXT:          }, +// CHECK-NEXT:          "type": { +// CHECK-NEXT:           "qualType": "int" +// CHECK-NEXT:          }, +// CHECK-NEXT:          "valueCategory": "lvalue", +// CHECK-NEXT:          "referencedDecl": { +// CHECK-NEXT:           "id": "0x{{.*}}", +// CHECK-NEXT:           "kind": "ParmVarDecl", +// CHECK-NEXT:           "name": "b", +// CHECK-NEXT:           "type": { +// CHECK-NEXT:            "qualType": "int" +// CHECK-NEXT:           } +// CHECK-NEXT:          } +// CHECK-NEXT:         } +// CHECK-NEXT:        ] +// CHECK-NEXT:       } +// CHECK-NEXT:      ] +// CHECK-NEXT:     }, +// CHECK-NEXT:     { +// CHECK-NEXT:      "id": "0x{{.*}}", +// CHECK-NEXT:      "kind": "BinaryOperator", +// CHECK-NEXT:      "range": { +// CHECK-NEXT:       "begin": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 32 +// CHECK-NEXT:       }, +// CHECK-NEXT:       "end": { +// CHECK-NEXT:        "col": 7, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 32 +// CHECK-NEXT:       } +// CHECK-NEXT:      }, +// CHECK-NEXT:      "type": { +// CHECK-NEXT:       "qualType": "int" +// CHECK-NEXT:      }, +// CHECK-NEXT:      "valueCategory": "rvalue", +// CHECK-NEXT:      "opcode": "<", +// CHECK-NEXT:      "inner": [ +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "ImplicitCastExpr", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 32 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 32 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "int" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "rvalue", +// CHECK-NEXT:        "castKind": "LValueToRValue", +// CHECK-NEXT:        "inner": [ +// CHECK-NEXT:         { +// CHECK-NEXT:          "id": "0x{{.*}}", +// CHECK-NEXT:          "kind": "DeclRefExpr", +// CHECK-NEXT:          "range": { +// CHECK-NEXT:           "begin": { +// CHECK-NEXT:            "col": 3, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 32 +// CHECK-NEXT:           }, +// CHECK-NEXT:           "end": { +// CHECK-NEXT:            "col": 3, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 32 +// CHECK-NEXT:           } +// CHECK-NEXT:          }, +// CHECK-NEXT:          "type": { +// CHECK-NEXT:           "qualType": "int" +// CHECK-NEXT:          }, +// CHECK-NEXT:          "valueCategory": "lvalue", +// CHECK-NEXT:          "referencedDecl": { +// CHECK-NEXT:           "id": "0x{{.*}}", +// CHECK-NEXT:           "kind": "ParmVarDecl", +// CHECK-NEXT:           "name": "a", +// CHECK-NEXT:           "type": { +// CHECK-NEXT:            "qualType": "int" +// CHECK-NEXT:           } +// CHECK-NEXT:          } +// CHECK-NEXT:         } +// CHECK-NEXT:        ] +// CHECK-NEXT:       }, +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "ImplicitCastExpr", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 7, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 32 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 7, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 32 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "int" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "rvalue", +// CHECK-NEXT:        "castKind": "LValueToRValue", +// CHECK-NEXT:        "inner": [ +// CHECK-NEXT:         { +// CHECK-NEXT:          "id": "0x{{.*}}", +// CHECK-NEXT:          "kind": "DeclRefExpr", +// CHECK-NEXT:          "range": { +// CHECK-NEXT:           "begin": { +// CHECK-NEXT:            "col": 7, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 32 +// CHECK-NEXT:           }, +// CHECK-NEXT:           "end": { +// CHECK-NEXT:            "col": 7, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 32 +// CHECK-NEXT:           } +// CHECK-NEXT:          }, +// CHECK-NEXT:          "type": { +// CHECK-NEXT:           "qualType": "int" +// CHECK-NEXT:          }, +// CHECK-NEXT:          "valueCategory": "lvalue", +// CHECK-NEXT:          "referencedDecl": { +// CHECK-NEXT:           "id": "0x{{.*}}", +// CHECK-NEXT:           "kind": "ParmVarDecl", +// CHECK-NEXT:           "name": "b", +// CHECK-NEXT:           "type": { +// CHECK-NEXT:            "qualType": "int" +// CHECK-NEXT:           } +// CHECK-NEXT:          } +// CHECK-NEXT:         } +// CHECK-NEXT:        ] +// CHECK-NEXT:       } +// CHECK-NEXT:      ] +// CHECK-NEXT:     }, +// CHECK-NEXT:     { +// CHECK-NEXT:      "id": "0x{{.*}}", +// CHECK-NEXT:      "kind": "BinaryOperator", +// CHECK-NEXT:      "range": { +// CHECK-NEXT:       "begin": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 33 +// CHECK-NEXT:       }, +// CHECK-NEXT:       "end": { +// CHECK-NEXT:        "col": 7, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 33 +// CHECK-NEXT:       } +// CHECK-NEXT:      }, +// CHECK-NEXT:      "type": { +// CHECK-NEXT:       "qualType": "int" +// CHECK-NEXT:      }, +// CHECK-NEXT:      "valueCategory": "rvalue", +// CHECK-NEXT:      "opcode": ">", +// CHECK-NEXT:      "inner": [ +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "ImplicitCastExpr", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 33 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 33 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "int" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "rvalue", +// CHECK-NEXT:        "castKind": "LValueToRValue", +// CHECK-NEXT:        "inner": [ +// CHECK-NEXT:         { +// CHECK-NEXT:          "id": "0x{{.*}}", +// CHECK-NEXT:          "kind": "DeclRefExpr", +// CHECK-NEXT:          "range": { +// CHECK-NEXT:           "begin": { +// CHECK-NEXT:            "col": 3, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 33 +// CHECK-NEXT:           }, +// CHECK-NEXT:           "end": { +// CHECK-NEXT:            "col": 3, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 33 +// CHECK-NEXT:           } +// CHECK-NEXT:          }, +// CHECK-NEXT:          "type": { +// CHECK-NEXT:           "qualType": "int" +// CHECK-NEXT:          }, +// CHECK-NEXT:          "valueCategory": "lvalue", +// CHECK-NEXT:          "referencedDecl": { +// CHECK-NEXT:           "id": "0x{{.*}}", +// CHECK-NEXT:           "kind": "ParmVarDecl", +// CHECK-NEXT:           "name": "a", +// CHECK-NEXT:           "type": { +// CHECK-NEXT:            "qualType": "int" +// CHECK-NEXT:           } +// CHECK-NEXT:          } +// CHECK-NEXT:         } +// CHECK-NEXT:        ] +// CHECK-NEXT:       }, +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "ImplicitCastExpr", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 7, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 33 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 7, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 33 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "int" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "rvalue", +// CHECK-NEXT:        "castKind": "LValueToRValue", +// CHECK-NEXT:        "inner": [ +// CHECK-NEXT:         { +// CHECK-NEXT:          "id": "0x{{.*}}", +// CHECK-NEXT:          "kind": "DeclRefExpr", +// CHECK-NEXT:          "range": { +// CHECK-NEXT:           "begin": { +// CHECK-NEXT:            "col": 7, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 33 +// CHECK-NEXT:           }, +// CHECK-NEXT:           "end": { +// CHECK-NEXT:            "col": 7, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 33 +// CHECK-NEXT:           } +// CHECK-NEXT:          }, +// CHECK-NEXT:          "type": { +// CHECK-NEXT:           "qualType": "int" +// CHECK-NEXT:          }, +// CHECK-NEXT:          "valueCategory": "lvalue", +// CHECK-NEXT:          "referencedDecl": { +// CHECK-NEXT:           "id": "0x{{.*}}", +// CHECK-NEXT:           "kind": "ParmVarDecl", +// CHECK-NEXT:           "name": "b", +// CHECK-NEXT:           "type": { +// CHECK-NEXT:            "qualType": "int" +// CHECK-NEXT:           } +// CHECK-NEXT:          } +// CHECK-NEXT:         } +// CHECK-NEXT:        ] +// CHECK-NEXT:       } +// CHECK-NEXT:      ] +// CHECK-NEXT:     }, +// CHECK-NEXT:     { +// CHECK-NEXT:      "id": "0x{{.*}}", +// CHECK-NEXT:      "kind": "BinaryOperator", +// CHECK-NEXT:      "range": { +// CHECK-NEXT:       "begin": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 34 +// CHECK-NEXT:       }, +// CHECK-NEXT:       "end": { +// CHECK-NEXT:        "col": 8, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 34 +// CHECK-NEXT:       } +// CHECK-NEXT:      }, +// CHECK-NEXT:      "type": { +// CHECK-NEXT:       "qualType": "int" +// CHECK-NEXT:      }, +// CHECK-NEXT:      "valueCategory": "rvalue", +// CHECK-NEXT:      "opcode": "<=", +// CHECK-NEXT:      "inner": [ +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "ImplicitCastExpr", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 34 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 34 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "int" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "rvalue", +// CHECK-NEXT:        "castKind": "LValueToRValue", +// CHECK-NEXT:        "inner": [ +// CHECK-NEXT:         { +// CHECK-NEXT:          "id": "0x{{.*}}", +// CHECK-NEXT:          "kind": "DeclRefExpr", +// CHECK-NEXT:          "range": { +// CHECK-NEXT:           "begin": { +// CHECK-NEXT:            "col": 3, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 34 +// CHECK-NEXT:           }, +// CHECK-NEXT:           "end": { +// CHECK-NEXT:            "col": 3, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 34 +// CHECK-NEXT:           } +// CHECK-NEXT:          }, +// CHECK-NEXT:          "type": { +// CHECK-NEXT:           "qualType": "int" +// CHECK-NEXT:          }, +// CHECK-NEXT:          "valueCategory": "lvalue", +// CHECK-NEXT:          "referencedDecl": { +// CHECK-NEXT:           "id": "0x{{.*}}", +// CHECK-NEXT:           "kind": "ParmVarDecl", +// CHECK-NEXT:           "name": "a", +// CHECK-NEXT:           "type": { +// CHECK-NEXT:            "qualType": "int" +// CHECK-NEXT:           } +// CHECK-NEXT:          } +// CHECK-NEXT:         } +// CHECK-NEXT:        ] +// CHECK-NEXT:       }, +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "ImplicitCastExpr", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 8, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 34 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 8, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 34 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "int" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "rvalue", +// CHECK-NEXT:        "castKind": "LValueToRValue", +// CHECK-NEXT:        "inner": [ +// CHECK-NEXT:         { +// CHECK-NEXT:          "id": "0x{{.*}}", +// CHECK-NEXT:          "kind": "DeclRefExpr", +// CHECK-NEXT:          "range": { +// CHECK-NEXT:           "begin": { +// CHECK-NEXT:            "col": 8, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 34 +// CHECK-NEXT:           }, +// CHECK-NEXT:           "end": { +// CHECK-NEXT:            "col": 8, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 34 +// CHECK-NEXT:           } +// CHECK-NEXT:          }, +// CHECK-NEXT:          "type": { +// CHECK-NEXT:           "qualType": "int" +// CHECK-NEXT:          }, +// CHECK-NEXT:          "valueCategory": "lvalue", +// CHECK-NEXT:          "referencedDecl": { +// CHECK-NEXT:           "id": "0x{{.*}}", +// CHECK-NEXT:           "kind": "ParmVarDecl", +// CHECK-NEXT:           "name": "b", +// CHECK-NEXT:           "type": { +// CHECK-NEXT:            "qualType": "int" +// CHECK-NEXT:           } +// CHECK-NEXT:          } +// CHECK-NEXT:         } +// CHECK-NEXT:        ] +// CHECK-NEXT:       } +// CHECK-NEXT:      ] +// CHECK-NEXT:     }, +// CHECK-NEXT:     { +// CHECK-NEXT:      "id": "0x{{.*}}", +// CHECK-NEXT:      "kind": "BinaryOperator", +// CHECK-NEXT:      "range": { +// CHECK-NEXT:       "begin": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 35 +// CHECK-NEXT:       }, +// CHECK-NEXT:       "end": { +// CHECK-NEXT:        "col": 8, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 35 +// CHECK-NEXT:       } +// CHECK-NEXT:      }, +// CHECK-NEXT:      "type": { +// CHECK-NEXT:       "qualType": "int" +// CHECK-NEXT:      }, +// CHECK-NEXT:      "valueCategory": "rvalue", +// CHECK-NEXT:      "opcode": ">=", +// CHECK-NEXT:      "inner": [ +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "ImplicitCastExpr", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 35 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 35 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "int" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "rvalue", +// CHECK-NEXT:        "castKind": "LValueToRValue", +// CHECK-NEXT:        "inner": [ +// CHECK-NEXT:         { +// CHECK-NEXT:          "id": "0x{{.*}}", +// CHECK-NEXT:          "kind": "DeclRefExpr", +// CHECK-NEXT:          "range": { +// CHECK-NEXT:           "begin": { +// CHECK-NEXT:            "col": 3, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 35 +// CHECK-NEXT:           }, +// CHECK-NEXT:           "end": { +// CHECK-NEXT:            "col": 3, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 35 +// CHECK-NEXT:           } +// CHECK-NEXT:          }, +// CHECK-NEXT:          "type": { +// CHECK-NEXT:           "qualType": "int" +// CHECK-NEXT:          }, +// CHECK-NEXT:          "valueCategory": "lvalue", +// CHECK-NEXT:          "referencedDecl": { +// CHECK-NEXT:           "id": "0x{{.*}}", +// CHECK-NEXT:           "kind": "ParmVarDecl", +// CHECK-NEXT:           "name": "a", +// CHECK-NEXT:           "type": { +// CHECK-NEXT:            "qualType": "int" +// CHECK-NEXT:           } +// CHECK-NEXT:          } +// CHECK-NEXT:         } +// CHECK-NEXT:        ] +// CHECK-NEXT:       }, +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "ImplicitCastExpr", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 8, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 35 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 8, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 35 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "int" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "rvalue", +// CHECK-NEXT:        "castKind": "LValueToRValue", +// CHECK-NEXT:        "inner": [ +// CHECK-NEXT:         { +// CHECK-NEXT:          "id": "0x{{.*}}", +// CHECK-NEXT:          "kind": "DeclRefExpr", +// CHECK-NEXT:          "range": { +// CHECK-NEXT:           "begin": { +// CHECK-NEXT:            "col": 8, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 35 +// CHECK-NEXT:           }, +// CHECK-NEXT:           "end": { +// CHECK-NEXT:            "col": 8, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 35 +// CHECK-NEXT:           } +// CHECK-NEXT:          }, +// CHECK-NEXT:          "type": { +// CHECK-NEXT:           "qualType": "int" +// CHECK-NEXT:          }, +// CHECK-NEXT:          "valueCategory": "lvalue", +// CHECK-NEXT:          "referencedDecl": { +// CHECK-NEXT:           "id": "0x{{.*}}", +// CHECK-NEXT:           "kind": "ParmVarDecl", +// CHECK-NEXT:           "name": "b", +// CHECK-NEXT:           "type": { +// CHECK-NEXT:            "qualType": "int" +// CHECK-NEXT:           } +// CHECK-NEXT:          } +// CHECK-NEXT:         } +// CHECK-NEXT:        ] +// CHECK-NEXT:       } +// CHECK-NEXT:      ] +// CHECK-NEXT:     }, +// CHECK-NEXT:     { +// CHECK-NEXT:      "id": "0x{{.*}}", +// CHECK-NEXT:      "kind": "BinaryOperator", +// CHECK-NEXT:      "range": { +// CHECK-NEXT:       "begin": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 38 +// CHECK-NEXT:       }, +// CHECK-NEXT:       "end": { +// CHECK-NEXT:        "col": 8, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 38 +// CHECK-NEXT:       } +// CHECK-NEXT:      }, +// CHECK-NEXT:      "type": { +// CHECK-NEXT:       "qualType": "int" +// CHECK-NEXT:      }, +// CHECK-NEXT:      "valueCategory": "rvalue", +// CHECK-NEXT:      "opcode": "<<", +// CHECK-NEXT:      "inner": [ +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "ImplicitCastExpr", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 38 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 38 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "int" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "rvalue", +// CHECK-NEXT:        "castKind": "LValueToRValue", +// CHECK-NEXT:        "inner": [ +// CHECK-NEXT:         { +// CHECK-NEXT:          "id": "0x{{.*}}", +// CHECK-NEXT:          "kind": "DeclRefExpr", +// CHECK-NEXT:          "range": { +// CHECK-NEXT:           "begin": { +// CHECK-NEXT:            "col": 3, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 38 +// CHECK-NEXT:           }, +// CHECK-NEXT:           "end": { +// CHECK-NEXT:            "col": 3, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 38 +// CHECK-NEXT:           } +// CHECK-NEXT:          }, +// CHECK-NEXT:          "type": { +// CHECK-NEXT:           "qualType": "int" +// CHECK-NEXT:          }, +// CHECK-NEXT:          "valueCategory": "lvalue", +// CHECK-NEXT:          "referencedDecl": { +// CHECK-NEXT:           "id": "0x{{.*}}", +// CHECK-NEXT:           "kind": "ParmVarDecl", +// CHECK-NEXT:           "name": "a", +// CHECK-NEXT:           "type": { +// CHECK-NEXT:            "qualType": "int" +// CHECK-NEXT:           } +// CHECK-NEXT:          } +// CHECK-NEXT:         } +// CHECK-NEXT:        ] +// CHECK-NEXT:       }, +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "ImplicitCastExpr", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 8, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 38 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 8, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 38 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "int" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "rvalue", +// CHECK-NEXT:        "castKind": "LValueToRValue", +// CHECK-NEXT:        "inner": [ +// CHECK-NEXT:         { +// CHECK-NEXT:          "id": "0x{{.*}}", +// CHECK-NEXT:          "kind": "DeclRefExpr", +// CHECK-NEXT:          "range": { +// CHECK-NEXT:           "begin": { +// CHECK-NEXT:            "col": 8, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 38 +// CHECK-NEXT:           }, +// CHECK-NEXT:           "end": { +// CHECK-NEXT:            "col": 8, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 38 +// CHECK-NEXT:           } +// CHECK-NEXT:          }, +// CHECK-NEXT:          "type": { +// CHECK-NEXT:           "qualType": "int" +// CHECK-NEXT:          }, +// CHECK-NEXT:          "valueCategory": "lvalue", +// CHECK-NEXT:          "referencedDecl": { +// CHECK-NEXT:           "id": "0x{{.*}}", +// CHECK-NEXT:           "kind": "ParmVarDecl", +// CHECK-NEXT:           "name": "b", +// CHECK-NEXT:           "type": { +// CHECK-NEXT:            "qualType": "int" +// CHECK-NEXT:           } +// CHECK-NEXT:          } +// CHECK-NEXT:         } +// CHECK-NEXT:        ] +// CHECK-NEXT:       } +// CHECK-NEXT:      ] +// CHECK-NEXT:     }, +// CHECK-NEXT:     { +// CHECK-NEXT:      "id": "0x{{.*}}", +// CHECK-NEXT:      "kind": "BinaryOperator", +// CHECK-NEXT:      "range": { +// CHECK-NEXT:       "begin": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 39 +// CHECK-NEXT:       }, +// CHECK-NEXT:       "end": { +// CHECK-NEXT:        "col": 8, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 39 +// CHECK-NEXT:       } +// CHECK-NEXT:      }, +// CHECK-NEXT:      "type": { +// CHECK-NEXT:       "qualType": "int" +// CHECK-NEXT:      }, +// CHECK-NEXT:      "valueCategory": "rvalue", +// CHECK-NEXT:      "opcode": ">>", +// CHECK-NEXT:      "inner": [ +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "ImplicitCastExpr", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 39 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 39 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "int" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "rvalue", +// CHECK-NEXT:        "castKind": "LValueToRValue", +// CHECK-NEXT:        "inner": [ +// CHECK-NEXT:         { +// CHECK-NEXT:          "id": "0x{{.*}}", +// CHECK-NEXT:          "kind": "DeclRefExpr", +// CHECK-NEXT:          "range": { +// CHECK-NEXT:           "begin": { +// CHECK-NEXT:            "col": 3, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 39 +// CHECK-NEXT:           }, +// CHECK-NEXT:           "end": { +// CHECK-NEXT:            "col": 3, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 39 +// CHECK-NEXT:           } +// CHECK-NEXT:          }, +// CHECK-NEXT:          "type": { +// CHECK-NEXT:           "qualType": "int" +// CHECK-NEXT:          }, +// CHECK-NEXT:          "valueCategory": "lvalue", +// CHECK-NEXT:          "referencedDecl": { +// CHECK-NEXT:           "id": "0x{{.*}}", +// CHECK-NEXT:           "kind": "ParmVarDecl", +// CHECK-NEXT:           "name": "a", +// CHECK-NEXT:           "type": { +// CHECK-NEXT:            "qualType": "int" +// CHECK-NEXT:           } +// CHECK-NEXT:          } +// CHECK-NEXT:         } +// CHECK-NEXT:        ] +// CHECK-NEXT:       }, +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "ImplicitCastExpr", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 8, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 39 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 8, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 39 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "int" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "rvalue", +// CHECK-NEXT:        "castKind": "LValueToRValue", +// CHECK-NEXT:        "inner": [ +// CHECK-NEXT:         { +// CHECK-NEXT:          "id": "0x{{.*}}", +// CHECK-NEXT:          "kind": "DeclRefExpr", +// CHECK-NEXT:          "range": { +// CHECK-NEXT:           "begin": { +// CHECK-NEXT:            "col": 8, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 39 +// CHECK-NEXT:           }, +// CHECK-NEXT:           "end": { +// CHECK-NEXT:            "col": 8, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 39 +// CHECK-NEXT:           } +// CHECK-NEXT:          }, +// CHECK-NEXT:          "type": { +// CHECK-NEXT:           "qualType": "int" +// CHECK-NEXT:          }, +// CHECK-NEXT:          "valueCategory": "lvalue", +// CHECK-NEXT:          "referencedDecl": { +// CHECK-NEXT:           "id": "0x{{.*}}", +// CHECK-NEXT:           "kind": "ParmVarDecl", +// CHECK-NEXT:           "name": "b", +// CHECK-NEXT:           "type": { +// CHECK-NEXT:            "qualType": "int" +// CHECK-NEXT:           } +// CHECK-NEXT:          } +// CHECK-NEXT:         } +// CHECK-NEXT:        ] +// CHECK-NEXT:       } +// CHECK-NEXT:      ] +// CHECK-NEXT:     }, +// CHECK-NEXT:     { +// CHECK-NEXT:      "id": "0x{{.*}}", +// CHECK-NEXT:      "kind": "BinaryOperator", +// CHECK-NEXT:      "range": { +// CHECK-NEXT:       "begin": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 42 +// CHECK-NEXT:       }, +// CHECK-NEXT:       "end": { +// CHECK-NEXT:        "col": 7, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 42 +// CHECK-NEXT:       } +// CHECK-NEXT:      }, +// CHECK-NEXT:      "type": { +// CHECK-NEXT:       "qualType": "int" +// CHECK-NEXT:      }, +// CHECK-NEXT:      "valueCategory": "rvalue", +// CHECK-NEXT:      "opcode": "+", +// CHECK-NEXT:      "inner": [ +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "ImplicitCastExpr", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 42 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 42 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "int" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "rvalue", +// CHECK-NEXT:        "castKind": "LValueToRValue", +// CHECK-NEXT:        "inner": [ +// CHECK-NEXT:         { +// CHECK-NEXT:          "id": "0x{{.*}}", +// CHECK-NEXT:          "kind": "DeclRefExpr", +// CHECK-NEXT:          "range": { +// CHECK-NEXT:           "begin": { +// CHECK-NEXT:            "col": 3, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 42 +// CHECK-NEXT:           }, +// CHECK-NEXT:           "end": { +// CHECK-NEXT:            "col": 3, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 42 +// CHECK-NEXT:           } +// CHECK-NEXT:          }, +// CHECK-NEXT:          "type": { +// CHECK-NEXT:           "qualType": "int" +// CHECK-NEXT:          }, +// CHECK-NEXT:          "valueCategory": "lvalue", +// CHECK-NEXT:          "referencedDecl": { +// CHECK-NEXT:           "id": "0x{{.*}}", +// CHECK-NEXT:           "kind": "ParmVarDecl", +// CHECK-NEXT:           "name": "a", +// CHECK-NEXT:           "type": { +// CHECK-NEXT:            "qualType": "int" +// CHECK-NEXT:           } +// CHECK-NEXT:          } +// CHECK-NEXT:         } +// CHECK-NEXT:        ] +// CHECK-NEXT:       }, +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "ImplicitCastExpr", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 7, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 42 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 7, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 42 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "int" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "rvalue", +// CHECK-NEXT:        "castKind": "LValueToRValue", +// CHECK-NEXT:        "inner": [ +// CHECK-NEXT:         { +// CHECK-NEXT:          "id": "0x{{.*}}", +// CHECK-NEXT:          "kind": "DeclRefExpr", +// CHECK-NEXT:          "range": { +// CHECK-NEXT:           "begin": { +// CHECK-NEXT:            "col": 7, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 42 +// CHECK-NEXT:           }, +// CHECK-NEXT:           "end": { +// CHECK-NEXT:            "col": 7, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 42 +// CHECK-NEXT:           } +// CHECK-NEXT:          }, +// CHECK-NEXT:          "type": { +// CHECK-NEXT:           "qualType": "int" +// CHECK-NEXT:          }, +// CHECK-NEXT:          "valueCategory": "lvalue", +// CHECK-NEXT:          "referencedDecl": { +// CHECK-NEXT:           "id": "0x{{.*}}", +// CHECK-NEXT:           "kind": "ParmVarDecl", +// CHECK-NEXT:           "name": "b", +// CHECK-NEXT:           "type": { +// CHECK-NEXT:            "qualType": "int" +// CHECK-NEXT:           } +// CHECK-NEXT:          } +// CHECK-NEXT:         } +// CHECK-NEXT:        ] +// CHECK-NEXT:       } +// CHECK-NEXT:      ] +// CHECK-NEXT:     }, +// CHECK-NEXT:     { +// CHECK-NEXT:      "id": "0x{{.*}}", +// CHECK-NEXT:      "kind": "BinaryOperator", +// CHECK-NEXT:      "range": { +// CHECK-NEXT:       "begin": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 43 +// CHECK-NEXT:       }, +// CHECK-NEXT:       "end": { +// CHECK-NEXT:        "col": 7, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 43 +// CHECK-NEXT:       } +// CHECK-NEXT:      }, +// CHECK-NEXT:      "type": { +// CHECK-NEXT:       "qualType": "int" +// CHECK-NEXT:      }, +// CHECK-NEXT:      "valueCategory": "rvalue", +// CHECK-NEXT:      "opcode": "-", +// CHECK-NEXT:      "inner": [ +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "ImplicitCastExpr", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 43 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 43 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "int" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "rvalue", +// CHECK-NEXT:        "castKind": "LValueToRValue", +// CHECK-NEXT:        "inner": [ +// CHECK-NEXT:         { +// CHECK-NEXT:          "id": "0x{{.*}}", +// CHECK-NEXT:          "kind": "DeclRefExpr", +// CHECK-NEXT:          "range": { +// CHECK-NEXT:           "begin": { +// CHECK-NEXT:            "col": 3, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 43 +// CHECK-NEXT:           }, +// CHECK-NEXT:           "end": { +// CHECK-NEXT:            "col": 3, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 43 +// CHECK-NEXT:           } +// CHECK-NEXT:          }, +// CHECK-NEXT:          "type": { +// CHECK-NEXT:           "qualType": "int" +// CHECK-NEXT:          }, +// CHECK-NEXT:          "valueCategory": "lvalue", +// CHECK-NEXT:          "referencedDecl": { +// CHECK-NEXT:           "id": "0x{{.*}}", +// CHECK-NEXT:           "kind": "ParmVarDecl", +// CHECK-NEXT:           "name": "a", +// CHECK-NEXT:           "type": { +// CHECK-NEXT:            "qualType": "int" +// CHECK-NEXT:           } +// CHECK-NEXT:          } +// CHECK-NEXT:         } +// CHECK-NEXT:        ] +// CHECK-NEXT:       }, +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "ImplicitCastExpr", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 7, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 43 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 7, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 43 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "int" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "rvalue", +// CHECK-NEXT:        "castKind": "LValueToRValue", +// CHECK-NEXT:        "inner": [ +// CHECK-NEXT:         { +// CHECK-NEXT:          "id": "0x{{.*}}", +// CHECK-NEXT:          "kind": "DeclRefExpr", +// CHECK-NEXT:          "range": { +// CHECK-NEXT:           "begin": { +// CHECK-NEXT:            "col": 7, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 43 +// CHECK-NEXT:           }, +// CHECK-NEXT:           "end": { +// CHECK-NEXT:            "col": 7, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 43 +// CHECK-NEXT:           } +// CHECK-NEXT:          }, +// CHECK-NEXT:          "type": { +// CHECK-NEXT:           "qualType": "int" +// CHECK-NEXT:          }, +// CHECK-NEXT:          "valueCategory": "lvalue", +// CHECK-NEXT:          "referencedDecl": { +// CHECK-NEXT:           "id": "0x{{.*}}", +// CHECK-NEXT:           "kind": "ParmVarDecl", +// CHECK-NEXT:           "name": "b", +// CHECK-NEXT:           "type": { +// CHECK-NEXT:            "qualType": "int" +// CHECK-NEXT:           } +// CHECK-NEXT:          } +// CHECK-NEXT:         } +// CHECK-NEXT:        ] +// CHECK-NEXT:       } +// CHECK-NEXT:      ] +// CHECK-NEXT:     }, +// CHECK-NEXT:     { +// CHECK-NEXT:      "id": "0x{{.*}}", +// CHECK-NEXT:      "kind": "BinaryOperator", +// CHECK-NEXT:      "range": { +// CHECK-NEXT:       "begin": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 46 +// CHECK-NEXT:       }, +// CHECK-NEXT:       "end": { +// CHECK-NEXT:        "col": 7, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 46 +// CHECK-NEXT:       } +// CHECK-NEXT:      }, +// CHECK-NEXT:      "type": { +// CHECK-NEXT:       "qualType": "int" +// CHECK-NEXT:      }, +// CHECK-NEXT:      "valueCategory": "rvalue", +// CHECK-NEXT:      "opcode": "*", +// CHECK-NEXT:      "inner": [ +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "ImplicitCastExpr", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 46 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 46 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "int" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "rvalue", +// CHECK-NEXT:        "castKind": "LValueToRValue", +// CHECK-NEXT:        "inner": [ +// CHECK-NEXT:         { +// CHECK-NEXT:          "id": "0x{{.*}}", +// CHECK-NEXT:          "kind": "DeclRefExpr", +// CHECK-NEXT:          "range": { +// CHECK-NEXT:           "begin": { +// CHECK-NEXT:            "col": 3, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 46 +// CHECK-NEXT:           }, +// CHECK-NEXT:           "end": { +// CHECK-NEXT:            "col": 3, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 46 +// CHECK-NEXT:           } +// CHECK-NEXT:          }, +// CHECK-NEXT:          "type": { +// CHECK-NEXT:           "qualType": "int" +// CHECK-NEXT:          }, +// CHECK-NEXT:          "valueCategory": "lvalue", +// CHECK-NEXT:          "referencedDecl": { +// CHECK-NEXT:           "id": "0x{{.*}}", +// CHECK-NEXT:           "kind": "ParmVarDecl", +// CHECK-NEXT:           "name": "a", +// CHECK-NEXT:           "type": { +// CHECK-NEXT:            "qualType": "int" +// CHECK-NEXT:           } +// CHECK-NEXT:          } +// CHECK-NEXT:         } +// CHECK-NEXT:        ] +// CHECK-NEXT:       }, +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "ImplicitCastExpr", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 7, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 46 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 7, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 46 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "int" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "rvalue", +// CHECK-NEXT:        "castKind": "LValueToRValue", +// CHECK-NEXT:        "inner": [ +// CHECK-NEXT:         { +// CHECK-NEXT:          "id": "0x{{.*}}", +// CHECK-NEXT:          "kind": "DeclRefExpr", +// CHECK-NEXT:          "range": { +// CHECK-NEXT:           "begin": { +// CHECK-NEXT:            "col": 7, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 46 +// CHECK-NEXT:           }, +// CHECK-NEXT:           "end": { +// CHECK-NEXT:            "col": 7, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 46 +// CHECK-NEXT:           } +// CHECK-NEXT:          }, +// CHECK-NEXT:          "type": { +// CHECK-NEXT:           "qualType": "int" +// CHECK-NEXT:          }, +// CHECK-NEXT:          "valueCategory": "lvalue", +// CHECK-NEXT:          "referencedDecl": { +// CHECK-NEXT:           "id": "0x{{.*}}", +// CHECK-NEXT:           "kind": "ParmVarDecl", +// CHECK-NEXT:           "name": "b", +// CHECK-NEXT:           "type": { +// CHECK-NEXT:            "qualType": "int" +// CHECK-NEXT:           } +// CHECK-NEXT:          } +// CHECK-NEXT:         } +// CHECK-NEXT:        ] +// CHECK-NEXT:       } +// CHECK-NEXT:      ] +// CHECK-NEXT:     }, +// CHECK-NEXT:     { +// CHECK-NEXT:      "id": "0x{{.*}}", +// CHECK-NEXT:      "kind": "BinaryOperator", +// CHECK-NEXT:      "range": { +// CHECK-NEXT:       "begin": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 47 +// CHECK-NEXT:       }, +// CHECK-NEXT:       "end": { +// CHECK-NEXT:        "col": 7, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 47 +// CHECK-NEXT:       } +// CHECK-NEXT:      }, +// CHECK-NEXT:      "type": { +// CHECK-NEXT:       "qualType": "int" +// CHECK-NEXT:      }, +// CHECK-NEXT:      "valueCategory": "rvalue", +// CHECK-NEXT:      "opcode": "/", +// CHECK-NEXT:      "inner": [ +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "ImplicitCastExpr", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 47 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 47 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "int" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "rvalue", +// CHECK-NEXT:        "castKind": "LValueToRValue", +// CHECK-NEXT:        "inner": [ +// CHECK-NEXT:         { +// CHECK-NEXT:          "id": "0x{{.*}}", +// CHECK-NEXT:          "kind": "DeclRefExpr", +// CHECK-NEXT:          "range": { +// CHECK-NEXT:           "begin": { +// CHECK-NEXT:            "col": 3, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 47 +// CHECK-NEXT:           }, +// CHECK-NEXT:           "end": { +// CHECK-NEXT:            "col": 3, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 47 +// CHECK-NEXT:           } +// CHECK-NEXT:          }, +// CHECK-NEXT:          "type": { +// CHECK-NEXT:           "qualType": "int" +// CHECK-NEXT:          }, +// CHECK-NEXT:          "valueCategory": "lvalue", +// CHECK-NEXT:          "referencedDecl": { +// CHECK-NEXT:           "id": "0x{{.*}}", +// CHECK-NEXT:           "kind": "ParmVarDecl", +// CHECK-NEXT:           "name": "a", +// CHECK-NEXT:           "type": { +// CHECK-NEXT:            "qualType": "int" +// CHECK-NEXT:           } +// CHECK-NEXT:          } +// CHECK-NEXT:         } +// CHECK-NEXT:        ] +// CHECK-NEXT:       }, +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "ImplicitCastExpr", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 7, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 47 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 7, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 47 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "int" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "rvalue", +// CHECK-NEXT:        "castKind": "LValueToRValue", +// CHECK-NEXT:        "inner": [ +// CHECK-NEXT:         { +// CHECK-NEXT:          "id": "0x{{.*}}", +// CHECK-NEXT:          "kind": "DeclRefExpr", +// CHECK-NEXT:          "range": { +// CHECK-NEXT:           "begin": { +// CHECK-NEXT:            "col": 7, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 47 +// CHECK-NEXT:           }, +// CHECK-NEXT:           "end": { +// CHECK-NEXT:            "col": 7, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 47 +// CHECK-NEXT:           } +// CHECK-NEXT:          }, +// CHECK-NEXT:          "type": { +// CHECK-NEXT:           "qualType": "int" +// CHECK-NEXT:          }, +// CHECK-NEXT:          "valueCategory": "lvalue", +// CHECK-NEXT:          "referencedDecl": { +// CHECK-NEXT:           "id": "0x{{.*}}", +// CHECK-NEXT:           "kind": "ParmVarDecl", +// CHECK-NEXT:           "name": "b", +// CHECK-NEXT:           "type": { +// CHECK-NEXT:            "qualType": "int" +// CHECK-NEXT:           } +// CHECK-NEXT:          } +// CHECK-NEXT:         } +// CHECK-NEXT:        ] +// CHECK-NEXT:       } +// CHECK-NEXT:      ] +// CHECK-NEXT:     }, +// CHECK-NEXT:     { +// CHECK-NEXT:      "id": "0x{{.*}}", +// CHECK-NEXT:      "kind": "BinaryOperator", +// CHECK-NEXT:      "range": { +// CHECK-NEXT:       "begin": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 48 +// CHECK-NEXT:       }, +// CHECK-NEXT:       "end": { +// CHECK-NEXT:        "col": 7, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 48 +// CHECK-NEXT:       } +// CHECK-NEXT:      }, +// CHECK-NEXT:      "type": { +// CHECK-NEXT:       "qualType": "int" +// CHECK-NEXT:      }, +// CHECK-NEXT:      "valueCategory": "rvalue", +// CHECK-NEXT:      "opcode": "%", +// CHECK-NEXT:      "inner": [ +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "ImplicitCastExpr", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 48 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 48 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "int" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "rvalue", +// CHECK-NEXT:        "castKind": "LValueToRValue", +// CHECK-NEXT:        "inner": [ +// CHECK-NEXT:         { +// CHECK-NEXT:          "id": "0x{{.*}}", +// CHECK-NEXT:          "kind": "DeclRefExpr", +// CHECK-NEXT:          "range": { +// CHECK-NEXT:           "begin": { +// CHECK-NEXT:            "col": 3, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 48 +// CHECK-NEXT:           }, +// CHECK-NEXT:           "end": { +// CHECK-NEXT:            "col": 3, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 48 +// CHECK-NEXT:           } +// CHECK-NEXT:          }, +// CHECK-NEXT:          "type": { +// CHECK-NEXT:           "qualType": "int" +// CHECK-NEXT:          }, +// CHECK-NEXT:          "valueCategory": "lvalue", +// CHECK-NEXT:          "referencedDecl": { +// CHECK-NEXT:           "id": "0x{{.*}}", +// CHECK-NEXT:           "kind": "ParmVarDecl", +// CHECK-NEXT:           "name": "a", +// CHECK-NEXT:           "type": { +// CHECK-NEXT:            "qualType": "int" +// CHECK-NEXT:           } +// CHECK-NEXT:          } +// CHECK-NEXT:         } +// CHECK-NEXT:        ] +// CHECK-NEXT:       }, +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "ImplicitCastExpr", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 7, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 48 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 7, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 48 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "int" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "rvalue", +// CHECK-NEXT:        "castKind": "LValueToRValue", +// CHECK-NEXT:        "inner": [ +// CHECK-NEXT:         { +// CHECK-NEXT:          "id": "0x{{.*}}", +// CHECK-NEXT:          "kind": "DeclRefExpr", +// CHECK-NEXT:          "range": { +// CHECK-NEXT:           "begin": { +// CHECK-NEXT:            "col": 7, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 48 +// CHECK-NEXT:           }, +// CHECK-NEXT:           "end": { +// CHECK-NEXT:            "col": 7, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 48 +// CHECK-NEXT:           } +// CHECK-NEXT:          }, +// CHECK-NEXT:          "type": { +// CHECK-NEXT:           "qualType": "int" +// CHECK-NEXT:          }, +// CHECK-NEXT:          "valueCategory": "lvalue", +// CHECK-NEXT:          "referencedDecl": { +// CHECK-NEXT:           "id": "0x{{.*}}", +// CHECK-NEXT:           "kind": "ParmVarDecl", +// CHECK-NEXT:           "name": "b", +// CHECK-NEXT:           "type": { +// CHECK-NEXT:            "qualType": "int" +// CHECK-NEXT:           } +// CHECK-NEXT:          } +// CHECK-NEXT:         } +// CHECK-NEXT:        ] +// CHECK-NEXT:       } +// CHECK-NEXT:      ] +// CHECK-NEXT:     } +// CHECK-NEXT:    ] +// CHECK-NEXT:   } +// CHECK-NEXT:  ] +// CHECK-NEXT: } + + +// CHECK:  "kind": "FunctionDecl", +// CHECK-NEXT:  "loc": { +// CHECK-NEXT:   "col": 6, +// CHECK-NEXT:   "file": "{{.*}}", +// CHECK-NEXT:   "line": 51 +// CHECK-NEXT:  }, +// CHECK-NEXT:  "range": { +// CHECK-NEXT:   "begin": { +// CHECK-NEXT:    "col": 1, +// CHECK-NEXT:    "file": "{{.*}}", +// CHECK-NEXT:    "line": 51 +// CHECK-NEXT:   }, +// CHECK-NEXT:   "end": { +// CHECK-NEXT:    "col": 1, +// CHECK-NEXT:    "file": "{{.*}}", +// CHECK-NEXT:    "line": 66 +// CHECK-NEXT:   } +// CHECK-NEXT:  }, +// CHECK-NEXT:  "isUsed": true, +// CHECK-NEXT:  "name": "UnaryOperators", +// CHECK-NEXT:  "type": { +// CHECK-NEXT:   "qualType": "void (int, int *)" +// CHECK-NEXT:  }, +// CHECK-NEXT:  "inner": [ +// CHECK-NEXT:   { +// CHECK-NEXT:    "id": "0x{{.*}}", +// CHECK-NEXT:    "kind": "ParmVarDecl", +// CHECK-NEXT:    "loc": { +// CHECK-NEXT:     "col": 25, +// CHECK-NEXT:     "file": "{{.*}}", +// CHECK-NEXT:     "line": 51 +// CHECK-NEXT:    }, +// CHECK-NEXT:    "range": { +// CHECK-NEXT:     "begin": { +// CHECK-NEXT:      "col": 21, +// CHECK-NEXT:      "file": "{{.*}}", +// CHECK-NEXT:      "line": 51 +// CHECK-NEXT:     }, +// CHECK-NEXT:     "end": { +// CHECK-NEXT:      "col": 25, +// CHECK-NEXT:      "file": "{{.*}}", +// CHECK-NEXT:      "line": 51 +// CHECK-NEXT:     } +// CHECK-NEXT:    }, +// CHECK-NEXT:    "isUsed": true, +// CHECK-NEXT:    "name": "a", +// CHECK-NEXT:    "type": { +// CHECK-NEXT:     "qualType": "int" +// CHECK-NEXT:    } +// CHECK-NEXT:   }, +// CHECK-NEXT:   { +// CHECK-NEXT:    "id": "0x{{.*}}", +// CHECK-NEXT:    "kind": "ParmVarDecl", +// CHECK-NEXT:    "loc": { +// CHECK-NEXT:     "col": 33, +// CHECK-NEXT:     "file": "{{.*}}", +// CHECK-NEXT:     "line": 51 +// CHECK-NEXT:    }, +// CHECK-NEXT:    "range": { +// CHECK-NEXT:     "begin": { +// CHECK-NEXT:      "col": 28, +// CHECK-NEXT:      "file": "{{.*}}", +// CHECK-NEXT:      "line": 51 +// CHECK-NEXT:     }, +// CHECK-NEXT:     "end": { +// CHECK-NEXT:      "col": 33, +// CHECK-NEXT:      "file": "{{.*}}", +// CHECK-NEXT:      "line": 51 +// CHECK-NEXT:     } +// CHECK-NEXT:    }, +// CHECK-NEXT:    "isUsed": true, +// CHECK-NEXT:    "name": "b", +// CHECK-NEXT:    "type": { +// CHECK-NEXT:     "qualType": "int *" +// CHECK-NEXT:    } +// CHECK-NEXT:   }, +// CHECK-NEXT:   { +// CHECK-NEXT:    "id": "0x{{.*}}", +// CHECK-NEXT:    "kind": "CompoundStmt", +// CHECK-NEXT:    "range": { +// CHECK-NEXT:     "begin": { +// CHECK-NEXT:      "col": 36, +// CHECK-NEXT:      "file": "{{.*}}", +// CHECK-NEXT:      "line": 51 +// CHECK-NEXT:     }, +// CHECK-NEXT:     "end": { +// CHECK-NEXT:      "col": 1, +// CHECK-NEXT:      "file": "{{.*}}", +// CHECK-NEXT:      "line": 66 +// CHECK-NEXT:     } +// CHECK-NEXT:    }, +// CHECK-NEXT:    "inner": [ +// CHECK-NEXT:     { +// CHECK-NEXT:      "id": "0x{{.*}}", +// CHECK-NEXT:      "kind": "CStyleCastExpr", +// CHECK-NEXT:      "range": { +// CHECK-NEXT:       "begin": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 53 +// CHECK-NEXT:       }, +// CHECK-NEXT:       "end": { +// CHECK-NEXT:        "col": 10, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 53 +// CHECK-NEXT:       } +// CHECK-NEXT:      }, +// CHECK-NEXT:      "type": { +// CHECK-NEXT:       "qualType": "float" +// CHECK-NEXT:      }, +// CHECK-NEXT:      "valueCategory": "rvalue", +// CHECK-NEXT:      "castKind": "IntegralToFloating", +// CHECK-NEXT:      "inner": [ +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "ImplicitCastExpr", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 10, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 53 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 10, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 53 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "int" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "rvalue", +// CHECK-NEXT:        "castKind": "LValueToRValue", +// CHECK-NEXT:        "isPartOfExplicitCast": true, +// CHECK-NEXT:        "inner": [ +// CHECK-NEXT:         { +// CHECK-NEXT:          "id": "0x{{.*}}", +// CHECK-NEXT:          "kind": "DeclRefExpr", +// CHECK-NEXT:          "range": { +// CHECK-NEXT:           "begin": { +// CHECK-NEXT:            "col": 10, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 53 +// CHECK-NEXT:           }, +// CHECK-NEXT:           "end": { +// CHECK-NEXT:            "col": 10, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 53 +// CHECK-NEXT:           } +// CHECK-NEXT:          }, +// CHECK-NEXT:          "type": { +// CHECK-NEXT:           "qualType": "int" +// CHECK-NEXT:          }, +// CHECK-NEXT:          "valueCategory": "lvalue", +// CHECK-NEXT:          "referencedDecl": { +// CHECK-NEXT:           "id": "0x{{.*}}", +// CHECK-NEXT:           "kind": "ParmVarDecl", +// CHECK-NEXT:           "name": "a", +// CHECK-NEXT:           "type": { +// CHECK-NEXT:            "qualType": "int" +// CHECK-NEXT:           } +// CHECK-NEXT:          } +// CHECK-NEXT:         } +// CHECK-NEXT:        ] +// CHECK-NEXT:       } +// CHECK-NEXT:      ] +// CHECK-NEXT:     }, +// CHECK-NEXT:     { +// CHECK-NEXT:      "id": "0x{{.*}}", +// CHECK-NEXT:      "kind": "UnaryOperator", +// CHECK-NEXT:      "range": { +// CHECK-NEXT:       "begin": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 57 +// CHECK-NEXT:       }, +// CHECK-NEXT:       "end": { +// CHECK-NEXT:        "col": 4, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 57 +// CHECK-NEXT:       } +// CHECK-NEXT:      }, +// CHECK-NEXT:      "type": { +// CHECK-NEXT:       "qualType": "int" +// CHECK-NEXT:      }, +// CHECK-NEXT:      "valueCategory": "rvalue", +// CHECK-NEXT:      "isPostfix": false, +// CHECK-NEXT:      "opcode": "-", +// CHECK-NEXT:      "inner": [ +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "ImplicitCastExpr", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 4, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 57 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 4, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 57 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "int" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "rvalue", +// CHECK-NEXT:        "castKind": "LValueToRValue", +// CHECK-NEXT:        "inner": [ +// CHECK-NEXT:         { +// CHECK-NEXT:          "id": "0x{{.*}}", +// CHECK-NEXT:          "kind": "DeclRefExpr", +// CHECK-NEXT:          "range": { +// CHECK-NEXT:           "begin": { +// CHECK-NEXT:            "col": 4, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 57 +// CHECK-NEXT:           }, +// CHECK-NEXT:           "end": { +// CHECK-NEXT:            "col": 4, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 57 +// CHECK-NEXT:           } +// CHECK-NEXT:          }, +// CHECK-NEXT:          "type": { +// CHECK-NEXT:           "qualType": "int" +// CHECK-NEXT:          }, +// CHECK-NEXT:          "valueCategory": "lvalue", +// CHECK-NEXT:          "referencedDecl": { +// CHECK-NEXT:           "id": "0x{{.*}}", +// CHECK-NEXT:           "kind": "ParmVarDecl", +// CHECK-NEXT:           "name": "a", +// CHECK-NEXT:           "type": { +// CHECK-NEXT:            "qualType": "int" +// CHECK-NEXT:           } +// CHECK-NEXT:          } +// CHECK-NEXT:         } +// CHECK-NEXT:        ] +// CHECK-NEXT:       } +// CHECK-NEXT:      ] +// CHECK-NEXT:     }, +// CHECK-NEXT:     { +// CHECK-NEXT:      "id": "0x{{.*}}", +// CHECK-NEXT:      "kind": "UnaryOperator", +// CHECK-NEXT:      "range": { +// CHECK-NEXT:       "begin": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 58 +// CHECK-NEXT:       }, +// CHECK-NEXT:       "end": { +// CHECK-NEXT:        "col": 4, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 58 +// CHECK-NEXT:       } +// CHECK-NEXT:      }, +// CHECK-NEXT:      "type": { +// CHECK-NEXT:       "qualType": "int" +// CHECK-NEXT:      }, +// CHECK-NEXT:      "valueCategory": "rvalue", +// CHECK-NEXT:      "isPostfix": false, +// CHECK-NEXT:      "opcode": "+", +// CHECK-NEXT:      "canOverflow": false, +// CHECK-NEXT:      "inner": [ +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "ImplicitCastExpr", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 4, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 58 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 4, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 58 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "int" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "rvalue", +// CHECK-NEXT:        "castKind": "LValueToRValue", +// CHECK-NEXT:        "inner": [ +// CHECK-NEXT:         { +// CHECK-NEXT:          "id": "0x{{.*}}", +// CHECK-NEXT:          "kind": "DeclRefExpr", +// CHECK-NEXT:          "range": { +// CHECK-NEXT:           "begin": { +// CHECK-NEXT:            "col": 4, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 58 +// CHECK-NEXT:           }, +// CHECK-NEXT:           "end": { +// CHECK-NEXT:            "col": 4, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 58 +// CHECK-NEXT:           } +// CHECK-NEXT:          }, +// CHECK-NEXT:          "type": { +// CHECK-NEXT:           "qualType": "int" +// CHECK-NEXT:          }, +// CHECK-NEXT:          "valueCategory": "lvalue", +// CHECK-NEXT:          "referencedDecl": { +// CHECK-NEXT:           "id": "0x{{.*}}", +// CHECK-NEXT:           "kind": "ParmVarDecl", +// CHECK-NEXT:           "name": "a", +// CHECK-NEXT:           "type": { +// CHECK-NEXT:            "qualType": "int" +// CHECK-NEXT:           } +// CHECK-NEXT:          } +// CHECK-NEXT:         } +// CHECK-NEXT:        ] +// CHECK-NEXT:       } +// CHECK-NEXT:      ] +// CHECK-NEXT:     }, +// CHECK-NEXT:     { +// CHECK-NEXT:      "id": "0x{{.*}}", +// CHECK-NEXT:      "kind": "UnaryOperator", +// CHECK-NEXT:      "range": { +// CHECK-NEXT:       "begin": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 59 +// CHECK-NEXT:       }, +// CHECK-NEXT:       "end": { +// CHECK-NEXT:        "col": 4, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 59 +// CHECK-NEXT:       } +// CHECK-NEXT:      }, +// CHECK-NEXT:      "type": { +// CHECK-NEXT:       "qualType": "int *" +// CHECK-NEXT:      }, +// CHECK-NEXT:      "valueCategory": "rvalue", +// CHECK-NEXT:      "isPostfix": false, +// CHECK-NEXT:      "opcode": "&", +// CHECK-NEXT:      "canOverflow": false, +// CHECK-NEXT:      "inner": [ +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "DeclRefExpr", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 4, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 59 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 4, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 59 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "int" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "lvalue", +// CHECK-NEXT:        "referencedDecl": { +// CHECK-NEXT:         "id": "0x{{.*}}", +// CHECK-NEXT:         "kind": "ParmVarDecl", +// CHECK-NEXT:         "name": "a", +// CHECK-NEXT:         "type": { +// CHECK-NEXT:          "qualType": "int" +// CHECK-NEXT:         } +// CHECK-NEXT:        } +// CHECK-NEXT:       } +// CHECK-NEXT:      ] +// CHECK-NEXT:     }, +// CHECK-NEXT:     { +// CHECK-NEXT:      "id": "0x{{.*}}", +// CHECK-NEXT:      "kind": "ImplicitCastExpr", +// CHECK-NEXT:      "range": { +// CHECK-NEXT:       "begin": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 60 +// CHECK-NEXT:       }, +// CHECK-NEXT:       "end": { +// CHECK-NEXT:        "col": 4, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 60 +// CHECK-NEXT:       } +// CHECK-NEXT:      }, +// CHECK-NEXT:      "type": { +// CHECK-NEXT:       "qualType": "int" +// CHECK-NEXT:      }, +// CHECK-NEXT:      "valueCategory": "rvalue", +// CHECK-NEXT:      "castKind": "LValueToRValue", +// CHECK-NEXT:      "inner": [ +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "UnaryOperator", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 60 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 4, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 60 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "int" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "lvalue", +// CHECK-NEXT:        "isPostfix": false, +// CHECK-NEXT:        "opcode": "*", +// CHECK-NEXT:        "canOverflow": false, +// CHECK-NEXT:        "inner": [ +// CHECK-NEXT:         { +// CHECK-NEXT:          "id": "0x{{.*}}", +// CHECK-NEXT:          "kind": "ImplicitCastExpr", +// CHECK-NEXT:          "range": { +// CHECK-NEXT:           "begin": { +// CHECK-NEXT:            "col": 4, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 60 +// CHECK-NEXT:           }, +// CHECK-NEXT:           "end": { +// CHECK-NEXT:            "col": 4, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 60 +// CHECK-NEXT:           } +// CHECK-NEXT:          }, +// CHECK-NEXT:          "type": { +// CHECK-NEXT:           "qualType": "int *" +// CHECK-NEXT:          }, +// CHECK-NEXT:          "valueCategory": "rvalue", +// CHECK-NEXT:          "castKind": "LValueToRValue", +// CHECK-NEXT:          "inner": [ +// CHECK-NEXT:           { +// CHECK-NEXT:            "id": "0x{{.*}}", +// CHECK-NEXT:            "kind": "DeclRefExpr", +// CHECK-NEXT:            "range": { +// CHECK-NEXT:             "begin": { +// CHECK-NEXT:              "col": 4, +// CHECK-NEXT:              "file": "{{.*}}", +// CHECK-NEXT:              "line": 60 +// CHECK-NEXT:             }, +// CHECK-NEXT:             "end": { +// CHECK-NEXT:              "col": 4, +// CHECK-NEXT:              "file": "{{.*}}", +// CHECK-NEXT:              "line": 60 +// CHECK-NEXT:             } +// CHECK-NEXT:            }, +// CHECK-NEXT:            "type": { +// CHECK-NEXT:             "qualType": "int *" +// CHECK-NEXT:            }, +// CHECK-NEXT:            "valueCategory": "lvalue", +// CHECK-NEXT:            "referencedDecl": { +// CHECK-NEXT:             "id": "0x{{.*}}", +// CHECK-NEXT:             "kind": "ParmVarDecl", +// CHECK-NEXT:             "name": "b", +// CHECK-NEXT:             "type": { +// CHECK-NEXT:              "qualType": "int *" +// CHECK-NEXT:             } +// CHECK-NEXT:            } +// CHECK-NEXT:           } +// CHECK-NEXT:          ] +// CHECK-NEXT:         } +// CHECK-NEXT:        ] +// CHECK-NEXT:       } +// CHECK-NEXT:      ] +// CHECK-NEXT:     }, +// CHECK-NEXT:     { +// CHECK-NEXT:      "id": "0x{{.*}}", +// CHECK-NEXT:      "kind": "UnaryOperator", +// CHECK-NEXT:      "range": { +// CHECK-NEXT:       "begin": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 61 +// CHECK-NEXT:       }, +// CHECK-NEXT:       "end": { +// CHECK-NEXT:        "col": 4, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 61 +// CHECK-NEXT:       } +// CHECK-NEXT:      }, +// CHECK-NEXT:      "type": { +// CHECK-NEXT:       "qualType": "int" +// CHECK-NEXT:      }, +// CHECK-NEXT:      "valueCategory": "rvalue", +// CHECK-NEXT:      "isPostfix": false, +// CHECK-NEXT:      "opcode": "!", +// CHECK-NEXT:      "canOverflow": false, +// CHECK-NEXT:      "inner": [ +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "ImplicitCastExpr", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 4, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 61 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 4, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 61 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "int" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "rvalue", +// CHECK-NEXT:        "castKind": "LValueToRValue", +// CHECK-NEXT:        "inner": [ +// CHECK-NEXT:         { +// CHECK-NEXT:          "id": "0x{{.*}}", +// CHECK-NEXT:          "kind": "DeclRefExpr", +// CHECK-NEXT:          "range": { +// CHECK-NEXT:           "begin": { +// CHECK-NEXT:            "col": 4, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 61 +// CHECK-NEXT:           }, +// CHECK-NEXT:           "end": { +// CHECK-NEXT:            "col": 4, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 61 +// CHECK-NEXT:           } +// CHECK-NEXT:          }, +// CHECK-NEXT:          "type": { +// CHECK-NEXT:           "qualType": "int" +// CHECK-NEXT:          }, +// CHECK-NEXT:          "valueCategory": "lvalue", +// CHECK-NEXT:          "referencedDecl": { +// CHECK-NEXT:           "id": "0x{{.*}}", +// CHECK-NEXT:           "kind": "ParmVarDecl", +// CHECK-NEXT:           "name": "a", +// CHECK-NEXT:           "type": { +// CHECK-NEXT:            "qualType": "int" +// CHECK-NEXT:           } +// CHECK-NEXT:          } +// CHECK-NEXT:         } +// CHECK-NEXT:        ] +// CHECK-NEXT:       } +// CHECK-NEXT:      ] +// CHECK-NEXT:     }, +// CHECK-NEXT:     { +// CHECK-NEXT:      "id": "0x{{.*}}", +// CHECK-NEXT:      "kind": "UnaryExprOrTypeTraitExpr", +// CHECK-NEXT:      "range": { +// CHECK-NEXT:       "begin": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 63 +// CHECK-NEXT:       }, +// CHECK-NEXT:       "end": { +// CHECK-NEXT:        "col": 10, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 63 +// CHECK-NEXT:       } +// CHECK-NEXT:      }, +// CHECK-NEXT:      "type": { +// CHECK-NEXT:       "qualType": "unsigned long" +// CHECK-NEXT:      }, +// CHECK-NEXT:      "valueCategory": "rvalue", +// CHECK-NEXT:      "name": "sizeof", +// CHECK-NEXT:      "inner": [ +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "DeclRefExpr", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 10, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 63 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 10, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 63 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "int" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "lvalue", +// CHECK-NEXT:        "referencedDecl": { +// CHECK-NEXT:         "id": "0x{{.*}}", +// CHECK-NEXT:         "kind": "ParmVarDecl", +// CHECK-NEXT:         "name": "a", +// CHECK-NEXT:         "type": { +// CHECK-NEXT:          "qualType": "int" +// CHECK-NEXT:         } +// CHECK-NEXT:        } +// CHECK-NEXT:       } +// CHECK-NEXT:      ] +// CHECK-NEXT:     }, +// CHECK-NEXT:     { +// CHECK-NEXT:      "id": "0x{{.*}}", +// CHECK-NEXT:      "kind": "UnaryExprOrTypeTraitExpr", +// CHECK-NEXT:      "range": { +// CHECK-NEXT:       "begin": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 64 +// CHECK-NEXT:       }, +// CHECK-NEXT:       "end": { +// CHECK-NEXT:        "col": 13, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 64 +// CHECK-NEXT:       } +// CHECK-NEXT:      }, +// CHECK-NEXT:      "type": { +// CHECK-NEXT:       "qualType": "unsigned long" +// CHECK-NEXT:      }, +// CHECK-NEXT:      "valueCategory": "rvalue", +// CHECK-NEXT:      "name": "sizeof", +// CHECK-NEXT:      "argType": { +// CHECK-NEXT:       "qualType": "int" +// CHECK-NEXT:      } +// CHECK-NEXT:     }, +// CHECK-NEXT:     { +// CHECK-NEXT:      "id": "0x{{.*}}", +// CHECK-NEXT:      "kind": "UnaryExprOrTypeTraitExpr", +// CHECK-NEXT:      "range": { +// CHECK-NEXT:       "begin": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 65 +// CHECK-NEXT:       }, +// CHECK-NEXT:       "end": { +// CHECK-NEXT:        "col": 15, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 65 +// CHECK-NEXT:       } +// CHECK-NEXT:      }, +// CHECK-NEXT:      "type": { +// CHECK-NEXT:       "qualType": "unsigned long" +// CHECK-NEXT:      }, +// CHECK-NEXT:      "valueCategory": "rvalue", +// CHECK-NEXT:      "name": "alignof", +// CHECK-NEXT:      "argType": { +// CHECK-NEXT:       "qualType": "int" +// CHECK-NEXT:      } +// CHECK-NEXT:     } +// CHECK-NEXT:    ] +// CHECK-NEXT:   } +// CHECK-NEXT:  ] +// CHECK-NEXT: } + + +// CHECK:  "kind": "FunctionDecl", +// CHECK-NEXT:  "loc": { +// CHECK-NEXT:   "col": 6, +// CHECK-NEXT:   "file": "{{.*}}", +// CHECK-NEXT:   "line": 72 +// CHECK-NEXT:  }, +// CHECK-NEXT:  "range": { +// CHECK-NEXT:   "begin": { +// CHECK-NEXT:    "col": 1, +// CHECK-NEXT:    "file": "{{.*}}", +// CHECK-NEXT:    "line": 72 +// CHECK-NEXT:   }, +// CHECK-NEXT:   "end": { +// CHECK-NEXT:    "col": 1, +// CHECK-NEXT:    "file": "{{.*}}", +// CHECK-NEXT:    "line": 83 +// CHECK-NEXT:   } +// CHECK-NEXT:  }, +// CHECK-NEXT:  "name": "PostfixOperators", +// CHECK-NEXT:  "type": { +// CHECK-NEXT:   "qualType": "void (int *, struct S, struct S *)" +// CHECK-NEXT:  }, +// CHECK-NEXT:  "inner": [ +// CHECK-NEXT:   { +// CHECK-NEXT:    "id": "0x{{.*}}", +// CHECK-NEXT:    "kind": "ParmVarDecl", +// CHECK-NEXT:    "loc": { +// CHECK-NEXT:     "col": 28, +// CHECK-NEXT:     "file": "{{.*}}", +// CHECK-NEXT:     "line": 72 +// CHECK-NEXT:    }, +// CHECK-NEXT:    "range": { +// CHECK-NEXT:     "begin": { +// CHECK-NEXT:      "col": 23, +// CHECK-NEXT:      "file": "{{.*}}", +// CHECK-NEXT:      "line": 72 +// CHECK-NEXT:     }, +// CHECK-NEXT:     "end": { +// CHECK-NEXT:      "col": 28, +// CHECK-NEXT:      "file": "{{.*}}", +// CHECK-NEXT:      "line": 72 +// CHECK-NEXT:     } +// CHECK-NEXT:    }, +// CHECK-NEXT:    "isUsed": true, +// CHECK-NEXT:    "name": "a", +// CHECK-NEXT:    "type": { +// CHECK-NEXT:     "qualType": "int *" +// CHECK-NEXT:    } +// CHECK-NEXT:   }, +// CHECK-NEXT:   { +// CHECK-NEXT:    "id": "0x{{.*}}", +// CHECK-NEXT:    "kind": "ParmVarDecl", +// CHECK-NEXT:    "loc": { +// CHECK-NEXT:     "col": 40, +// CHECK-NEXT:     "file": "{{.*}}", +// CHECK-NEXT:     "line": 72 +// CHECK-NEXT:    }, +// CHECK-NEXT:    "range": { +// CHECK-NEXT:     "begin": { +// CHECK-NEXT:      "col": 31, +// CHECK-NEXT:      "file": "{{.*}}", +// CHECK-NEXT:      "line": 72 +// CHECK-NEXT:     }, +// CHECK-NEXT:     "end": { +// CHECK-NEXT:      "col": 40, +// CHECK-NEXT:      "file": "{{.*}}", +// CHECK-NEXT:      "line": 72 +// CHECK-NEXT:     } +// CHECK-NEXT:    }, +// CHECK-NEXT:    "isUsed": true, +// CHECK-NEXT:    "name": "b", +// CHECK-NEXT:    "type": { +// CHECK-NEXT:     "desugaredQualType": "struct S", +// CHECK-NEXT:     "qualType": "struct S" +// CHECK-NEXT:    } +// CHECK-NEXT:   }, +// CHECK-NEXT:   { +// CHECK-NEXT:    "id": "0x{{.*}}", +// CHECK-NEXT:    "kind": "ParmVarDecl", +// CHECK-NEXT:    "loc": { +// CHECK-NEXT:     "col": 53, +// CHECK-NEXT:     "file": "{{.*}}", +// CHECK-NEXT:     "line": 72 +// CHECK-NEXT:    }, +// CHECK-NEXT:    "range": { +// CHECK-NEXT:     "begin": { +// CHECK-NEXT:      "col": 43, +// CHECK-NEXT:      "file": "{{.*}}", +// CHECK-NEXT:      "line": 72 +// CHECK-NEXT:     }, +// CHECK-NEXT:     "end": { +// CHECK-NEXT:      "col": 53, +// CHECK-NEXT:      "file": "{{.*}}", +// CHECK-NEXT:      "line": 72 +// CHECK-NEXT:     } +// CHECK-NEXT:    }, +// CHECK-NEXT:    "isUsed": true, +// CHECK-NEXT:    "name": "c", +// CHECK-NEXT:    "type": { +// CHECK-NEXT:     "qualType": "struct S *" +// CHECK-NEXT:    } +// CHECK-NEXT:   }, +// CHECK-NEXT:   { +// CHECK-NEXT:    "id": "0x{{.*}}", +// CHECK-NEXT:    "kind": "CompoundStmt", +// CHECK-NEXT:    "range": { +// CHECK-NEXT:     "begin": { +// CHECK-NEXT:      "col": 56, +// CHECK-NEXT:      "file": "{{.*}}", +// CHECK-NEXT:      "line": 72 +// CHECK-NEXT:     }, +// CHECK-NEXT:     "end": { +// CHECK-NEXT:      "col": 1, +// CHECK-NEXT:      "file": "{{.*}}", +// CHECK-NEXT:      "line": 83 +// CHECK-NEXT:     } +// CHECK-NEXT:    }, +// CHECK-NEXT:    "inner": [ +// CHECK-NEXT:     { +// CHECK-NEXT:      "id": "0x{{.*}}", +// CHECK-NEXT:      "kind": "ImplicitCastExpr", +// CHECK-NEXT:      "range": { +// CHECK-NEXT:       "begin": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 73 +// CHECK-NEXT:       }, +// CHECK-NEXT:       "end": { +// CHECK-NEXT:        "col": 6, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 73 +// CHECK-NEXT:       } +// CHECK-NEXT:      }, +// CHECK-NEXT:      "type": { +// CHECK-NEXT:       "qualType": "int" +// CHECK-NEXT:      }, +// CHECK-NEXT:      "valueCategory": "rvalue", +// CHECK-NEXT:      "castKind": "LValueToRValue", +// CHECK-NEXT:      "inner": [ +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "ArraySubscriptExpr", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 73 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 6, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 73 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "int" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "lvalue", +// CHECK-NEXT:        "inner": [ +// CHECK-NEXT:         { +// CHECK-NEXT:          "id": "0x{{.*}}", +// CHECK-NEXT:          "kind": "ImplicitCastExpr", +// CHECK-NEXT:          "range": { +// CHECK-NEXT:           "begin": { +// CHECK-NEXT:            "col": 3, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 73 +// CHECK-NEXT:           }, +// CHECK-NEXT:           "end": { +// CHECK-NEXT:            "col": 3, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 73 +// CHECK-NEXT:           } +// CHECK-NEXT:          }, +// CHECK-NEXT:          "type": { +// CHECK-NEXT:           "qualType": "int *" +// CHECK-NEXT:          }, +// CHECK-NEXT:          "valueCategory": "rvalue", +// CHECK-NEXT:          "castKind": "LValueToRValue", +// CHECK-NEXT:          "inner": [ +// CHECK-NEXT:           { +// CHECK-NEXT:            "id": "0x{{.*}}", +// CHECK-NEXT:            "kind": "DeclRefExpr", +// CHECK-NEXT:            "range": { +// CHECK-NEXT:             "begin": { +// CHECK-NEXT:              "col": 3, +// CHECK-NEXT:              "file": "{{.*}}", +// CHECK-NEXT:              "line": 73 +// CHECK-NEXT:             }, +// CHECK-NEXT:             "end": { +// CHECK-NEXT:              "col": 3, +// CHECK-NEXT:              "file": "{{.*}}", +// CHECK-NEXT:              "line": 73 +// CHECK-NEXT:             } +// CHECK-NEXT:            }, +// CHECK-NEXT:            "type": { +// CHECK-NEXT:             "qualType": "int *" +// CHECK-NEXT:            }, +// CHECK-NEXT:            "valueCategory": "lvalue", +// CHECK-NEXT:            "referencedDecl": { +// CHECK-NEXT:             "id": "0x{{.*}}", +// CHECK-NEXT:             "kind": "ParmVarDecl", +// CHECK-NEXT:             "name": "a", +// CHECK-NEXT:             "type": { +// CHECK-NEXT:              "qualType": "int *" +// CHECK-NEXT:             } +// CHECK-NEXT:            } +// CHECK-NEXT:           } +// CHECK-NEXT:          ] +// CHECK-NEXT:         }, +// CHECK-NEXT:         { +// CHECK-NEXT:          "id": "0x{{.*}}", +// CHECK-NEXT:          "kind": "IntegerLiteral", +// CHECK-NEXT:          "range": { +// CHECK-NEXT:           "begin": { +// CHECK-NEXT:            "col": 5, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 73 +// CHECK-NEXT:           }, +// CHECK-NEXT:           "end": { +// CHECK-NEXT:            "col": 5, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 73 +// CHECK-NEXT:           } +// CHECK-NEXT:          }, +// CHECK-NEXT:          "type": { +// CHECK-NEXT:           "qualType": "int" +// CHECK-NEXT:          }, +// CHECK-NEXT:          "valueCategory": "rvalue", +// CHECK-NEXT:          "value": "0" +// CHECK-NEXT:         } +// CHECK-NEXT:        ] +// CHECK-NEXT:       } +// CHECK-NEXT:      ] +// CHECK-NEXT:     }, +// CHECK-NEXT:     { +// CHECK-NEXT:      "id": "0x{{.*}}", +// CHECK-NEXT:      "kind": "CallExpr", +// CHECK-NEXT:      "range": { +// CHECK-NEXT:       "begin": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 74 +// CHECK-NEXT:       }, +// CHECK-NEXT:       "end": { +// CHECK-NEXT:        "col": 23, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 74 +// CHECK-NEXT:       } +// CHECK-NEXT:      }, +// CHECK-NEXT:      "type": { +// CHECK-NEXT:       "qualType": "void" +// CHECK-NEXT:      }, +// CHECK-NEXT:      "valueCategory": "rvalue", +// CHECK-NEXT:      "inner": [ +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "ImplicitCastExpr", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 74 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 74 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "void (*)(int, int *)" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "rvalue", +// CHECK-NEXT:        "castKind": "FunctionToPointerDecay", +// CHECK-NEXT:        "inner": [ +// CHECK-NEXT:         { +// CHECK-NEXT:          "id": "0x{{.*}}", +// CHECK-NEXT:          "kind": "DeclRefExpr", +// CHECK-NEXT:          "range": { +// CHECK-NEXT:           "begin": { +// CHECK-NEXT:            "col": 3, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 74 +// CHECK-NEXT:           }, +// CHECK-NEXT:           "end": { +// CHECK-NEXT:            "col": 3, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 74 +// CHECK-NEXT:           } +// CHECK-NEXT:          }, +// CHECK-NEXT:          "type": { +// CHECK-NEXT:           "qualType": "void (int, int *)" +// CHECK-NEXT:          }, +// CHECK-NEXT:          "valueCategory": "rvalue", +// CHECK-NEXT:          "referencedDecl": { +// CHECK-NEXT:           "id": "0x{{.*}}", +// CHECK-NEXT:           "kind": "FunctionDecl", +// CHECK-NEXT:           "name": "UnaryOperators", +// CHECK-NEXT:           "type": { +// CHECK-NEXT:            "qualType": "void (int, int *)" +// CHECK-NEXT:           } +// CHECK-NEXT:          } +// CHECK-NEXT:         } +// CHECK-NEXT:        ] +// CHECK-NEXT:       }, +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "ImplicitCastExpr", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 18, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 74 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 19, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 74 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "int" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "rvalue", +// CHECK-NEXT:        "castKind": "LValueToRValue", +// CHECK-NEXT:        "inner": [ +// CHECK-NEXT:         { +// CHECK-NEXT:          "id": "0x{{.*}}", +// CHECK-NEXT:          "kind": "UnaryOperator", +// CHECK-NEXT:          "range": { +// CHECK-NEXT:           "begin": { +// CHECK-NEXT:            "col": 18, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 74 +// CHECK-NEXT:           }, +// CHECK-NEXT:           "end": { +// CHECK-NEXT:            "col": 19, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 74 +// CHECK-NEXT:           } +// CHECK-NEXT:          }, +// CHECK-NEXT:          "type": { +// CHECK-NEXT:           "qualType": "int" +// CHECK-NEXT:          }, +// CHECK-NEXT:          "valueCategory": "lvalue", +// CHECK-NEXT:          "isPostfix": false, +// CHECK-NEXT:          "opcode": "*", +// CHECK-NEXT:          "canOverflow": false, +// CHECK-NEXT:          "inner": [ +// CHECK-NEXT:           { +// CHECK-NEXT:            "id": "0x{{.*}}", +// CHECK-NEXT:            "kind": "ImplicitCastExpr", +// CHECK-NEXT:            "range": { +// CHECK-NEXT:             "begin": { +// CHECK-NEXT:              "col": 19, +// CHECK-NEXT:              "file": "{{.*}}", +// CHECK-NEXT:              "line": 74 +// CHECK-NEXT:             }, +// CHECK-NEXT:             "end": { +// CHECK-NEXT:              "col": 19, +// CHECK-NEXT:              "file": "{{.*}}", +// CHECK-NEXT:              "line": 74 +// CHECK-NEXT:             } +// CHECK-NEXT:            }, +// CHECK-NEXT:            "type": { +// CHECK-NEXT:             "qualType": "int *" +// CHECK-NEXT:            }, +// CHECK-NEXT:            "valueCategory": "rvalue", +// CHECK-NEXT:            "castKind": "LValueToRValue", +// CHECK-NEXT:            "inner": [ +// CHECK-NEXT:             { +// CHECK-NEXT:              "id": "0x{{.*}}", +// CHECK-NEXT:              "kind": "DeclRefExpr", +// CHECK-NEXT:              "range": { +// CHECK-NEXT:               "begin": { +// CHECK-NEXT:                "col": 19, +// CHECK-NEXT:                "file": "{{.*}}", +// CHECK-NEXT:                "line": 74 +// CHECK-NEXT:               }, +// CHECK-NEXT:               "end": { +// CHECK-NEXT:                "col": 19, +// CHECK-NEXT:                "file": "{{.*}}", +// CHECK-NEXT:                "line": 74 +// CHECK-NEXT:               } +// CHECK-NEXT:              }, +// CHECK-NEXT:              "type": { +// CHECK-NEXT:               "qualType": "int *" +// CHECK-NEXT:              }, +// CHECK-NEXT:              "valueCategory": "lvalue", +// CHECK-NEXT:              "referencedDecl": { +// CHECK-NEXT:               "id": "0x{{.*}}", +// CHECK-NEXT:               "kind": "ParmVarDecl", +// CHECK-NEXT:               "name": "a", +// CHECK-NEXT:               "type": { +// CHECK-NEXT:                "qualType": "int *" +// CHECK-NEXT:               } +// CHECK-NEXT:              } +// CHECK-NEXT:             } +// CHECK-NEXT:            ] +// CHECK-NEXT:           } +// CHECK-NEXT:          ] +// CHECK-NEXT:         } +// CHECK-NEXT:        ] +// CHECK-NEXT:       }, +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "ImplicitCastExpr", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 22, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 74 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 22, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 74 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "int *" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "rvalue", +// CHECK-NEXT:        "castKind": "LValueToRValue", +// CHECK-NEXT:        "inner": [ +// CHECK-NEXT:         { +// CHECK-NEXT:          "id": "0x{{.*}}", +// CHECK-NEXT:          "kind": "DeclRefExpr", +// CHECK-NEXT:          "range": { +// CHECK-NEXT:           "begin": { +// CHECK-NEXT:            "col": 22, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 74 +// CHECK-NEXT:           }, +// CHECK-NEXT:           "end": { +// CHECK-NEXT:            "col": 22, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 74 +// CHECK-NEXT:           } +// CHECK-NEXT:          }, +// CHECK-NEXT:          "type": { +// CHECK-NEXT:           "qualType": "int *" +// CHECK-NEXT:          }, +// CHECK-NEXT:          "valueCategory": "lvalue", +// CHECK-NEXT:          "referencedDecl": { +// CHECK-NEXT:           "id": "0x{{.*}}", +// CHECK-NEXT:           "kind": "ParmVarDecl", +// CHECK-NEXT:           "name": "a", +// CHECK-NEXT:           "type": { +// CHECK-NEXT:            "qualType": "int *" +// CHECK-NEXT:           } +// CHECK-NEXT:          } +// CHECK-NEXT:         } +// CHECK-NEXT:        ] +// CHECK-NEXT:       } +// CHECK-NEXT:      ] +// CHECK-NEXT:     }, +// CHECK-NEXT:     { +// CHECK-NEXT:      "id": "0x{{.*}}", +// CHECK-NEXT:      "kind": "ImplicitCastExpr", +// CHECK-NEXT:      "range": { +// CHECK-NEXT:       "begin": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 76 +// CHECK-NEXT:       }, +// CHECK-NEXT:       "end": { +// CHECK-NEXT:        "col": 5, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 76 +// CHECK-NEXT:       } +// CHECK-NEXT:      }, +// CHECK-NEXT:      "type": { +// CHECK-NEXT:       "qualType": "int" +// CHECK-NEXT:      }, +// CHECK-NEXT:      "valueCategory": "rvalue", +// CHECK-NEXT:      "castKind": "LValueToRValue", +// CHECK-NEXT:      "inner": [ +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "MemberExpr", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 76 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 5, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 76 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "int" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "lvalue", +// CHECK-NEXT:        "isArrow": false, +// CHECK-NEXT:        "referencedMemberDecl": "0x{{.*}}", +// CHECK-NEXT:        "inner": [ +// CHECK-NEXT:         { +// CHECK-NEXT:          "id": "0x{{.*}}", +// CHECK-NEXT:          "kind": "DeclRefExpr", +// CHECK-NEXT:          "range": { +// CHECK-NEXT:           "begin": { +// CHECK-NEXT:            "col": 3, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 76 +// CHECK-NEXT:           }, +// CHECK-NEXT:           "end": { +// CHECK-NEXT:            "col": 3, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 76 +// CHECK-NEXT:           } +// CHECK-NEXT:          }, +// CHECK-NEXT:          "type": { +// CHECK-NEXT:           "desugaredQualType": "struct S", +// CHECK-NEXT:           "qualType": "struct S" +// CHECK-NEXT:          }, +// CHECK-NEXT:          "valueCategory": "lvalue", +// CHECK-NEXT:          "referencedDecl": { +// CHECK-NEXT:           "id": "0x{{.*}}", +// CHECK-NEXT:           "kind": "ParmVarDecl", +// CHECK-NEXT:           "name": "b", +// CHECK-NEXT:           "type": { +// CHECK-NEXT:            "desugaredQualType": "struct S", +// CHECK-NEXT:            "qualType": "struct S" +// CHECK-NEXT:           } +// CHECK-NEXT:          } +// CHECK-NEXT:         } +// CHECK-NEXT:        ] +// CHECK-NEXT:       } +// CHECK-NEXT:      ] +// CHECK-NEXT:     }, +// CHECK-NEXT:     { +// CHECK-NEXT:      "id": "0x{{.*}}", +// CHECK-NEXT:      "kind": "ImplicitCastExpr", +// CHECK-NEXT:      "range": { +// CHECK-NEXT:       "begin": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 77 +// CHECK-NEXT:       }, +// CHECK-NEXT:       "end": { +// CHECK-NEXT:        "col": 6, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 77 +// CHECK-NEXT:       } +// CHECK-NEXT:      }, +// CHECK-NEXT:      "type": { +// CHECK-NEXT:       "qualType": "int" +// CHECK-NEXT:      }, +// CHECK-NEXT:      "valueCategory": "rvalue", +// CHECK-NEXT:      "castKind": "LValueToRValue", +// CHECK-NEXT:      "inner": [ +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "MemberExpr", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 77 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 6, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 77 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "int" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "lvalue", +// CHECK-NEXT:        "isArrow": true, +// CHECK-NEXT:        "referencedMemberDecl": "0x{{.*}}", +// CHECK-NEXT:        "inner": [ +// CHECK-NEXT:         { +// CHECK-NEXT:          "id": "0x{{.*}}", +// CHECK-NEXT:          "kind": "ImplicitCastExpr", +// CHECK-NEXT:          "range": { +// CHECK-NEXT:           "begin": { +// CHECK-NEXT:            "col": 3, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 77 +// CHECK-NEXT:           }, +// CHECK-NEXT:           "end": { +// CHECK-NEXT:            "col": 3, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 77 +// CHECK-NEXT:           } +// CHECK-NEXT:          }, +// CHECK-NEXT:          "type": { +// CHECK-NEXT:           "qualType": "struct S *" +// CHECK-NEXT:          }, +// CHECK-NEXT:          "valueCategory": "rvalue", +// CHECK-NEXT:          "castKind": "LValueToRValue", +// CHECK-NEXT:          "inner": [ +// CHECK-NEXT:           { +// CHECK-NEXT:            "id": "0x{{.*}}", +// CHECK-NEXT:            "kind": "DeclRefExpr", +// CHECK-NEXT:            "range": { +// CHECK-NEXT:             "begin": { +// CHECK-NEXT:              "col": 3, +// CHECK-NEXT:              "file": "{{.*}}", +// CHECK-NEXT:              "line": 77 +// CHECK-NEXT:             }, +// CHECK-NEXT:             "end": { +// CHECK-NEXT:              "col": 3, +// CHECK-NEXT:              "file": "{{.*}}", +// CHECK-NEXT:              "line": 77 +// CHECK-NEXT:             } +// CHECK-NEXT:            }, +// CHECK-NEXT:            "type": { +// CHECK-NEXT:             "qualType": "struct S *" +// CHECK-NEXT:            }, +// CHECK-NEXT:            "valueCategory": "lvalue", +// CHECK-NEXT:            "referencedDecl": { +// CHECK-NEXT:             "id": "0x{{.*}}", +// CHECK-NEXT:             "kind": "ParmVarDecl", +// CHECK-NEXT:             "name": "c", +// CHECK-NEXT:             "type": { +// CHECK-NEXT:              "qualType": "struct S *" +// CHECK-NEXT:             } +// CHECK-NEXT:            } +// CHECK-NEXT:           } +// CHECK-NEXT:          ] +// CHECK-NEXT:         } +// CHECK-NEXT:        ] +// CHECK-NEXT:       } +// CHECK-NEXT:      ] +// CHECK-NEXT:     }, +// CHECK-NEXT:     { +// CHECK-NEXT:      "id": "0x{{.*}}", +// CHECK-NEXT:      "kind": "ImplicitCastExpr", +// CHECK-NEXT:      "range": { +// CHECK-NEXT:       "begin": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 81 +// CHECK-NEXT:       }, +// CHECK-NEXT:       "end": { +// CHECK-NEXT:        "col": 25, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 81 +// CHECK-NEXT:       } +// CHECK-NEXT:      }, +// CHECK-NEXT:      "type": { +// CHECK-NEXT:       "qualType": "int *" +// CHECK-NEXT:      }, +// CHECK-NEXT:      "valueCategory": "rvalue", +// CHECK-NEXT:      "castKind": "ArrayToPointerDecay", +// CHECK-NEXT:      "inner": [ +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "CompoundLiteralExpr", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 81 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 25, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 81 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "int [4]" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "lvalue", +// CHECK-NEXT:        "inner": [ +// CHECK-NEXT:         { +// CHECK-NEXT:          "id": "0x{{.*}}", +// CHECK-NEXT:          "kind": "InitListExpr", +// CHECK-NEXT:          "range": { +// CHECK-NEXT:           "begin": { +// CHECK-NEXT:            "col": 12, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 81 +// CHECK-NEXT:           }, +// CHECK-NEXT:           "end": { +// CHECK-NEXT:            "col": 25, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 81 +// CHECK-NEXT:           } +// CHECK-NEXT:          }, +// CHECK-NEXT:          "type": { +// CHECK-NEXT:           "qualType": "int [4]" +// CHECK-NEXT:          }, +// CHECK-NEXT:          "valueCategory": "rvalue", +// CHECK-NEXT:          "inner": [ +// CHECK-NEXT:           { +// CHECK-NEXT:            "id": "0x{{.*}}", +// CHECK-NEXT:            "kind": "IntegerLiteral", +// CHECK-NEXT:            "range": { +// CHECK-NEXT:             "begin": { +// CHECK-NEXT:              "col": 13, +// CHECK-NEXT:              "file": "{{.*}}", +// CHECK-NEXT:              "line": 81 +// CHECK-NEXT:             }, +// CHECK-NEXT:             "end": { +// CHECK-NEXT:              "col": 13, +// CHECK-NEXT:              "file": "{{.*}}", +// CHECK-NEXT:              "line": 81 +// CHECK-NEXT:             } +// CHECK-NEXT:            }, +// CHECK-NEXT:            "type": { +// CHECK-NEXT:             "qualType": "int" +// CHECK-NEXT:            }, +// CHECK-NEXT:            "valueCategory": "rvalue", +// CHECK-NEXT:            "value": "1" +// CHECK-NEXT:           }, +// CHECK-NEXT:           { +// CHECK-NEXT:            "id": "0x{{.*}}", +// CHECK-NEXT:            "kind": "IntegerLiteral", +// CHECK-NEXT:            "range": { +// CHECK-NEXT:             "begin": { +// CHECK-NEXT:              "col": 16, +// CHECK-NEXT:              "file": "{{.*}}", +// CHECK-NEXT:              "line": 81 +// CHECK-NEXT:             }, +// CHECK-NEXT:             "end": { +// CHECK-NEXT:              "col": 16, +// CHECK-NEXT:              "file": "{{.*}}", +// CHECK-NEXT:              "line": 81 +// CHECK-NEXT:             } +// CHECK-NEXT:            }, +// CHECK-NEXT:            "type": { +// CHECK-NEXT:             "qualType": "int" +// CHECK-NEXT:            }, +// CHECK-NEXT:            "valueCategory": "rvalue", +// CHECK-NEXT:            "value": "2" +// CHECK-NEXT:           }, +// CHECK-NEXT:           { +// CHECK-NEXT:            "id": "0x{{.*}}", +// CHECK-NEXT:            "kind": "IntegerLiteral", +// CHECK-NEXT:            "range": { +// CHECK-NEXT:             "begin": { +// CHECK-NEXT:              "col": 19, +// CHECK-NEXT:              "file": "{{.*}}", +// CHECK-NEXT:              "line": 81 +// CHECK-NEXT:             }, +// CHECK-NEXT:             "end": { +// CHECK-NEXT:              "col": 19, +// CHECK-NEXT:              "file": "{{.*}}", +// CHECK-NEXT:              "line": 81 +// CHECK-NEXT:             } +// CHECK-NEXT:            }, +// CHECK-NEXT:            "type": { +// CHECK-NEXT:             "qualType": "int" +// CHECK-NEXT:            }, +// CHECK-NEXT:            "valueCategory": "rvalue", +// CHECK-NEXT:            "value": "3" +// CHECK-NEXT:           }, +// CHECK-NEXT:           { +// CHECK-NEXT:            "id": "0x{{.*}}", +// CHECK-NEXT:            "kind": "IntegerLiteral", +// CHECK-NEXT:            "range": { +// CHECK-NEXT:             "begin": { +// CHECK-NEXT:              "col": 22, +// CHECK-NEXT:              "file": "{{.*}}", +// CHECK-NEXT:              "line": 81 +// CHECK-NEXT:             }, +// CHECK-NEXT:             "end": { +// CHECK-NEXT:              "col": 22, +// CHECK-NEXT:              "file": "{{.*}}", +// CHECK-NEXT:              "line": 81 +// CHECK-NEXT:             } +// CHECK-NEXT:            }, +// CHECK-NEXT:            "type": { +// CHECK-NEXT:             "qualType": "int" +// CHECK-NEXT:            }, +// CHECK-NEXT:            "valueCategory": "rvalue", +// CHECK-NEXT:            "value": "4" +// CHECK-NEXT:           } +// CHECK-NEXT:          ] +// CHECK-NEXT:         } +// CHECK-NEXT:        ] +// CHECK-NEXT:       } +// CHECK-NEXT:      ] +// CHECK-NEXT:     }, +// CHECK-NEXT:     { +// CHECK-NEXT:      "id": "0x{{.*}}", +// CHECK-NEXT:      "kind": "ImplicitCastExpr", +// CHECK-NEXT:      "range": { +// CHECK-NEXT:       "begin": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 82 +// CHECK-NEXT:       }, +// CHECK-NEXT:       "end": { +// CHECK-NEXT:        "col": 15, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 82 +// CHECK-NEXT:       } +// CHECK-NEXT:      }, +// CHECK-NEXT:      "type": { +// CHECK-NEXT:       "desugaredQualType": "struct S", +// CHECK-NEXT:       "qualType": "struct S" +// CHECK-NEXT:      }, +// CHECK-NEXT:      "valueCategory": "rvalue", +// CHECK-NEXT:      "castKind": "LValueToRValue", +// CHECK-NEXT:      "inner": [ +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "CompoundLiteralExpr", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 82 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 15, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 82 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "desugaredQualType": "struct S", +// CHECK-NEXT:         "qualType": "struct S" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "lvalue", +// CHECK-NEXT:        "inner": [ +// CHECK-NEXT:         { +// CHECK-NEXT:          "id": "0x{{.*}}", +// CHECK-NEXT:          "kind": "InitListExpr", +// CHECK-NEXT:          "range": { +// CHECK-NEXT:           "begin": { +// CHECK-NEXT:            "col": 13, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 82 +// CHECK-NEXT:           }, +// CHECK-NEXT:           "end": { +// CHECK-NEXT:            "col": 15, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 82 +// CHECK-NEXT:           } +// CHECK-NEXT:          }, +// CHECK-NEXT:          "type": { +// CHECK-NEXT:           "desugaredQualType": "struct S", +// CHECK-NEXT:           "qualType": "struct S" +// CHECK-NEXT:          }, +// CHECK-NEXT:          "valueCategory": "rvalue", +// CHECK-NEXT:          "inner": [ +// CHECK-NEXT:           { +// CHECK-NEXT:            "id": "0x{{.*}}", +// CHECK-NEXT:            "kind": "IntegerLiteral", +// CHECK-NEXT:            "range": { +// CHECK-NEXT:             "begin": { +// CHECK-NEXT:              "col": 14, +// CHECK-NEXT:              "file": "{{.*}}", +// CHECK-NEXT:              "line": 82 +// CHECK-NEXT:             }, +// CHECK-NEXT:             "end": { +// CHECK-NEXT:              "col": 14, +// CHECK-NEXT:              "file": "{{.*}}", +// CHECK-NEXT:              "line": 82 +// CHECK-NEXT:             } +// CHECK-NEXT:            }, +// CHECK-NEXT:            "type": { +// CHECK-NEXT:             "qualType": "int" +// CHECK-NEXT:            }, +// CHECK-NEXT:            "valueCategory": "rvalue", +// CHECK-NEXT:            "value": "1" +// CHECK-NEXT:           } +// CHECK-NEXT:          ] +// CHECK-NEXT:         } +// CHECK-NEXT:        ] +// CHECK-NEXT:       } +// CHECK-NEXT:      ] +// CHECK-NEXT:     } +// CHECK-NEXT:    ] +// CHECK-NEXT:   } +// CHECK-NEXT:  ] +// CHECK-NEXT: } + + +// CHECK:  "kind": "FunctionDecl", +// CHECK-NEXT:  "loc": { +// CHECK-NEXT:   "col": 6, +// CHECK-NEXT:   "file": "{{.*}}", +// CHECK-NEXT:   "line": 87 +// CHECK-NEXT:  }, +// CHECK-NEXT:  "range": { +// CHECK-NEXT:   "begin": { +// CHECK-NEXT:    "col": 1, +// CHECK-NEXT:    "file": "{{.*}}", +// CHECK-NEXT:    "line": 87 +// CHECK-NEXT:   }, +// CHECK-NEXT:   "end": { +// CHECK-NEXT:    "col": 1, +// CHECK-NEXT:    "file": "{{.*}}", +// CHECK-NEXT:    "line": 106 +// CHECK-NEXT:   } +// CHECK-NEXT:  }, +// CHECK-NEXT:  "name": "PrimaryExpressions", +// CHECK-NEXT:  "type": { +// CHECK-NEXT:   "qualType": "void (int)" +// CHECK-NEXT:  }, +// CHECK-NEXT:  "inner": [ +// CHECK-NEXT:   { +// CHECK-NEXT:    "id": "0x{{.*}}", +// CHECK-NEXT:    "kind": "ParmVarDecl", +// CHECK-NEXT:    "loc": { +// CHECK-NEXT:     "col": 29, +// CHECK-NEXT:     "file": "{{.*}}", +// CHECK-NEXT:     "line": 87 +// CHECK-NEXT:    }, +// CHECK-NEXT:    "range": { +// CHECK-NEXT:     "begin": { +// CHECK-NEXT:      "col": 25, +// CHECK-NEXT:      "file": "{{.*}}", +// CHECK-NEXT:      "line": 87 +// CHECK-NEXT:     }, +// CHECK-NEXT:     "end": { +// CHECK-NEXT:      "col": 29, +// CHECK-NEXT:      "file": "{{.*}}", +// CHECK-NEXT:      "line": 87 +// CHECK-NEXT:     } +// CHECK-NEXT:    }, +// CHECK-NEXT:    "isUsed": true, +// CHECK-NEXT:    "name": "a", +// CHECK-NEXT:    "type": { +// CHECK-NEXT:     "qualType": "int" +// CHECK-NEXT:    } +// CHECK-NEXT:   }, +// CHECK-NEXT:   { +// CHECK-NEXT:    "id": "0x{{.*}}", +// CHECK-NEXT:    "kind": "CompoundStmt", +// CHECK-NEXT:    "range": { +// CHECK-NEXT:     "begin": { +// CHECK-NEXT:      "col": 32, +// CHECK-NEXT:      "file": "{{.*}}", +// CHECK-NEXT:      "line": 87 +// CHECK-NEXT:     }, +// CHECK-NEXT:     "end": { +// CHECK-NEXT:      "col": 1, +// CHECK-NEXT:      "file": "{{.*}}", +// CHECK-NEXT:      "line": 106 +// CHECK-NEXT:     } +// CHECK-NEXT:    }, +// CHECK-NEXT:    "inner": [ +// CHECK-NEXT:     { +// CHECK-NEXT:      "id": "0x{{.*}}", +// CHECK-NEXT:      "kind": "ImplicitCastExpr", +// CHECK-NEXT:      "range": { +// CHECK-NEXT:       "begin": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 88 +// CHECK-NEXT:       }, +// CHECK-NEXT:       "end": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 88 +// CHECK-NEXT:       } +// CHECK-NEXT:      }, +// CHECK-NEXT:      "type": { +// CHECK-NEXT:       "qualType": "int" +// CHECK-NEXT:      }, +// CHECK-NEXT:      "valueCategory": "rvalue", +// CHECK-NEXT:      "castKind": "LValueToRValue", +// CHECK-NEXT:      "inner": [ +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "DeclRefExpr", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 88 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 88 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "int" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "lvalue", +// CHECK-NEXT:        "referencedDecl": { +// CHECK-NEXT:         "id": "0x{{.*}}", +// CHECK-NEXT:         "kind": "ParmVarDecl", +// CHECK-NEXT:         "name": "a", +// CHECK-NEXT:         "type": { +// CHECK-NEXT:          "qualType": "int" +// CHECK-NEXT:         } +// CHECK-NEXT:        } +// CHECK-NEXT:       } +// CHECK-NEXT:      ] +// CHECK-NEXT:     }, +// CHECK-NEXT:     { +// CHECK-NEXT:      "id": "0x{{.*}}", +// CHECK-NEXT:      "kind": "CharacterLiteral", +// CHECK-NEXT:      "range": { +// CHECK-NEXT:       "begin": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 89 +// CHECK-NEXT:       }, +// CHECK-NEXT:       "end": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 89 +// CHECK-NEXT:       } +// CHECK-NEXT:      }, +// CHECK-NEXT:      "type": { +// CHECK-NEXT:       "qualType": "int" +// CHECK-NEXT:      }, +// CHECK-NEXT:      "valueCategory": "rvalue", +// CHECK-NEXT:      "value": 97 +// CHECK-NEXT:     }, +// CHECK-NEXT:     { +// CHECK-NEXT:      "id": "0x{{.*}}", +// CHECK-NEXT:      "kind": "CharacterLiteral", +// CHECK-NEXT:      "range": { +// CHECK-NEXT:       "begin": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 90 +// CHECK-NEXT:       }, +// CHECK-NEXT:       "end": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 90 +// CHECK-NEXT:       } +// CHECK-NEXT:      }, +// CHECK-NEXT:      "type": { +// CHECK-NEXT:       "qualType": "int" +// CHECK-NEXT:      }, +// CHECK-NEXT:      "valueCategory": "rvalue", +// CHECK-NEXT:      "value": 97 +// CHECK-NEXT:     }, +// CHECK-NEXT:     { +// CHECK-NEXT:      "id": "0x{{.*}}", +// CHECK-NEXT:      "kind": "ImplicitCastExpr", +// CHECK-NEXT:      "range": { +// CHECK-NEXT:       "begin": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 91 +// CHECK-NEXT:       }, +// CHECK-NEXT:       "end": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 91 +// CHECK-NEXT:       } +// CHECK-NEXT:      }, +// CHECK-NEXT:      "type": { +// CHECK-NEXT:       "qualType": "char *" +// CHECK-NEXT:      }, +// CHECK-NEXT:      "valueCategory": "rvalue", +// CHECK-NEXT:      "castKind": "ArrayToPointerDecay", +// CHECK-NEXT:      "inner": [ +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "StringLiteral", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 91 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 91 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "char [2]" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "lvalue", +// CHECK-NEXT:        "value": "\"a\"" +// CHECK-NEXT:       } +// CHECK-NEXT:      ] +// CHECK-NEXT:     }, +// CHECK-NEXT:     { +// CHECK-NEXT:      "id": "0x{{.*}}", +// CHECK-NEXT:      "kind": "ImplicitCastExpr", +// CHECK-NEXT:      "range": { +// CHECK-NEXT:       "begin": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 92 +// CHECK-NEXT:       }, +// CHECK-NEXT:       "end": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 92 +// CHECK-NEXT:       } +// CHECK-NEXT:      }, +// CHECK-NEXT:      "type": { +// CHECK-NEXT:       "qualType": "int *" +// CHECK-NEXT:      }, +// CHECK-NEXT:      "valueCategory": "rvalue", +// CHECK-NEXT:      "castKind": "ArrayToPointerDecay", +// CHECK-NEXT:      "inner": [ +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "StringLiteral", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 92 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 92 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "int [2]" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "lvalue", +// CHECK-NEXT:        "value": "L\"a\"" +// CHECK-NEXT:       } +// CHECK-NEXT:      ] +// CHECK-NEXT:     }, +// CHECK-NEXT:     { +// CHECK-NEXT:      "id": "0x{{.*}}", +// CHECK-NEXT:      "kind": "ImplicitCastExpr", +// CHECK-NEXT:      "range": { +// CHECK-NEXT:       "begin": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 93 +// CHECK-NEXT:       }, +// CHECK-NEXT:       "end": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 93 +// CHECK-NEXT:       } +// CHECK-NEXT:      }, +// CHECK-NEXT:      "type": { +// CHECK-NEXT:       "qualType": "char *" +// CHECK-NEXT:      }, +// CHECK-NEXT:      "valueCategory": "rvalue", +// CHECK-NEXT:      "castKind": "ArrayToPointerDecay", +// CHECK-NEXT:      "inner": [ +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "StringLiteral", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 93 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 93 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "char [2]" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "lvalue", +// CHECK-NEXT:        "value": "u8\"a\"" +// CHECK-NEXT:       } +// CHECK-NEXT:      ] +// CHECK-NEXT:     }, +// CHECK-NEXT:     { +// CHECK-NEXT:      "id": "0x{{.*}}", +// CHECK-NEXT:      "kind": "ImplicitCastExpr", +// CHECK-NEXT:      "range": { +// CHECK-NEXT:       "begin": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 94 +// CHECK-NEXT:       }, +// CHECK-NEXT:       "end": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 94 +// CHECK-NEXT:       } +// CHECK-NEXT:      }, +// CHECK-NEXT:      "type": { +// CHECK-NEXT:       "qualType": "unsigned int *" +// CHECK-NEXT:      }, +// CHECK-NEXT:      "valueCategory": "rvalue", +// CHECK-NEXT:      "castKind": "ArrayToPointerDecay", +// CHECK-NEXT:      "inner": [ +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "StringLiteral", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 94 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 94 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "unsigned int [2]" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "lvalue", +// CHECK-NEXT:        "value": "U\"a\"" +// CHECK-NEXT:       } +// CHECK-NEXT:      ] +// CHECK-NEXT:     }, +// CHECK-NEXT:     { +// CHECK-NEXT:      "id": "0x{{.*}}", +// CHECK-NEXT:      "kind": "ImplicitCastExpr", +// CHECK-NEXT:      "range": { +// CHECK-NEXT:       "begin": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 95 +// CHECK-NEXT:       }, +// CHECK-NEXT:       "end": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 95 +// CHECK-NEXT:       } +// CHECK-NEXT:      }, +// CHECK-NEXT:      "type": { +// CHECK-NEXT:       "qualType": "unsigned short *" +// CHECK-NEXT:      }, +// CHECK-NEXT:      "valueCategory": "rvalue", +// CHECK-NEXT:      "castKind": "ArrayToPointerDecay", +// CHECK-NEXT:      "inner": [ +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "StringLiteral", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 95 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 95 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "unsigned short [2]" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "lvalue", +// CHECK-NEXT:        "value": "u\"a\"" +// CHECK-NEXT:       } +// CHECK-NEXT:      ] +// CHECK-NEXT:     }, +// CHECK-NEXT:     { +// CHECK-NEXT:      "id": "0x{{.*}}", +// CHECK-NEXT:      "kind": "IntegerLiteral", +// CHECK-NEXT:      "range": { +// CHECK-NEXT:       "begin": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 97 +// CHECK-NEXT:       }, +// CHECK-NEXT:       "end": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 97 +// CHECK-NEXT:       } +// CHECK-NEXT:      }, +// CHECK-NEXT:      "type": { +// CHECK-NEXT:       "qualType": "int" +// CHECK-NEXT:      }, +// CHECK-NEXT:      "valueCategory": "rvalue", +// CHECK-NEXT:      "value": "1" +// CHECK-NEXT:     }, +// CHECK-NEXT:     { +// CHECK-NEXT:      "id": "0x{{.*}}", +// CHECK-NEXT:      "kind": "IntegerLiteral", +// CHECK-NEXT:      "range": { +// CHECK-NEXT:       "begin": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 98 +// CHECK-NEXT:       }, +// CHECK-NEXT:       "end": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 98 +// CHECK-NEXT:       } +// CHECK-NEXT:      }, +// CHECK-NEXT:      "type": { +// CHECK-NEXT:       "qualType": "unsigned int" +// CHECK-NEXT:      }, +// CHECK-NEXT:      "valueCategory": "rvalue", +// CHECK-NEXT:      "value": "1" +// CHECK-NEXT:     }, +// CHECK-NEXT:     { +// CHECK-NEXT:      "id": "0x{{.*}}", +// CHECK-NEXT:      "kind": "IntegerLiteral", +// CHECK-NEXT:      "range": { +// CHECK-NEXT:       "begin": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 99 +// CHECK-NEXT:       }, +// CHECK-NEXT:       "end": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 99 +// CHECK-NEXT:       } +// CHECK-NEXT:      }, +// CHECK-NEXT:      "type": { +// CHECK-NEXT:       "qualType": "long long" +// CHECK-NEXT:      }, +// CHECK-NEXT:      "valueCategory": "rvalue", +// CHECK-NEXT:      "value": "1" +// CHECK-NEXT:     }, +// CHECK-NEXT:     { +// CHECK-NEXT:      "id": "0x{{.*}}", +// CHECK-NEXT:      "kind": "FloatingLiteral", +// CHECK-NEXT:      "range": { +// CHECK-NEXT:       "begin": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 100 +// CHECK-NEXT:       }, +// CHECK-NEXT:       "end": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 100 +// CHECK-NEXT:       } +// CHECK-NEXT:      }, +// CHECK-NEXT:      "type": { +// CHECK-NEXT:       "qualType": "double" +// CHECK-NEXT:      }, +// CHECK-NEXT:      "valueCategory": "rvalue", +// CHECK-NEXT:      "value": 1 +// CHECK-NEXT:     }, +// CHECK-NEXT:     { +// CHECK-NEXT:      "id": "0x{{.*}}", +// CHECK-NEXT:      "kind": "FloatingLiteral", +// CHECK-NEXT:      "range": { +// CHECK-NEXT:       "begin": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 101 +// CHECK-NEXT:       }, +// CHECK-NEXT:       "end": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 101 +// CHECK-NEXT:       } +// CHECK-NEXT:      }, +// CHECK-NEXT:      "type": { +// CHECK-NEXT:       "qualType": "float" +// CHECK-NEXT:      }, +// CHECK-NEXT:      "valueCategory": "rvalue", +// CHECK-NEXT:      "value": 1 +// CHECK-NEXT:     }, +// CHECK-NEXT:     { +// CHECK-NEXT:      "id": "0x{{.*}}", +// CHECK-NEXT:      "kind": "FloatingLiteral", +// CHECK-NEXT:      "range": { +// CHECK-NEXT:       "begin": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 102 +// CHECK-NEXT:       }, +// CHECK-NEXT:       "end": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 102 +// CHECK-NEXT:       } +// CHECK-NEXT:      }, +// CHECK-NEXT:      "type": { +// CHECK-NEXT:       "qualType": "long double" +// CHECK-NEXT:      }, +// CHECK-NEXT:      "valueCategory": "rvalue", +// CHECK-NEXT:      "value": 1 +// CHECK-NEXT:     }, +// CHECK-NEXT:     { +// CHECK-NEXT:      "id": "0x{{.*}}", +// CHECK-NEXT:      "kind": "DeclRefExpr", +// CHECK-NEXT:      "range": { +// CHECK-NEXT:       "begin": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 103 +// CHECK-NEXT:       }, +// CHECK-NEXT:       "end": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 103 +// CHECK-NEXT:       } +// CHECK-NEXT:      }, +// CHECK-NEXT:      "type": { +// CHECK-NEXT:       "qualType": "int" +// CHECK-NEXT:      }, +// CHECK-NEXT:      "valueCategory": "rvalue", +// CHECK-NEXT:      "referencedDecl": { +// CHECK-NEXT:       "id": "0x{{.*}}", +// CHECK-NEXT:       "kind": "EnumConstantDecl", +// CHECK-NEXT:       "name": "One", +// CHECK-NEXT:       "type": { +// CHECK-NEXT:        "qualType": "int" +// CHECK-NEXT:       } +// CHECK-NEXT:      } +// CHECK-NEXT:     }, +// CHECK-NEXT:     { +// CHECK-NEXT:      "id": "0x{{.*}}", +// CHECK-NEXT:      "kind": "ImplicitCastExpr", +// CHECK-NEXT:      "range": { +// CHECK-NEXT:       "begin": { +// CHECK-NEXT:        "col": 3, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 105 +// CHECK-NEXT:       }, +// CHECK-NEXT:       "end": { +// CHECK-NEXT:        "col": 5, +// CHECK-NEXT:        "file": "{{.*}}", +// CHECK-NEXT:        "line": 105 +// CHECK-NEXT:       } +// CHECK-NEXT:      }, +// CHECK-NEXT:      "type": { +// CHECK-NEXT:       "qualType": "int" +// CHECK-NEXT:      }, +// CHECK-NEXT:      "valueCategory": "rvalue", +// CHECK-NEXT:      "castKind": "LValueToRValue", +// CHECK-NEXT:      "inner": [ +// CHECK-NEXT:       { +// CHECK-NEXT:        "id": "0x{{.*}}", +// CHECK-NEXT:        "kind": "ParenExpr", +// CHECK-NEXT:        "range": { +// CHECK-NEXT:         "begin": { +// CHECK-NEXT:          "col": 3, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 105 +// CHECK-NEXT:         }, +// CHECK-NEXT:         "end": { +// CHECK-NEXT:          "col": 5, +// CHECK-NEXT:          "file": "{{.*}}", +// CHECK-NEXT:          "line": 105 +// CHECK-NEXT:         } +// CHECK-NEXT:        }, +// CHECK-NEXT:        "type": { +// CHECK-NEXT:         "qualType": "int" +// CHECK-NEXT:        }, +// CHECK-NEXT:        "valueCategory": "lvalue", +// CHECK-NEXT:        "inner": [ +// CHECK-NEXT:         { +// CHECK-NEXT:          "id": "0x{{.*}}", +// CHECK-NEXT:          "kind": "DeclRefExpr", +// CHECK-NEXT:          "range": { +// CHECK-NEXT:           "begin": { +// CHECK-NEXT:            "col": 4, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 105 +// CHECK-NEXT:           }, +// CHECK-NEXT:           "end": { +// CHECK-NEXT:            "col": 4, +// CHECK-NEXT:            "file": "{{.*}}", +// CHECK-NEXT:            "line": 105 +// CHECK-NEXT:           } +// CHECK-NEXT:          }, +// CHECK-NEXT:          "type": { +// CHECK-NEXT:           "qualType": "int" +// CHECK-NEXT:          }, +// CHECK-NEXT:          "valueCategory": "lvalue", +// CHECK-NEXT:          "referencedDecl": { +// CHECK-NEXT:           "id": "0x{{.*}}", +// CHECK-NEXT:           "kind": "ParmVarDecl", +// CHECK-NEXT:           "name": "a", +// CHECK-NEXT:           "type": { +// CHECK-NEXT:            "qualType": "int" +// CHECK-NEXT:           } +// CHECK-NEXT:          } +// CHECK-NEXT:         } +// CHECK-NEXT:        ] +// CHECK-NEXT:       } +// CHECK-NEXT:      ] +// CHECK-NEXT:     } +// CHECK-NEXT:    ] +// CHECK-NEXT:   } +// CHECK-NEXT:  ] +// CHECK-NEXT: }  | 

