r364226 - Augment location information when dumping the AST to JSON.

Aaron Ballman via cfe-commits cfe-commits at lists.llvm.org
Mon Jun 24 13:07:11 PDT 2019


Modified: cfe/trunk/test/AST/ast-dump-stmt-json.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/AST/ast-dump-stmt-json.c?rev=364226&r1=364225&r2=364226&view=diff
==============================================================================
--- cfe/trunk/test/AST/ast-dump-stmt-json.c (original)
+++ cfe/trunk/test/AST/ast-dump-stmt-json.c Mon Jun 24 13:07:11 2019
@@ -139,20 +139,19 @@ void TestMiscStmts(void) {
 
 // CHECK:  "kind": "VarDecl",
 // CHECK-NEXT:  "loc": {
-// CHECK-NEXT:   "col": 5,
 // CHECK-NEXT:   "file": "{{.*}}",
-// CHECK-NEXT:   "line": 3
+// CHECK-NEXT:   "line": 3,
+// CHECK-NEXT:   "col": 5,
+// CHECK-NEXT:   "tokLen": 12
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "range": {
 // CHECK-NEXT:   "begin": {
 // CHECK-NEXT:    "col": 1,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 3
+// CHECK-NEXT:    "tokLen": 3
 // CHECK-NEXT:   },
 // CHECK-NEXT:   "end": {
 // CHECK-NEXT:    "col": 20,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 3
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   }
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "name": "TestLocation",
@@ -167,13 +166,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
 // CHECK-NEXT:      "col": 20,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 3
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
 // CHECK-NEXT:      "col": 20,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 3
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "type": {
@@ -188,20 +185,18 @@ void TestMiscStmts(void) {
 
 // CHECK:  "kind": "VarDecl",
 // CHECK-NEXT:  "loc": {
+// CHECK-NEXT:   "line": 4,
 // CHECK-NEXT:   "col": 5,
-// CHECK-NEXT:   "file": "{{.*}}",
-// CHECK-NEXT:   "line": 4
+// CHECK-NEXT:   "tokLen": 10
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "range": {
 // CHECK-NEXT:   "begin": {
 // CHECK-NEXT:    "col": 1,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 4
+// CHECK-NEXT:    "tokLen": 3
 // CHECK-NEXT:   },
 // CHECK-NEXT:   "end": {
 // CHECK-NEXT:    "col": 24,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 4
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   }
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "name": "TestIndent",
@@ -216,13 +211,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
 // CHECK-NEXT:      "col": 18,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 4
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
 // CHECK-NEXT:      "col": 24,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 4
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "type": {
@@ -237,13 +230,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 18,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 4
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 18,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 4
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -258,13 +249,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 22,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 4
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 24,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 4
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -278,13 +267,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 23,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 4
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 23,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 4
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -304,14 +291,14 @@ void TestMiscStmts(void) {
 // CHECK:  "kind": "CompoundStmt",
 // CHECK-NEXT:  "range": {
 // CHECK-NEXT:   "begin": {
+// CHECK-NEXT:    "line": 6,
 // CHECK-NEXT:    "col": 21,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 6
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   },
 // CHECK-NEXT:   "end": {
+// CHECK-NEXT:    "line": 9,
 // CHECK-NEXT:    "col": 1,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 9
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   }
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "inner": [
@@ -320,14 +307,13 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:    "kind": "DeclStmt",
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
+// CHECK-NEXT:      "line": 7,
 // CHECK-NEXT:      "col": 3,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 7
+// CHECK-NEXT:      "tokLen": 3
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
 // CHECK-NEXT:      "col": 12,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 7
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "inner": [
@@ -336,19 +322,16 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:      "kind": "VarDecl",
 // CHECK-NEXT:      "loc": {
 // CHECK-NEXT:       "col": 7,
-// CHECK-NEXT:       "file": "{{.*}}",
-// CHECK-NEXT:       "line": 7
+// CHECK-NEXT:       "tokLen": 1
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 3,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 7
+// CHECK-NEXT:        "tokLen": 3
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 11,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 7
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "name": "x",
@@ -363,13 +346,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 11,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 7
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 11,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 7
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -387,14 +368,13 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:    "kind": "DeclStmt",
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
+// CHECK-NEXT:      "line": 8,
 // CHECK-NEXT:      "col": 3,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 8
+// CHECK-NEXT:      "tokLen": 3
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
 // CHECK-NEXT:      "col": 11,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 8
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "inner": [
@@ -403,19 +383,16 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:      "kind": "VarDecl",
 // CHECK-NEXT:      "loc": {
 // CHECK-NEXT:       "col": 7,
-// CHECK-NEXT:       "file": "{{.*}}",
-// CHECK-NEXT:       "line": 8
+// CHECK-NEXT:       "tokLen": 1
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 3,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 8
+// CHECK-NEXT:        "tokLen": 3
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 7,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 8
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "name": "y",
@@ -428,19 +405,16 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:      "kind": "VarDecl",
 // CHECK-NEXT:      "loc": {
 // CHECK-NEXT:       "col": 10,
-// CHECK-NEXT:       "file": "{{.*}}",
-// CHECK-NEXT:       "line": 8
+// CHECK-NEXT:       "tokLen": 1
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 3,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 8
+// CHECK-NEXT:        "tokLen": 3
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 10,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 8
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "name": "z",
@@ -456,20 +430,18 @@ void TestMiscStmts(void) {
 
 // CHECK:  "kind": "VarDecl",
 // CHECK-NEXT:  "loc": {
+// CHECK-NEXT:   "line": 11,
 // CHECK-NEXT:   "col": 5,
-// CHECK-NEXT:   "file": "{{.*}}",
-// CHECK-NEXT:   "line": 11
+// CHECK-NEXT:   "tokLen": 19
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "range": {
 // CHECK-NEXT:   "begin": {
 // CHECK-NEXT:    "col": 1,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 11
+// CHECK-NEXT:    "tokLen": 3
 // CHECK-NEXT:   },
 // CHECK-NEXT:   "end": {
 // CHECK-NEXT:    "col": 32,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 11
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   }
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "name": "TestOpaqueValueExpr",
@@ -484,13 +456,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
 // CHECK-NEXT:      "col": 27,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 11
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
 // CHECK-NEXT:      "col": 32,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 11
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "type": {
@@ -504,13 +474,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 27,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 11
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 27,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 11
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -525,13 +493,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 27,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 11
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 27,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 11
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -545,13 +511,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 27,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 11
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 27,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 11
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -568,13 +532,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 27,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 11
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 27,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 11
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -588,13 +550,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 27,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 11
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 27,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 11
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -611,13 +571,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 32,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 11
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 32,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 11
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -635,14 +593,14 @@ void TestMiscStmts(void) {
 // CHECK:  "kind": "CompoundStmt",
 // CHECK-NEXT:  "range": {
 // CHECK-NEXT:   "begin": {
+// CHECK-NEXT:    "line": 13,
 // CHECK-NEXT:    "col": 34,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 13
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   },
 // CHECK-NEXT:   "end": {
+// CHECK-NEXT:    "line": 25,
 // CHECK-NEXT:    "col": 1,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 25
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   }
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "inner": [
@@ -651,14 +609,13 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:    "kind": "DeclStmt",
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
+// CHECK-NEXT:      "line": 14,
 // CHECK-NEXT:      "col": 3,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 14
+// CHECK-NEXT:      "tokLen": 4
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
 // CHECK-NEXT:      "col": 14,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 14
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "inner": [
@@ -667,19 +624,16 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:      "kind": "VarDecl",
 // CHECK-NEXT:      "loc": {
 // CHECK-NEXT:       "col": 8,
-// CHECK-NEXT:       "file": "{{.*}}",
-// CHECK-NEXT:       "line": 14
+// CHECK-NEXT:       "tokLen": 2
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 3,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 14
+// CHECK-NEXT:        "tokLen": 4
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 13,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 14
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "isUsed": true,
@@ -695,13 +649,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 13,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 14
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 13,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 14
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -716,13 +668,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 13,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 14
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 13,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 14
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "type": {
@@ -742,14 +692,13 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:    "kind": "DeclStmt",
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
+// CHECK-NEXT:      "line": 15,
 // CHECK-NEXT:      "col": 3,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 15
+// CHECK-NEXT:      "tokLen": 3
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
 // CHECK-NEXT:      "col": 13,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 15
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "inner": [
@@ -758,19 +707,16 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:      "kind": "VarDecl",
 // CHECK-NEXT:      "loc": {
 // CHECK-NEXT:       "col": 7,
-// CHECK-NEXT:       "file": "{{.*}}",
-// CHECK-NEXT:       "line": 15
+// CHECK-NEXT:       "tokLen": 2
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 3,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 15
+// CHECK-NEXT:        "tokLen": 3
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 12,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 15
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "isUsed": true,
@@ -786,13 +732,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 12,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 15
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 12,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 15
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -810,14 +754,13 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:    "kind": "UnaryOperator",
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
+// CHECK-NEXT:      "line": 17,
 // CHECK-NEXT:      "col": 3,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 17
+// CHECK-NEXT:      "tokLen": 2
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
 // CHECK-NEXT:      "col": 5,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 17
+// CHECK-NEXT:      "tokLen": 2
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "type": {
@@ -834,13 +777,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 3,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 17
+// CHECK-NEXT:        "tokLen": 2
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 3,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 17
+// CHECK-NEXT:        "tokLen": 2
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -863,14 +804,13 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:    "kind": "UnaryOperator",
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
+// CHECK-NEXT:      "line": 18,
 // CHECK-NEXT:      "col": 3,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 18
+// CHECK-NEXT:      "tokLen": 2
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
 // CHECK-NEXT:      "col": 5,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 18
+// CHECK-NEXT:      "tokLen": 2
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "type": {
@@ -886,13 +826,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 3,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 18
+// CHECK-NEXT:        "tokLen": 2
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 3,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 18
+// CHECK-NEXT:        "tokLen": 2
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -915,14 +853,13 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:    "kind": "UnaryOperator",
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
+// CHECK-NEXT:      "line": 20,
 // CHECK-NEXT:      "col": 3,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 20
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
 // CHECK-NEXT:      "col": 4,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 20
+// CHECK-NEXT:      "tokLen": 2
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "type": {
@@ -939,13 +876,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 4,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 20
+// CHECK-NEXT:        "tokLen": 2
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 4,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 20
+// CHECK-NEXT:        "tokLen": 2
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -960,13 +895,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 4,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 20
+// CHECK-NEXT:          "tokLen": 2
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 4,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 20
+// CHECK-NEXT:          "tokLen": 2
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -981,13 +914,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 4,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 20
+// CHECK-NEXT:            "tokLen": 2
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 4,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 20
+// CHECK-NEXT:            "tokLen": 2
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "type": {
@@ -1014,14 +945,13 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:    "kind": "UnaryOperator",
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
+// CHECK-NEXT:      "line": 21,
 // CHECK-NEXT:      "col": 3,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 21
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
 // CHECK-NEXT:      "col": 4,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 21
+// CHECK-NEXT:      "tokLen": 2
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "type": {
@@ -1037,13 +967,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 4,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 21
+// CHECK-NEXT:        "tokLen": 2
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 4,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 21
+// CHECK-NEXT:        "tokLen": 2
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -1058,13 +986,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 4,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 21
+// CHECK-NEXT:          "tokLen": 2
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 4,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 21
+// CHECK-NEXT:          "tokLen": 2
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -1089,14 +1015,13 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:    "kind": "UnaryOperator",
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
+// CHECK-NEXT:      "line": 23,
 // CHECK-NEXT:      "col": 3,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 23
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
 // CHECK-NEXT:      "col": 4,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 23
+// CHECK-NEXT:      "tokLen": 2
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "type": {
@@ -1113,13 +1038,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 4,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 23
+// CHECK-NEXT:        "tokLen": 2
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 4,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 23
+// CHECK-NEXT:        "tokLen": 2
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -1134,13 +1057,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 4,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 23
+// CHECK-NEXT:          "tokLen": 2
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 4,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 23
+// CHECK-NEXT:          "tokLen": 2
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -1155,13 +1076,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 4,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 23
+// CHECK-NEXT:            "tokLen": 2
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 4,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 23
+// CHECK-NEXT:            "tokLen": 2
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "type": {
@@ -1188,14 +1107,13 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:    "kind": "UnaryOperator",
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
+// CHECK-NEXT:      "line": 24,
 // CHECK-NEXT:      "col": 3,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 24
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
 // CHECK-NEXT:      "col": 4,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 24
+// CHECK-NEXT:      "tokLen": 2
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "type": {
@@ -1212,13 +1130,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 4,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 24
+// CHECK-NEXT:        "tokLen": 2
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 4,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 24
+// CHECK-NEXT:        "tokLen": 2
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -1233,13 +1149,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 4,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 24
+// CHECK-NEXT:          "tokLen": 2
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 4,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 24
+// CHECK-NEXT:          "tokLen": 2
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -1267,13 +1181,12 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:  "range": {
 // CHECK-NEXT:   "begin": {
 // CHECK-NEXT:    "col": 45,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 27
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   },
 // CHECK-NEXT:   "end": {
+// CHECK-NEXT:    "line": 34,
 // CHECK-NEXT:    "col": 1,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 34
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   }
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "inner": [
@@ -1282,14 +1195,13 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:    "kind": "GenericSelectionExpr",
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
+// CHECK-NEXT:      "line": 28,
 // CHECK-NEXT:      "col": 3,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 28
+// CHECK-NEXT:      "tokLen": 8
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
 // CHECK-NEXT:      "col": 23,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 28
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "type": {
@@ -1303,13 +1215,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 12,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 28
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 12,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 28
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -1324,13 +1234,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 12,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 28
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 12,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 28
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -1373,13 +1281,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 21,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 28
+// CHECK-NEXT:          "tokLen": 2
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 21,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 28
+// CHECK-NEXT:          "tokLen": 2
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -1397,14 +1303,13 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:    "kind": "GenericSelectionExpr",
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
+// CHECK-NEXT:      "line": 29,
 // CHECK-NEXT:      "col": 3,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 29
+// CHECK-NEXT:      "tokLen": 8
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
 // CHECK-NEXT:      "col": 36,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 29
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "type": {
@@ -1418,13 +1323,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 12,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 29
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 12,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 29
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -1439,13 +1342,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 12,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 29
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 12,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 29
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -1488,13 +1389,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 21,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 29
+// CHECK-NEXT:          "tokLen": 2
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 21,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 29
+// CHECK-NEXT:          "tokLen": 2
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -1514,13 +1413,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 35,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 29
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 35,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 29
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -1538,14 +1435,13 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:    "kind": "GenericSelectionExpr",
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
+// CHECK-NEXT:      "line": 30,
 // CHECK-NEXT:      "col": 3,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 30
+// CHECK-NEXT:      "tokLen": 8
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
 // CHECK-NEXT:      "col": 36,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 30
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "type": {
@@ -1559,13 +1455,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 12,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 30
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 12,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 30
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -1580,13 +1474,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 12,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 30
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 12,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 30
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -1621,13 +1513,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 25,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 30
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 25,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 30
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -1655,13 +1545,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 34,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 30
+// CHECK-NEXT:          "tokLen": 2
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 34,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 30
+// CHECK-NEXT:          "tokLen": 2
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -1679,14 +1567,13 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:    "kind": "GenericSelectionExpr",
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
+// CHECK-NEXT:      "line": 31,
 // CHECK-NEXT:      "col": 3,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 31
+// CHECK-NEXT:      "tokLen": 8
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
 // CHECK-NEXT:      "col": 50,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 31
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "type": {
@@ -1700,13 +1587,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 12,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 31
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 12,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 31
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -1721,13 +1606,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 12,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 31
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 12,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 31
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -1770,13 +1653,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 21,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 31
+// CHECK-NEXT:          "tokLen": 2
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 21,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 31
+// CHECK-NEXT:          "tokLen": 2
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -1803,13 +1684,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 33,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 31
+// CHECK-NEXT:          "tokLen": 2
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 33,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 31
+// CHECK-NEXT:          "tokLen": 2
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -1829,13 +1708,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 47,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 31
+// CHECK-NEXT:          "tokLen": 3
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 47,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 31
+// CHECK-NEXT:          "tokLen": 3
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -1853,14 +1730,13 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:    "kind": "DeclStmt",
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
+// CHECK-NEXT:      "line": 33,
 // CHECK-NEXT:      "col": 3,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 33
+// CHECK-NEXT:      "tokLen": 3
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
 // CHECK-NEXT:      "col": 32,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 33
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "inner": [
@@ -1869,19 +1745,16 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:      "kind": "VarDecl",
 // CHECK-NEXT:      "loc": {
 // CHECK-NEXT:       "col": 7,
-// CHECK-NEXT:       "file": "{{.*}}",
-// CHECK-NEXT:       "line": 33
+// CHECK-NEXT:       "tokLen": 1
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 3,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 33
+// CHECK-NEXT:        "tokLen": 3
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 31,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 33
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "name": "j",
@@ -1896,13 +1769,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 11,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 33
+// CHECK-NEXT:          "tokLen": 8
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 31,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 33
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -1916,13 +1787,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 20,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 33
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 20,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 33
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "type": {
@@ -1937,13 +1806,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:            "range": {
 // CHECK-NEXT:             "begin": {
 // CHECK-NEXT:              "col": 20,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 33
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             },
 // CHECK-NEXT:             "end": {
 // CHECK-NEXT:              "col": 20,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 33
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             }
 // CHECK-NEXT:            },
 // CHECK-NEXT:            "type": {
@@ -1986,13 +1853,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:            "range": {
 // CHECK-NEXT:             "begin": {
 // CHECK-NEXT:              "col": 29,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 33
+// CHECK-NEXT:              "tokLen": 2
 // CHECK-NEXT:             },
 // CHECK-NEXT:             "end": {
 // CHECK-NEXT:              "col": 29,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 33
+// CHECK-NEXT:              "tokLen": 2
 // CHECK-NEXT:             }
 // CHECK-NEXT:            },
 // CHECK-NEXT:            "type": {
@@ -2016,14 +1881,14 @@ void TestMiscStmts(void) {
 // CHECK:  "kind": "CompoundStmt",
 // CHECK-NEXT:  "range": {
 // CHECK-NEXT:   "begin": {
+// CHECK-NEXT:    "line": 36,
 // CHECK-NEXT:    "col": 30,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 36
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   },
 // CHECK-NEXT:   "end": {
+// CHECK-NEXT:    "line": 50,
 // CHECK-NEXT:    "col": 1,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 50
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   }
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "inner": [
@@ -2032,14 +1897,14 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:    "kind": "LabelStmt",
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
+// CHECK-NEXT:      "line": 39,
 // CHECK-NEXT:      "col": 1,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 39
+// CHECK-NEXT:      "tokLen": 6
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
+// CHECK-NEXT:      "line": 40,
 // CHECK-NEXT:      "col": 3,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 40
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "name": "label1",
@@ -2051,13 +1916,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 3,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 40
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 3,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 40
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      }
 // CHECK-NEXT:     }
@@ -2068,14 +1931,13 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:    "kind": "GotoStmt",
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
+// CHECK-NEXT:      "line": 42,
 // CHECK-NEXT:      "col": 3,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 42
+// CHECK-NEXT:      "tokLen": 4
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
 // CHECK-NEXT:      "col": 8,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 42
+// CHECK-NEXT:      "tokLen": 6
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "targetLabelDeclId": "0x{{.*}}"
@@ -2085,14 +1947,14 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:    "kind": "LabelStmt",
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
+// CHECK-NEXT:      "line": 44,
 // CHECK-NEXT:      "col": 1,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 44
+// CHECK-NEXT:      "tokLen": 6
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
+// CHECK-NEXT:      "line": 45,
 // CHECK-NEXT:      "col": 3,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 45
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "name": "label2",
@@ -2104,13 +1966,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 3,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 45
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 3,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 45
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -2126,14 +1986,13 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:    "kind": "DeclStmt",
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
+// CHECK-NEXT:      "line": 47,
 // CHECK-NEXT:      "col": 3,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 47
+// CHECK-NEXT:      "tokLen": 4
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
 // CHECK-NEXT:      "col": 23,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 47
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "inner": [
@@ -2142,19 +2001,16 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:      "kind": "VarDecl",
 // CHECK-NEXT:      "loc": {
 // CHECK-NEXT:       "col": 9,
-// CHECK-NEXT:       "file": "{{.*}}",
-// CHECK-NEXT:       "line": 47
+// CHECK-NEXT:       "tokLen": 3
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 3,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 47
+// CHECK-NEXT:        "tokLen": 4
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 17,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 47
+// CHECK-NEXT:        "tokLen": 6
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "isUsed": true,
@@ -2170,13 +2026,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 15,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 47
+// CHECK-NEXT:          "tokLen": 2
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 17,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 47
+// CHECK-NEXT:          "tokLen": 6
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -2195,14 +2049,13 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:    "kind": "IndirectGotoStmt",
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
+// CHECK-NEXT:      "line": 49,
 // CHECK-NEXT:      "col": 3,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 49
+// CHECK-NEXT:      "tokLen": 4
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
 // CHECK-NEXT:      "col": 9,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 49
+// CHECK-NEXT:      "tokLen": 3
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "inner": [
@@ -2212,13 +2065,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 9,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 49
+// CHECK-NEXT:        "tokLen": 3
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 9,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 49
+// CHECK-NEXT:        "tokLen": 3
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -2233,13 +2084,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 9,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 49
+// CHECK-NEXT:          "tokLen": 3
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 9,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 49
+// CHECK-NEXT:          "tokLen": 3
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -2254,13 +2103,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 9,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 49
+// CHECK-NEXT:            "tokLen": 3
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 9,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 49
+// CHECK-NEXT:            "tokLen": 3
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "type": {
@@ -2290,13 +2137,12 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:  "range": {
 // CHECK-NEXT:   "begin": {
 // CHECK-NEXT:    "col": 24,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 52
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   },
 // CHECK-NEXT:   "end": {
+// CHECK-NEXT:    "line": 64,
 // CHECK-NEXT:    "col": 1,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 64
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   }
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "inner": [
@@ -2305,14 +2151,14 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:    "kind": "SwitchStmt",
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
+// CHECK-NEXT:      "line": 53,
 // CHECK-NEXT:      "col": 3,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 53
+// CHECK-NEXT:      "tokLen": 6
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
+// CHECK-NEXT:      "line": 63,
 // CHECK-NEXT:      "col": 3,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 63
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "inner": [
@@ -2321,14 +2167,13 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:      "kind": "ImplicitCastExpr",
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
+// CHECK-NEXT:        "line": 53,
 // CHECK-NEXT:        "col": 11,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 53
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 11,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 53
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -2343,13 +2188,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 11,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 53
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 11,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 53
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -2373,13 +2216,12 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 14,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 53
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
+// CHECK-NEXT:        "line": 63,
 // CHECK-NEXT:        "col": 3,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 63
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "inner": [
@@ -2388,14 +2230,14 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:        "kind": "CaseStmt",
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
+// CHECK-NEXT:          "line": 54,
 // CHECK-NEXT:          "col": 3,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 54
+// CHECK-NEXT:          "tokLen": 4
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
+// CHECK-NEXT:          "line": 55,
 // CHECK-NEXT:          "col": 5,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 55
+// CHECK-NEXT:          "tokLen": 5
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "inner": [
@@ -2404,14 +2246,13 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:          "kind": "ConstantExpr",
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
+// CHECK-NEXT:            "line": 54,
 // CHECK-NEXT:            "col": 8,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 54
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 8,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 54
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "type": {
@@ -2425,13 +2266,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:            "range": {
 // CHECK-NEXT:             "begin": {
 // CHECK-NEXT:              "col": 8,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 54
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             },
 // CHECK-NEXT:             "end": {
 // CHECK-NEXT:              "col": 8,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 54
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             }
 // CHECK-NEXT:            },
 // CHECK-NEXT:            "type": {
@@ -2447,14 +2286,13 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:          "kind": "BreakStmt",
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
+// CHECK-NEXT:            "line": 55,
 // CHECK-NEXT:            "col": 5,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 55
+// CHECK-NEXT:            "tokLen": 5
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 5,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 55
+// CHECK-NEXT:            "tokLen": 5
 // CHECK-NEXT:           }
 // CHECK-NEXT:          }
 // CHECK-NEXT:         }
@@ -2465,14 +2303,14 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:        "kind": "CaseStmt",
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
+// CHECK-NEXT:          "line": 56,
 // CHECK-NEXT:          "col": 3,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 56
+// CHECK-NEXT:          "tokLen": 4
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
+// CHECK-NEXT:          "line": 58,
 // CHECK-NEXT:          "col": 5,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 58
+// CHECK-NEXT:          "tokLen": 5
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "inner": [
@@ -2481,14 +2319,13 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:          "kind": "ConstantExpr",
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
+// CHECK-NEXT:            "line": 56,
 // CHECK-NEXT:            "col": 8,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 56
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 8,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 56
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "type": {
@@ -2502,13 +2339,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:            "range": {
 // CHECK-NEXT:             "begin": {
 // CHECK-NEXT:              "col": 8,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 56
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             },
 // CHECK-NEXT:             "end": {
 // CHECK-NEXT:              "col": 8,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 56
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             }
 // CHECK-NEXT:            },
 // CHECK-NEXT:            "type": {
@@ -2524,14 +2359,14 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:          "kind": "CaseStmt",
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
+// CHECK-NEXT:            "line": 57,
 // CHECK-NEXT:            "col": 3,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 57
+// CHECK-NEXT:            "tokLen": 4
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
+// CHECK-NEXT:            "line": 58,
 // CHECK-NEXT:            "col": 5,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 58
+// CHECK-NEXT:            "tokLen": 5
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "inner": [
@@ -2540,14 +2375,13 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:            "kind": "ConstantExpr",
 // CHECK-NEXT:            "range": {
 // CHECK-NEXT:             "begin": {
+// CHECK-NEXT:              "line": 57,
 // CHECK-NEXT:              "col": 8,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 57
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             },
 // CHECK-NEXT:             "end": {
 // CHECK-NEXT:              "col": 8,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 57
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             }
 // CHECK-NEXT:            },
 // CHECK-NEXT:            "type": {
@@ -2561,13 +2395,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:              "range": {
 // CHECK-NEXT:               "begin": {
 // CHECK-NEXT:                "col": 8,
-// CHECK-NEXT:                "file": "{{.*}}",
-// CHECK-NEXT:                "line": 57
+// CHECK-NEXT:                "tokLen": 1
 // CHECK-NEXT:               },
 // CHECK-NEXT:               "end": {
 // CHECK-NEXT:                "col": 8,
-// CHECK-NEXT:                "file": "{{.*}}",
-// CHECK-NEXT:                "line": 57
+// CHECK-NEXT:                "tokLen": 1
 // CHECK-NEXT:               }
 // CHECK-NEXT:              },
 // CHECK-NEXT:              "type": {
@@ -2583,14 +2415,13 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:            "kind": "BreakStmt",
 // CHECK-NEXT:            "range": {
 // CHECK-NEXT:             "begin": {
+// CHECK-NEXT:              "line": 58,
 // CHECK-NEXT:              "col": 5,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 58
+// CHECK-NEXT:              "tokLen": 5
 // CHECK-NEXT:             },
 // CHECK-NEXT:             "end": {
 // CHECK-NEXT:              "col": 5,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 58
+// CHECK-NEXT:              "tokLen": 5
 // CHECK-NEXT:             }
 // CHECK-NEXT:            }
 // CHECK-NEXT:           }
@@ -2603,14 +2434,14 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:        "kind": "DefaultStmt",
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
+// CHECK-NEXT:          "line": 59,
 // CHECK-NEXT:          "col": 3,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 59
+// CHECK-NEXT:          "tokLen": 7
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
+// CHECK-NEXT:          "line": 60,
 // CHECK-NEXT:          "col": 5,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 60
+// CHECK-NEXT:          "tokLen": 5
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "inner": [
@@ -2620,13 +2451,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 5,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 60
+// CHECK-NEXT:            "tokLen": 5
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 5,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 60
+// CHECK-NEXT:            "tokLen": 5
 // CHECK-NEXT:           }
 // CHECK-NEXT:          }
 // CHECK-NEXT:         }
@@ -2637,14 +2466,14 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:        "kind": "CaseStmt",
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
+// CHECK-NEXT:          "line": 61,
 // CHECK-NEXT:          "col": 3,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 61
+// CHECK-NEXT:          "tokLen": 4
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
+// CHECK-NEXT:          "line": 62,
 // CHECK-NEXT:          "col": 5,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 62
+// CHECK-NEXT:          "tokLen": 5
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "isGNURange": true,
@@ -2654,14 +2483,13 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:          "kind": "ConstantExpr",
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
+// CHECK-NEXT:            "line": 61,
 // CHECK-NEXT:            "col": 8,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 61
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 8,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 61
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "type": {
@@ -2675,13 +2503,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:            "range": {
 // CHECK-NEXT:             "begin": {
 // CHECK-NEXT:              "col": 8,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 61
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             },
 // CHECK-NEXT:             "end": {
 // CHECK-NEXT:              "col": 8,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 61
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             }
 // CHECK-NEXT:            },
 // CHECK-NEXT:            "type": {
@@ -2698,13 +2524,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 14,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 61
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 14,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 61
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "type": {
@@ -2718,13 +2542,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:            "range": {
 // CHECK-NEXT:             "begin": {
 // CHECK-NEXT:              "col": 14,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 61
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             },
 // CHECK-NEXT:             "end": {
 // CHECK-NEXT:              "col": 14,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 61
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             }
 // CHECK-NEXT:            },
 // CHECK-NEXT:            "type": {
@@ -2740,14 +2562,13 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:          "kind": "BreakStmt",
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
+// CHECK-NEXT:            "line": 62,
 // CHECK-NEXT:            "col": 5,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 62
+// CHECK-NEXT:            "tokLen": 5
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 5,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 62
+// CHECK-NEXT:            "tokLen": 5
 // CHECK-NEXT:           }
 // CHECK-NEXT:          }
 // CHECK-NEXT:         }
@@ -2765,13 +2586,12 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:  "range": {
 // CHECK-NEXT:   "begin": {
 // CHECK-NEXT:    "col": 22,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 66
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   },
 // CHECK-NEXT:   "end": {
+// CHECK-NEXT:    "line": 91,
 // CHECK-NEXT:    "col": 1,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 91
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   }
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "inner": [
@@ -2780,14 +2600,14 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:    "kind": "IfStmt",
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
+// CHECK-NEXT:      "line": 67,
 // CHECK-NEXT:      "col": 3,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 67
+// CHECK-NEXT:      "tokLen": 2
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
+// CHECK-NEXT:      "line": 68,
 // CHECK-NEXT:      "col": 5,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 68
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "inner": [
@@ -2796,14 +2616,13 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:      "kind": "ImplicitCastExpr",
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
+// CHECK-NEXT:        "line": 67,
 // CHECK-NEXT:        "col": 7,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 67
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 7,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 67
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -2818,13 +2637,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 7,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 67
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 7,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 67
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -2847,14 +2664,13 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:      "kind": "NullStmt",
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
+// CHECK-NEXT:        "line": 68,
 // CHECK-NEXT:        "col": 5,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 68
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 5,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 68
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      }
 // CHECK-NEXT:     }
@@ -2865,14 +2681,13 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:    "kind": "IfStmt",
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
+// CHECK-NEXT:      "line": 70,
 // CHECK-NEXT:      "col": 3,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 70
+// CHECK-NEXT:      "tokLen": 2
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
 // CHECK-NEXT:      "col": 11,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 70
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "inner": [
@@ -2882,13 +2697,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 7,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 70
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 7,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 70
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -2903,13 +2716,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 7,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 70
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 7,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 70
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -2933,13 +2744,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 10,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 70
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 11,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 70
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      }
 // CHECK-NEXT:     }
@@ -2950,14 +2759,14 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:    "kind": "IfStmt",
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
+// CHECK-NEXT:      "line": 72,
 // CHECK-NEXT:      "col": 3,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 72
+// CHECK-NEXT:      "tokLen": 2
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
+// CHECK-NEXT:      "line": 75,
 // CHECK-NEXT:      "col": 5,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 75
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "hasElse": true,
@@ -2967,14 +2776,13 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:      "kind": "ImplicitCastExpr",
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
+// CHECK-NEXT:        "line": 72,
 // CHECK-NEXT:        "col": 7,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 72
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 7,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 72
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -2989,13 +2797,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 7,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 72
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 7,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 72
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -3018,14 +2824,13 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:      "kind": "NullStmt",
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
+// CHECK-NEXT:        "line": 73,
 // CHECK-NEXT:        "col": 5,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 73
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 5,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 73
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      }
 // CHECK-NEXT:     },
@@ -3034,14 +2839,13 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:      "kind": "NullStmt",
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
+// CHECK-NEXT:        "line": 75,
 // CHECK-NEXT:        "col": 5,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 75
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 5,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 75
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      }
 // CHECK-NEXT:     }
@@ -3052,14 +2856,14 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:    "kind": "IfStmt",
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
+// CHECK-NEXT:      "line": 77,
 // CHECK-NEXT:      "col": 3,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 77
+// CHECK-NEXT:      "tokLen": 2
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
+// CHECK-NEXT:      "line": 78,
 // CHECK-NEXT:      "col": 9,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 78
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "hasElse": true,
@@ -3069,14 +2873,13 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:      "kind": "ImplicitCastExpr",
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
+// CHECK-NEXT:        "line": 77,
 // CHECK-NEXT:        "col": 7,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 77
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 7,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 77
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -3091,13 +2894,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 7,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 77
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 7,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 77
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -3121,13 +2922,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 10,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 77
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 11,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 77
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      }
 // CHECK-NEXT:     },
@@ -3136,14 +2935,13 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:      "kind": "CompoundStmt",
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
+// CHECK-NEXT:        "line": 78,
 // CHECK-NEXT:        "col": 8,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 78
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 9,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 78
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      }
 // CHECK-NEXT:     }
@@ -3154,14 +2952,14 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:    "kind": "IfStmt",
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
+// CHECK-NEXT:      "line": 80,
 // CHECK-NEXT:      "col": 3,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 80
+// CHECK-NEXT:      "tokLen": 2
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
+// CHECK-NEXT:      "line": 83,
 // CHECK-NEXT:      "col": 5,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 83
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "hasElse": true,
@@ -3171,14 +2969,13 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:      "kind": "ImplicitCastExpr",
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
+// CHECK-NEXT:        "line": 80,
 // CHECK-NEXT:        "col": 7,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 80
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 7,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 80
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -3193,13 +2990,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 7,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 80
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 7,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 80
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -3222,14 +3017,13 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:      "kind": "NullStmt",
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
+// CHECK-NEXT:        "line": 81,
 // CHECK-NEXT:        "col": 5,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 81
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 5,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 81
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      }
 // CHECK-NEXT:     },
@@ -3238,14 +3032,14 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:      "kind": "IfStmt",
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
+// CHECK-NEXT:        "line": 82,
 // CHECK-NEXT:        "col": 8,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 82
+// CHECK-NEXT:        "tokLen": 2
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
+// CHECK-NEXT:        "line": 83,
 // CHECK-NEXT:        "col": 5,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 83
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "inner": [
@@ -3254,14 +3048,13 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:        "kind": "ImplicitCastExpr",
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
+// CHECK-NEXT:          "line": 82,
 // CHECK-NEXT:          "col": 12,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 82
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 12,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 82
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -3276,13 +3069,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 12,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 82
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 12,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 82
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "type": {
@@ -3305,14 +3096,13 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:        "kind": "NullStmt",
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
+// CHECK-NEXT:          "line": 83,
 // CHECK-NEXT:          "col": 5,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 83
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 5,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 83
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        }
 // CHECK-NEXT:       }
@@ -3325,14 +3115,14 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:    "kind": "IfStmt",
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
+// CHECK-NEXT:      "line": 85,
 // CHECK-NEXT:      "col": 3,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 85
+// CHECK-NEXT:      "tokLen": 2
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
+// CHECK-NEXT:      "line": 90,
 // CHECK-NEXT:      "col": 5,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 90
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "hasElse": true,
@@ -3342,14 +3132,13 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:      "kind": "ImplicitCastExpr",
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
+// CHECK-NEXT:        "line": 85,
 // CHECK-NEXT:        "col": 7,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 85
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 7,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 85
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -3364,13 +3153,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 7,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 85
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 7,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 85
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -3393,14 +3180,13 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:      "kind": "NullStmt",
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
+// CHECK-NEXT:        "line": 86,
 // CHECK-NEXT:        "col": 5,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 86
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 5,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 86
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      }
 // CHECK-NEXT:     },
@@ -3409,14 +3195,14 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:      "kind": "IfStmt",
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
+// CHECK-NEXT:        "line": 87,
 // CHECK-NEXT:        "col": 8,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 87
+// CHECK-NEXT:        "tokLen": 2
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
+// CHECK-NEXT:        "line": 90,
 // CHECK-NEXT:        "col": 5,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 90
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "hasElse": true,
@@ -3426,14 +3212,13 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:        "kind": "ImplicitCastExpr",
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
+// CHECK-NEXT:          "line": 87,
 // CHECK-NEXT:          "col": 12,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 87
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 12,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 87
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -3448,13 +3233,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 12,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 87
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 12,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 87
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "type": {
@@ -3477,14 +3260,13 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:        "kind": "NullStmt",
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
+// CHECK-NEXT:          "line": 88,
 // CHECK-NEXT:          "col": 5,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 88
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 5,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 88
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        }
 // CHECK-NEXT:       },
@@ -3493,14 +3275,13 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:        "kind": "NullStmt",
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
+// CHECK-NEXT:          "line": 90,
 // CHECK-NEXT:          "col": 5,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 90
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 5,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 90
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        }
 // CHECK-NEXT:       }
@@ -3516,13 +3297,12 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:  "range": {
 // CHECK-NEXT:   "begin": {
 // CHECK-NEXT:    "col": 29,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 93
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   },
 // CHECK-NEXT:   "end": {
+// CHECK-NEXT:    "line": 118,
 // CHECK-NEXT:    "col": 1,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 118
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   }
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "inner": [
@@ -3531,14 +3311,14 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:    "kind": "WhileStmt",
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
+// CHECK-NEXT:      "line": 94,
 // CHECK-NEXT:      "col": 3,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 94
+// CHECK-NEXT:      "tokLen": 5
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
+// CHECK-NEXT:      "line": 95,
 // CHECK-NEXT:      "col": 5,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 95
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "inner": [
@@ -3547,14 +3327,13 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:      "kind": "ImplicitCastExpr",
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
+// CHECK-NEXT:        "line": 94,
 // CHECK-NEXT:        "col": 10,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 94
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 10,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 94
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -3569,13 +3348,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 10,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 94
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 10,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 94
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -3598,14 +3375,13 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:      "kind": "NullStmt",
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
+// CHECK-NEXT:        "line": 95,
 // CHECK-NEXT:        "col": 5,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 95
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 5,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 95
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      }
 // CHECK-NEXT:     }
@@ -3616,14 +3392,14 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:    "kind": "DoStmt",
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
+// CHECK-NEXT:      "line": 97,
 // CHECK-NEXT:      "col": 3,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 97
+// CHECK-NEXT:      "tokLen": 2
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
+// CHECK-NEXT:      "line": 99,
 // CHECK-NEXT:      "col": 11,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 99
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "inner": [
@@ -3632,14 +3408,13 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:      "kind": "NullStmt",
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
+// CHECK-NEXT:        "line": 98,
 // CHECK-NEXT:        "col": 5,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 98
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 5,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 98
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      }
 // CHECK-NEXT:     },
@@ -3648,14 +3423,13 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:      "kind": "ImplicitCastExpr",
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
+// CHECK-NEXT:        "line": 99,
 // CHECK-NEXT:        "col": 10,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 99
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 10,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 99
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -3670,13 +3444,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 10,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 99
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 10,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 99
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -3701,14 +3473,14 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:    "kind": "ForStmt",
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
+// CHECK-NEXT:      "line": 101,
 // CHECK-NEXT:      "col": 3,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 101
+// CHECK-NEXT:      "tokLen": 3
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
+// CHECK-NEXT:      "line": 102,
 // CHECK-NEXT:      "col": 5,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 102
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "inner": [
@@ -3717,14 +3489,13 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:      "kind": "DeclStmt",
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
+// CHECK-NEXT:        "line": 101,
 // CHECK-NEXT:        "col": 8,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 101
+// CHECK-NEXT:        "tokLen": 3
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 17,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 101
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "inner": [
@@ -3733,19 +3504,16 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:        "kind": "VarDecl",
 // CHECK-NEXT:        "loc": {
 // CHECK-NEXT:         "col": 12,
-// CHECK-NEXT:         "file": "{{.*}}",
-// CHECK-NEXT:         "line": 101
+// CHECK-NEXT:         "tokLen": 1
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 8,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 101
+// CHECK-NEXT:          "tokLen": 3
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 16,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 101
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "isUsed": true,
@@ -3761,13 +3529,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 16,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 101
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 16,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 101
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "type": {
@@ -3787,13 +3553,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 19,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 101
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 23,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 101
+// CHECK-NEXT:        "tokLen": 2
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -3808,13 +3572,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 19,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 101
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 19,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 101
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -3829,13 +3591,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 19,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 101
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 19,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 101
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "type": {
@@ -3859,13 +3619,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 23,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 101
+// CHECK-NEXT:          "tokLen": 2
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 23,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 101
+// CHECK-NEXT:          "tokLen": 2
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -3882,13 +3640,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 27,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 101
+// CHECK-NEXT:        "tokLen": 2
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 29,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 101
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -3904,13 +3660,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 29,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 101
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 29,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 101
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -3933,14 +3687,13 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:      "kind": "NullStmt",
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
+// CHECK-NEXT:        "line": 102,
 // CHECK-NEXT:        "col": 5,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 102
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 5,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 102
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      }
 // CHECK-NEXT:     }
@@ -3951,14 +3704,14 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:    "kind": "ForStmt",
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
+// CHECK-NEXT:      "line": 104,
 // CHECK-NEXT:      "col": 3,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 104
+// CHECK-NEXT:      "tokLen": 3
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
+// CHECK-NEXT:      "line": 105,
 // CHECK-NEXT:      "col": 5,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 105
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "inner": [
@@ -3967,14 +3720,13 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:      "kind": "ImplicitCastExpr",
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
+// CHECK-NEXT:        "line": 104,
 // CHECK-NEXT:        "col": 8,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 104
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 8,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 104
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -3989,13 +3741,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 8,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 104
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 8,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 104
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -4020,13 +3770,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 11,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 104
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 11,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 104
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -4041,13 +3789,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 11,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 104
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 11,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 104
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -4071,13 +3817,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 14,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 104
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 14,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 104
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -4092,13 +3836,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 14,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 104
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 14,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 104
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -4121,14 +3863,13 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:      "kind": "NullStmt",
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
+// CHECK-NEXT:        "line": 105,
 // CHECK-NEXT:        "col": 5,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 105
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 5,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 105
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      }
 // CHECK-NEXT:     }
@@ -4139,14 +3880,14 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:    "kind": "ForStmt",
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
+// CHECK-NEXT:      "line": 107,
 // CHECK-NEXT:      "col": 3,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 107
+// CHECK-NEXT:      "tokLen": 3
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
+// CHECK-NEXT:      "line": 108,
 // CHECK-NEXT:      "col": 5,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 108
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "inner": [
@@ -4157,14 +3898,13 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:      "kind": "ImplicitCastExpr",
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
+// CHECK-NEXT:        "line": 107,
 // CHECK-NEXT:        "col": 10,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 107
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 10,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 107
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -4179,13 +3919,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 10,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 107
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 10,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 107
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -4209,13 +3947,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 13,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 107
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 18,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 107
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -4230,13 +3966,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 13,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 107
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 13,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 107
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -4258,13 +3992,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 17,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 107
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 18,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 107
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -4279,13 +4011,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 17,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 107
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 18,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 107
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "type": {
@@ -4302,13 +4032,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:            "range": {
 // CHECK-NEXT:             "begin": {
 // CHECK-NEXT:              "col": 18,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 107
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             },
 // CHECK-NEXT:             "end": {
 // CHECK-NEXT:              "col": 18,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 107
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             }
 // CHECK-NEXT:            },
 // CHECK-NEXT:            "type": {
@@ -4323,13 +4051,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:              "range": {
 // CHECK-NEXT:               "begin": {
 // CHECK-NEXT:                "col": 18,
-// CHECK-NEXT:                "file": "{{.*}}",
-// CHECK-NEXT:                "line": 107
+// CHECK-NEXT:                "tokLen": 1
 // CHECK-NEXT:               },
 // CHECK-NEXT:               "end": {
 // CHECK-NEXT:                "col": 18,
-// CHECK-NEXT:                "file": "{{.*}}",
-// CHECK-NEXT:                "line": 107
+// CHECK-NEXT:                "tokLen": 1
 // CHECK-NEXT:               }
 // CHECK-NEXT:              },
 // CHECK-NEXT:              "type": {
@@ -4358,14 +4084,13 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:      "kind": "NullStmt",
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
+// CHECK-NEXT:        "line": 108,
 // CHECK-NEXT:        "col": 5,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 108
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 5,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 108
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      }
 // CHECK-NEXT:     }
@@ -4376,14 +4101,14 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:    "kind": "ForStmt",
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
+// CHECK-NEXT:      "line": 110,
 // CHECK-NEXT:      "col": 3,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 110
+// CHECK-NEXT:      "tokLen": 3
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
+// CHECK-NEXT:      "line": 111,
 // CHECK-NEXT:      "col": 5,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 111
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "inner": [
@@ -4394,14 +4119,13 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:      "kind": "ImplicitCastExpr",
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
+// CHECK-NEXT:        "line": 110,
 // CHECK-NEXT:        "col": 10,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 110
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 10,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 110
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -4416,13 +4140,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 10,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 110
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 10,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 110
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -4446,14 +4168,13 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:      "kind": "NullStmt",
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
+// CHECK-NEXT:        "line": 111,
 // CHECK-NEXT:        "col": 5,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 111
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 5,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 111
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      }
 // CHECK-NEXT:     }
@@ -4464,14 +4185,14 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:    "kind": "ForStmt",
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
+// CHECK-NEXT:      "line": 113,
 // CHECK-NEXT:      "col": 3,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 113
+// CHECK-NEXT:      "tokLen": 3
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
+// CHECK-NEXT:      "line": 114,
 // CHECK-NEXT:      "col": 5,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 114
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "inner": [
@@ -4483,14 +4204,13 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:      "kind": "BinaryOperator",
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
+// CHECK-NEXT:        "line": 113,
 // CHECK-NEXT:        "col": 11,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 113
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 16,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 113
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -4505,13 +4225,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 11,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 113
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 11,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 113
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -4533,13 +4251,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 15,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 113
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 16,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 113
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -4554,13 +4270,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 15,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 113
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 16,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 113
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "type": {
@@ -4577,13 +4291,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:            "range": {
 // CHECK-NEXT:             "begin": {
 // CHECK-NEXT:              "col": 16,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 113
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             },
 // CHECK-NEXT:             "end": {
 // CHECK-NEXT:              "col": 16,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 113
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             }
 // CHECK-NEXT:            },
 // CHECK-NEXT:            "type": {
@@ -4598,13 +4310,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:              "range": {
 // CHECK-NEXT:               "begin": {
 // CHECK-NEXT:                "col": 16,
-// CHECK-NEXT:                "file": "{{.*}}",
-// CHECK-NEXT:                "line": 113
+// CHECK-NEXT:                "tokLen": 1
 // CHECK-NEXT:               },
 // CHECK-NEXT:               "end": {
 // CHECK-NEXT:                "col": 16,
-// CHECK-NEXT:                "file": "{{.*}}",
-// CHECK-NEXT:                "line": 113
+// CHECK-NEXT:                "tokLen": 1
 // CHECK-NEXT:               }
 // CHECK-NEXT:              },
 // CHECK-NEXT:              "type": {
@@ -4633,14 +4343,13 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:      "kind": "NullStmt",
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
+// CHECK-NEXT:        "line": 114,
 // CHECK-NEXT:        "col": 5,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 114
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 5,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 114
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      }
 // CHECK-NEXT:     }
@@ -4651,14 +4360,14 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:    "kind": "ForStmt",
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
+// CHECK-NEXT:      "line": 116,
 // CHECK-NEXT:      "col": 3,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 116
+// CHECK-NEXT:      "tokLen": 3
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
+// CHECK-NEXT:      "line": 117,
 // CHECK-NEXT:      "col": 5,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 117
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "inner": [
@@ -4672,13 +4381,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 5,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 117
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 5,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 117
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      }
 // CHECK-NEXT:     }
@@ -4691,14 +4398,14 @@ void TestMiscStmts(void) {
 // CHECK:  "kind": "CompoundStmt",
 // CHECK-NEXT:  "range": {
 // CHECK-NEXT:   "begin": {
+// CHECK-NEXT:    "line": 120,
 // CHECK-NEXT:    "col": 22,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 120
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   },
 // CHECK-NEXT:   "end": {
+// CHECK-NEXT:    "line": 130,
 // CHECK-NEXT:    "col": 1,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 130
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   }
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "inner": [
@@ -4707,14 +4414,14 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:    "kind": "WhileStmt",
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
+// CHECK-NEXT:      "line": 123,
 // CHECK-NEXT:      "col": 3,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 123
+// CHECK-NEXT:      "tokLen": 5
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
+// CHECK-NEXT:      "line": 126,
 // CHECK-NEXT:      "col": 3,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 126
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "inner": [
@@ -4723,14 +4430,13 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:      "kind": "IntegerLiteral",
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
+// CHECK-NEXT:        "line": 123,
 // CHECK-NEXT:        "col": 10,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 123
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 10,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 123
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -4745,13 +4451,12 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 13,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 123
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
+// CHECK-NEXT:        "line": 126,
 // CHECK-NEXT:        "col": 3,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 126
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "inner": [
@@ -4760,14 +4465,13 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:        "kind": "ContinueStmt",
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
+// CHECK-NEXT:          "line": 124,
 // CHECK-NEXT:          "col": 5,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 124
+// CHECK-NEXT:          "tokLen": 8
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 5,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 124
+// CHECK-NEXT:          "tokLen": 8
 // CHECK-NEXT:         }
 // CHECK-NEXT:        }
 // CHECK-NEXT:       },
@@ -4776,14 +4480,13 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:        "kind": "BreakStmt",
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
+// CHECK-NEXT:          "line": 125,
 // CHECK-NEXT:          "col": 5,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 125
+// CHECK-NEXT:          "tokLen": 5
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 5,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 125
+// CHECK-NEXT:          "tokLen": 5
 // CHECK-NEXT:         }
 // CHECK-NEXT:        }
 // CHECK-NEXT:       }
@@ -4796,14 +4499,13 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:    "kind": "ReturnStmt",
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
+// CHECK-NEXT:      "line": 127,
 // CHECK-NEXT:      "col": 3,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 127
+// CHECK-NEXT:      "tokLen": 6
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
 // CHECK-NEXT:      "col": 3,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 127
+// CHECK-NEXT:      "tokLen": 6
 // CHECK-NEXT:     }
 // CHECK-NEXT:    }
 // CHECK-NEXT:   },
@@ -4812,14 +4514,13 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:    "kind": "ReturnStmt",
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
+// CHECK-NEXT:      "line": 129,
 // CHECK-NEXT:      "col": 3,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 129
+// CHECK-NEXT:      "tokLen": 6
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
 // CHECK-NEXT:      "col": 22,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 129
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "inner": [
@@ -4829,13 +4530,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 10,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 129
+// CHECK-NEXT:        "tokLen": 10
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 22,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 129
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -4849,13 +4548,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 10,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 129
+// CHECK-NEXT:          "tokLen": 10
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 10,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 129
+// CHECK-NEXT:          "tokLen": 10
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -4870,13 +4567,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 10,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 129
+// CHECK-NEXT:            "tokLen": 10
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 10,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 129
+// CHECK-NEXT:            "tokLen": 10
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "type": {
@@ -4900,13 +4595,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 21,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 129
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 21,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 129
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -4926,14 +4619,14 @@ void TestMiscStmts(void) {
 // CHECK:  "kind": "CompoundStmt",
 // CHECK-NEXT:  "range": {
 // CHECK-NEXT:   "begin": {
+// CHECK-NEXT:    "line": 132,
 // CHECK-NEXT:    "col": 26,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 132
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   },
 // CHECK-NEXT:   "end": {
+// CHECK-NEXT:    "line": 134,
 // CHECK-NEXT:    "col": 1,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 134
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   }
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "inner": [
@@ -4942,14 +4635,13 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:    "kind": "StmtExpr",
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
+// CHECK-NEXT:      "line": 133,
 // CHECK-NEXT:      "col": 3,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 133
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
 // CHECK-NEXT:      "col": 20,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 133
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "type": {
@@ -4963,13 +4655,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 4,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 133
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 19,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 133
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "inner": [
@@ -4979,13 +4669,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 5,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 133
+// CHECK-NEXT:          "tokLen": 3
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 15,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 133
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "inner": [
@@ -4994,19 +4682,16 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:          "kind": "VarDecl",
 // CHECK-NEXT:          "loc": {
 // CHECK-NEXT:           "col": 9,
-// CHECK-NEXT:           "file": "{{.*}}",
-// CHECK-NEXT:           "line": 133
+// CHECK-NEXT:           "tokLen": 1
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 5,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 133
+// CHECK-NEXT:            "tokLen": 3
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 13,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 133
+// CHECK-NEXT:            "tokLen": 2
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "isUsed": true,
@@ -5022,13 +4707,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:            "range": {
 // CHECK-NEXT:             "begin": {
 // CHECK-NEXT:              "col": 13,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 133
+// CHECK-NEXT:              "tokLen": 2
 // CHECK-NEXT:             },
 // CHECK-NEXT:             "end": {
 // CHECK-NEXT:              "col": 13,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 133
+// CHECK-NEXT:              "tokLen": 2
 // CHECK-NEXT:             }
 // CHECK-NEXT:            },
 // CHECK-NEXT:            "type": {
@@ -5047,13 +4730,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 17,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 133
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 17,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 133
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -5068,13 +4749,11 @@ void TestMiscStmts(void) {
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 17,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 133
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 17,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 133
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "type": {

Modified: cfe/trunk/test/AST/ast-dump-stmt-json.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/AST/ast-dump-stmt-json.cpp?rev=364226&r1=364225&r2=364226&view=diff
==============================================================================
--- cfe/trunk/test/AST/ast-dump-stmt-json.cpp (original)
+++ cfe/trunk/test/AST/ast-dump-stmt-json.cpp Mon Jun 24 13:07:11 2019
@@ -128,20 +128,18 @@ void TestDependentGenericSelectionExpr(T
 
 // CHECK:  "kind": "FunctionDecl",
 // CHECK-NEXT:  "loc": {
+// CHECK-NEXT:   "line": 4,
 // CHECK-NEXT:   "col": 6,
-// CHECK-NEXT:   "file": "{{.*}}",
-// CHECK-NEXT:   "line": 4
+// CHECK-NEXT:   "tokLen": 8
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "range": {
 // CHECK-NEXT:   "begin": {
 // CHECK-NEXT:    "col": 1,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 4
+// CHECK-NEXT:    "tokLen": 4
 // CHECK-NEXT:   },
 // CHECK-NEXT:   "end": {
 // CHECK-NEXT:    "col": 18,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 4
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   }
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "isUsed": true,
@@ -156,13 +154,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
 // CHECK-NEXT:      "col": 17,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 4
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
 // CHECK-NEXT:      "col": 18,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 4
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    }
 // CHECK-NEXT:   }
@@ -172,20 +168,18 @@ void TestDependentGenericSelectionExpr(T
 
 // CHECK:  "kind": "UsingDecl",
 // CHECK-NEXT:  "loc": {
+// CHECK-NEXT:   "line": 7,
 // CHECK-NEXT:   "col": 10,
-// CHECK-NEXT:   "file": "{{.*}}",
-// CHECK-NEXT:   "line": 7
+// CHECK-NEXT:   "tokLen": 8
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "range": {
 // CHECK-NEXT:   "begin": {
 // CHECK-NEXT:    "col": 1,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 7
+// CHECK-NEXT:    "tokLen": 5
 // CHECK-NEXT:   },
 // CHECK-NEXT:   "end": {
 // CHECK-NEXT:    "col": 10,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 7
+// CHECK-NEXT:    "tokLen": 8
 // CHECK-NEXT:   }
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "name": "n::function"
@@ -195,19 +189,16 @@ void TestDependentGenericSelectionExpr(T
 // CHECK:  "kind": "UsingShadowDecl",
 // CHECK-NEXT:  "loc": {
 // CHECK-NEXT:   "col": 10,
-// CHECK-NEXT:   "file": "{{.*}}",
-// CHECK-NEXT:   "line": 7
+// CHECK-NEXT:   "tokLen": 8
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "range": {
 // CHECK-NEXT:   "begin": {
 // CHECK-NEXT:    "col": 10,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 7
+// CHECK-NEXT:    "tokLen": 8
 // CHECK-NEXT:   },
 // CHECK-NEXT:   "end": {
 // CHECK-NEXT:    "col": 10,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 7
+// CHECK-NEXT:    "tokLen": 8
 // CHECK-NEXT:   }
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "isImplicit": true,
@@ -224,20 +215,18 @@ void TestDependentGenericSelectionExpr(T
 
 // CHECK:  "kind": "UsingDecl",
 // CHECK-NEXT:  "loc": {
+// CHECK-NEXT:   "line": 8,
 // CHECK-NEXT:   "col": 10,
-// CHECK-NEXT:   "file": "{{.*}}",
-// CHECK-NEXT:   "line": 8
+// CHECK-NEXT:   "tokLen": 8
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "range": {
 // CHECK-NEXT:   "begin": {
 // CHECK-NEXT:    "col": 1,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 8
+// CHECK-NEXT:    "tokLen": 5
 // CHECK-NEXT:   },
 // CHECK-NEXT:   "end": {
 // CHECK-NEXT:    "col": 10,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 8
+// CHECK-NEXT:    "tokLen": 8
 // CHECK-NEXT:   }
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "name": "n::Variable"
@@ -247,19 +236,16 @@ void TestDependentGenericSelectionExpr(T
 // CHECK:  "kind": "UsingShadowDecl",
 // CHECK-NEXT:  "loc": {
 // CHECK-NEXT:   "col": 10,
-// CHECK-NEXT:   "file": "{{.*}}",
-// CHECK-NEXT:   "line": 8
+// CHECK-NEXT:   "tokLen": 8
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "range": {
 // CHECK-NEXT:   "begin": {
 // CHECK-NEXT:    "col": 10,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 8
+// CHECK-NEXT:    "tokLen": 8
 // CHECK-NEXT:   },
 // CHECK-NEXT:   "end": {
 // CHECK-NEXT:    "col": 10,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 8
+// CHECK-NEXT:    "tokLen": 8
 // CHECK-NEXT:   }
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "isImplicit": true,
@@ -276,20 +262,19 @@ void TestDependentGenericSelectionExpr(T
 
 // CHECK:  "kind": "FunctionDecl",
 // CHECK-NEXT:  "loc": {
+// CHECK-NEXT:   "line": 9,
 // CHECK-NEXT:   "col": 6,
-// CHECK-NEXT:   "file": "{{.*}}",
-// CHECK-NEXT:   "line": 9
+// CHECK-NEXT:   "tokLen": 12
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "range": {
 // CHECK-NEXT:   "begin": {
 // CHECK-NEXT:    "col": 1,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 9
+// CHECK-NEXT:    "tokLen": 4
 // CHECK-NEXT:   },
 // CHECK-NEXT:   "end": {
+// CHECK-NEXT:    "line": 12,
 // CHECK-NEXT:    "col": 1,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 12
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   }
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "name": "TestFunction",
@@ -302,14 +287,14 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:    "kind": "CompoundStmt",
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
+// CHECK-NEXT:      "line": 9,
 // CHECK-NEXT:      "col": 21,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 9
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
+// CHECK-NEXT:      "line": 12,
 // CHECK-NEXT:      "col": 1,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 12
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "inner": [
@@ -318,14 +303,13 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:      "kind": "DeclStmt",
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
+// CHECK-NEXT:        "line": 10,
 // CHECK-NEXT:        "col": 3,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 10
+// CHECK-NEXT:        "tokLen": 4
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 26,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 10
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "inner": [
@@ -334,19 +318,16 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:        "kind": "VarDecl",
 // CHECK-NEXT:        "loc": {
 // CHECK-NEXT:         "col": 10,
-// CHECK-NEXT:         "file": "{{.*}}",
-// CHECK-NEXT:         "line": 10
+// CHECK-NEXT:         "tokLen": 1
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 3,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 10
+// CHECK-NEXT:          "tokLen": 4
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 18,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 10
+// CHECK-NEXT:          "tokLen": 8
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "name": "f",
@@ -361,13 +342,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 17,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 10
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 18,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 10
+// CHECK-NEXT:            "tokLen": 8
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "type": {
@@ -384,13 +363,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:            "range": {
 // CHECK-NEXT:             "begin": {
 // CHECK-NEXT:              "col": 18,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 10
+// CHECK-NEXT:              "tokLen": 8
 // CHECK-NEXT:             },
 // CHECK-NEXT:             "end": {
 // CHECK-NEXT:              "col": 18,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 10
+// CHECK-NEXT:              "tokLen": 8
 // CHECK-NEXT:             }
 // CHECK-NEXT:            },
 // CHECK-NEXT:            "type": {
@@ -422,14 +399,13 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:      "kind": "BinaryOperator",
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
+// CHECK-NEXT:        "line": 11,
 // CHECK-NEXT:        "col": 3,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 11
+// CHECK-NEXT:        "tokLen": 8
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 14,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 11
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -444,13 +420,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 3,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 11
+// CHECK-NEXT:          "tokLen": 8
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 3,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 11
+// CHECK-NEXT:          "tokLen": 8
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -477,13 +451,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 14,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 11
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 14,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 11
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -502,20 +474,19 @@ void TestDependentGenericSelectionExpr(T
 
 // CHECK:  "kind": "FunctionDecl",
 // CHECK-NEXT:  "loc": {
+// CHECK-NEXT:   "line": 14,
 // CHECK-NEXT:   "col": 6,
-// CHECK-NEXT:   "file": "{{.*}}",
-// CHECK-NEXT:   "line": 14
+// CHECK-NEXT:   "tokLen": 10
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "range": {
 // CHECK-NEXT:   "begin": {
 // CHECK-NEXT:    "col": 1,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 14
+// CHECK-NEXT:    "tokLen": 4
 // CHECK-NEXT:   },
 // CHECK-NEXT:   "end": {
+// CHECK-NEXT:    "line": 19,
 // CHECK-NEXT:    "col": 1,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 19
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   }
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "name": "TestCatch1",
@@ -528,14 +499,14 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:    "kind": "CompoundStmt",
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
+// CHECK-NEXT:      "line": 14,
 // CHECK-NEXT:      "col": 19,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 14
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
+// CHECK-NEXT:      "line": 19,
 // CHECK-NEXT:      "col": 1,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 19
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "inner": [
@@ -544,14 +515,14 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:      "kind": "CXXTryStmt",
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
+// CHECK-NEXT:        "line": 15,
 // CHECK-NEXT:        "col": 3,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 15
+// CHECK-NEXT:        "tokLen": 3
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
+// CHECK-NEXT:        "line": 18,
 // CHECK-NEXT:        "col": 3,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 18
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "inner": [
@@ -560,14 +531,14 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:        "kind": "CompoundStmt",
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
+// CHECK-NEXT:          "line": 15,
 // CHECK-NEXT:          "col": 7,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 15
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
+// CHECK-NEXT:          "line": 16,
 // CHECK-NEXT:          "col": 3,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 16
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        }
 // CHECK-NEXT:       },
@@ -576,14 +547,14 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:        "kind": "CXXCatchStmt",
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
+// CHECK-NEXT:          "line": 17,
 // CHECK-NEXT:          "col": 3,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 17
+// CHECK-NEXT:          "tokLen": 5
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
+// CHECK-NEXT:          "line": 18,
 // CHECK-NEXT:          "col": 3,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 18
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "inner": [
@@ -591,20 +562,18 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:          "id": "0x{{.*}}",
 // CHECK-NEXT:          "kind": "VarDecl",
 // CHECK-NEXT:          "loc": {
+// CHECK-NEXT:           "line": 17,
 // CHECK-NEXT:           "col": 14,
-// CHECK-NEXT:           "file": "{{.*}}",
-// CHECK-NEXT:           "line": 17
+// CHECK-NEXT:           "tokLen": 1
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 10,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 17
+// CHECK-NEXT:            "tokLen": 3
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 14,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 17
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "name": "x",
@@ -618,13 +587,12 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 17,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 17
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
+// CHECK-NEXT:            "line": 18,
 // CHECK-NEXT:            "col": 3,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 18
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }
 // CHECK-NEXT:          }
 // CHECK-NEXT:         }
@@ -640,20 +608,19 @@ void TestDependentGenericSelectionExpr(T
 
 // CHECK:  "kind": "FunctionDecl",
 // CHECK-NEXT:  "loc": {
+// CHECK-NEXT:   "line": 21,
 // CHECK-NEXT:   "col": 6,
-// CHECK-NEXT:   "file": "{{.*}}",
-// CHECK-NEXT:   "line": 21
+// CHECK-NEXT:   "tokLen": 10
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "range": {
 // CHECK-NEXT:   "begin": {
 // CHECK-NEXT:    "col": 1,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 21
+// CHECK-NEXT:    "tokLen": 4
 // CHECK-NEXT:   },
 // CHECK-NEXT:   "end": {
+// CHECK-NEXT:    "line": 26,
 // CHECK-NEXT:    "col": 1,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 26
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   }
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "name": "TestCatch2",
@@ -666,14 +633,14 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:    "kind": "CompoundStmt",
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
+// CHECK-NEXT:      "line": 21,
 // CHECK-NEXT:      "col": 19,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 21
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
+// CHECK-NEXT:      "line": 26,
 // CHECK-NEXT:      "col": 1,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 26
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "inner": [
@@ -682,14 +649,14 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:      "kind": "CXXTryStmt",
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
+// CHECK-NEXT:        "line": 22,
 // CHECK-NEXT:        "col": 3,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 22
+// CHECK-NEXT:        "tokLen": 3
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
+// CHECK-NEXT:        "line": 25,
 // CHECK-NEXT:        "col": 3,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 25
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "inner": [
@@ -698,14 +665,14 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:        "kind": "CompoundStmt",
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
+// CHECK-NEXT:          "line": 22,
 // CHECK-NEXT:          "col": 7,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 22
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
+// CHECK-NEXT:          "line": 23,
 // CHECK-NEXT:          "col": 3,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 23
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        }
 // CHECK-NEXT:       },
@@ -714,14 +681,14 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:        "kind": "CXXCatchStmt",
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
+// CHECK-NEXT:          "line": 24,
 // CHECK-NEXT:          "col": 3,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 24
+// CHECK-NEXT:          "tokLen": 5
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
+// CHECK-NEXT:          "line": 25,
 // CHECK-NEXT:          "col": 3,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 25
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "inner": [
@@ -733,14 +700,14 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:          "kind": "CompoundStmt",
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
+// CHECK-NEXT:            "line": 24,
 // CHECK-NEXT:            "col": 15,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 24
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
+// CHECK-NEXT:            "line": 25,
 // CHECK-NEXT:            "col": 3,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 25
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }
 // CHECK-NEXT:          }
 // CHECK-NEXT:         }
@@ -756,20 +723,19 @@ void TestDependentGenericSelectionExpr(T
 
 // CHECK:  "kind": "FunctionDecl",
 // CHECK-NEXT:  "loc": {
+// CHECK-NEXT:   "line": 28,
 // CHECK-NEXT:   "col": 6,
-// CHECK-NEXT:   "file": "{{.*}}",
-// CHECK-NEXT:   "line": 28
+// CHECK-NEXT:   "tokLen": 19
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "range": {
 // CHECK-NEXT:   "begin": {
 // CHECK-NEXT:    "col": 1,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 28
+// CHECK-NEXT:    "tokLen": 4
 // CHECK-NEXT:   },
 // CHECK-NEXT:   "end": {
+// CHECK-NEXT:    "line": 36,
 // CHECK-NEXT:    "col": 1,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 36
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   }
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "name": "TestAllocationExprs",
@@ -782,14 +748,14 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:    "kind": "CompoundStmt",
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
+// CHECK-NEXT:      "line": 28,
 // CHECK-NEXT:      "col": 28,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 28
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
+// CHECK-NEXT:      "line": 36,
 // CHECK-NEXT:      "col": 1,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 36
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "inner": [
@@ -798,14 +764,13 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:      "kind": "DeclStmt",
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
+// CHECK-NEXT:        "line": 29,
 // CHECK-NEXT:        "col": 3,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 29
+// CHECK-NEXT:        "tokLen": 3
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 9,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 29
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "inner": [
@@ -814,19 +779,16 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:        "kind": "VarDecl",
 // CHECK-NEXT:        "loc": {
 // CHECK-NEXT:         "col": 8,
-// CHECK-NEXT:         "file": "{{.*}}",
-// CHECK-NEXT:         "line": 29
+// CHECK-NEXT:         "tokLen": 1
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 3,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 29
+// CHECK-NEXT:          "tokLen": 3
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 8,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 29
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "isUsed": true,
@@ -842,14 +804,13 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:      "kind": "BinaryOperator",
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
+// CHECK-NEXT:        "line": 30,
 // CHECK-NEXT:        "col": 3,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 30
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 11,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 30
+// CHECK-NEXT:        "tokLen": 3
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -864,13 +825,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 3,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 30
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 3,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 30
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -892,13 +851,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 7,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 30
+// CHECK-NEXT:          "tokLen": 3
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 11,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 30
+// CHECK-NEXT:          "tokLen": 3
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -921,14 +878,13 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:      "kind": "CXXDeleteExpr",
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
+// CHECK-NEXT:        "line": 31,
 // CHECK-NEXT:        "col": 3,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 31
+// CHECK-NEXT:        "tokLen": 6
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 10,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 31
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -950,13 +906,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 10,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 31
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 10,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 31
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -971,13 +925,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 10,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 31
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 10,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 31
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "type": {
@@ -1002,14 +954,13 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:      "kind": "BinaryOperator",
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
+// CHECK-NEXT:        "line": 32,
 // CHECK-NEXT:        "col": 3,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 32
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 16,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 32
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -1024,13 +975,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 3,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 32
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 3,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 32
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -1052,13 +1001,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 7,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 32
+// CHECK-NEXT:          "tokLen": 3
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 16,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 32
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -1081,13 +1028,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 15,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 32
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 15,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 32
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "type": {
@@ -1102,13 +1047,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:            "range": {
 // CHECK-NEXT:             "begin": {
 // CHECK-NEXT:              "col": 15,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 32
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             },
 // CHECK-NEXT:             "end": {
 // CHECK-NEXT:              "col": 15,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 32
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             }
 // CHECK-NEXT:            },
 // CHECK-NEXT:            "type": {
@@ -1128,14 +1071,13 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:      "kind": "CXXDeleteExpr",
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
+// CHECK-NEXT:        "line": 33,
 // CHECK-NEXT:        "col": 3,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 33
+// CHECK-NEXT:        "tokLen": 6
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 12,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 33
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -1159,13 +1101,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 12,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 33
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 12,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 33
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -1180,13 +1120,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 12,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 33
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 12,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 33
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "type": {
@@ -1211,14 +1149,13 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:      "kind": "BinaryOperator",
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
+// CHECK-NEXT:        "line": 34,
 // CHECK-NEXT:        "col": 3,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 34
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 13,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 34
+// CHECK-NEXT:        "tokLen": 3
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -1233,13 +1170,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 3,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 34
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 3,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 34
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -1261,13 +1196,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 7,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 34
+// CHECK-NEXT:          "tokLen": 2
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 13,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 34
+// CHECK-NEXT:          "tokLen": 3
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -1291,14 +1224,13 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:      "kind": "CXXDeleteExpr",
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
+// CHECK-NEXT:        "line": 35,
 // CHECK-NEXT:        "col": 3,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 35
+// CHECK-NEXT:        "tokLen": 2
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 12,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 35
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -1321,13 +1253,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 12,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 35
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 12,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 35
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -1342,13 +1272,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 12,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 35
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 12,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 35
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "type": {
@@ -1736,20 +1664,20 @@ void TestDependentGenericSelectionExpr(T
 
 // CHECK:  "kind": "FunctionTemplateDecl",
 // CHECK-NEXT:  "loc": {
+// CHECK-NEXT:   "line": 40,
 // CHECK-NEXT:   "col": 6,
-// CHECK-NEXT:   "file": "{{.*}}",
-// CHECK-NEXT:   "line": 40
+// CHECK-NEXT:   "tokLen": 27
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "range": {
 // CHECK-NEXT:   "begin": {
+// CHECK-NEXT:    "line": 39,
 // CHECK-NEXT:    "col": 1,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 39
+// CHECK-NEXT:    "tokLen": 8
 // CHECK-NEXT:   },
 // CHECK-NEXT:   "end": {
+// CHECK-NEXT:    "line": 43,
 // CHECK-NEXT:    "col": 1,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 43
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   }
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "name": "TestDependentAllocationExpr",
@@ -1758,20 +1686,18 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:    "id": "0x{{.*}}",
 // CHECK-NEXT:    "kind": "TemplateTypeParmDecl",
 // CHECK-NEXT:    "loc": {
+// CHECK-NEXT:     "line": 39,
 // CHECK-NEXT:     "col": 20,
-// CHECK-NEXT:     "file": "{{.*}}",
-// CHECK-NEXT:     "line": 39
+// CHECK-NEXT:     "tokLen": 1
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
 // CHECK-NEXT:      "col": 11,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 39
+// CHECK-NEXT:      "tokLen": 8
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
 // CHECK-NEXT:      "col": 20,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 39
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "isReferenced": true,
@@ -1784,20 +1710,19 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:    "id": "0x{{.*}}",
 // CHECK-NEXT:    "kind": "FunctionDecl",
 // CHECK-NEXT:    "loc": {
+// CHECK-NEXT:     "line": 40,
 // CHECK-NEXT:     "col": 6,
-// CHECK-NEXT:     "file": "{{.*}}",
-// CHECK-NEXT:     "line": 40
+// CHECK-NEXT:     "tokLen": 27
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
 // CHECK-NEXT:      "col": 1,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 40
+// CHECK-NEXT:      "tokLen": 4
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
+// CHECK-NEXT:      "line": 43,
 // CHECK-NEXT:      "col": 1,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 43
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "name": "TestDependentAllocationExpr",
@@ -1810,14 +1735,14 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:      "kind": "CompoundStmt",
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
+// CHECK-NEXT:        "line": 40,
 // CHECK-NEXT:        "col": 36,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 40
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
+// CHECK-NEXT:        "line": 43,
 // CHECK-NEXT:        "col": 1,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 43
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "inner": [
@@ -1826,14 +1751,13 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:        "kind": "DeclStmt",
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
+// CHECK-NEXT:          "line": 41,
 // CHECK-NEXT:          "col": 3,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 41
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 15,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 41
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "inner": [
@@ -1842,19 +1766,16 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:          "kind": "VarDecl",
 // CHECK-NEXT:          "loc": {
 // CHECK-NEXT:           "col": 6,
-// CHECK-NEXT:           "file": "{{.*}}",
-// CHECK-NEXT:           "line": 41
+// CHECK-NEXT:           "tokLen": 1
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 3,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 41
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 14,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 41
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "isReferenced": true,
@@ -1870,13 +1791,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:            "range": {
 // CHECK-NEXT:             "begin": {
 // CHECK-NEXT:              "col": 10,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 41
+// CHECK-NEXT:              "tokLen": 3
 // CHECK-NEXT:             },
 // CHECK-NEXT:             "end": {
 // CHECK-NEXT:              "col": 14,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 41
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             }
 // CHECK-NEXT:            },
 // CHECK-NEXT:            "type": {
@@ -1893,14 +1812,13 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:        "kind": "CXXDeleteExpr",
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
+// CHECK-NEXT:          "line": 42,
 // CHECK-NEXT:          "col": 3,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 42
+// CHECK-NEXT:          "tokLen": 6
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 10,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 42
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -1914,13 +1832,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 10,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 42
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 10,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 42
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "type": {
@@ -1948,20 +1864,20 @@ void TestDependentGenericSelectionExpr(T
 
 // CHECK:  "kind": "FunctionTemplateDecl",
 // CHECK-NEXT:  "loc": {
+// CHECK-NEXT:   "line": 51,
 // CHECK-NEXT:   "col": 6,
-// CHECK-NEXT:   "file": "{{.*}}",
-// CHECK-NEXT:   "line": 51
+// CHECK-NEXT:   "tokLen": 28
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "range": {
 // CHECK-NEXT:   "begin": {
+// CHECK-NEXT:    "line": 50,
 // CHECK-NEXT:    "col": 1,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 50
+// CHECK-NEXT:    "tokLen": 8
 // CHECK-NEXT:   },
 // CHECK-NEXT:   "end": {
+// CHECK-NEXT:    "line": 56,
 // CHECK-NEXT:    "col": 1,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 56
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   }
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "name": "TestDependentScopeMemberExpr",
@@ -1970,20 +1886,18 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:    "id": "0x{{.*}}",
 // CHECK-NEXT:    "kind": "TemplateTypeParmDecl",
 // CHECK-NEXT:    "loc": {
+// CHECK-NEXT:     "line": 50,
 // CHECK-NEXT:     "col": 20,
-// CHECK-NEXT:     "file": "{{.*}}",
-// CHECK-NEXT:     "line": 50
+// CHECK-NEXT:     "tokLen": 1
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
 // CHECK-NEXT:      "col": 11,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 50
+// CHECK-NEXT:      "tokLen": 8
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
 // CHECK-NEXT:      "col": 20,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 50
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "isReferenced": true,
@@ -1996,20 +1910,19 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:    "id": "0x{{.*}}",
 // CHECK-NEXT:    "kind": "FunctionDecl",
 // CHECK-NEXT:    "loc": {
+// CHECK-NEXT:     "line": 51,
 // CHECK-NEXT:     "col": 6,
-// CHECK-NEXT:     "file": "{{.*}}",
-// CHECK-NEXT:     "line": 51
+// CHECK-NEXT:     "tokLen": 28
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
 // CHECK-NEXT:      "col": 1,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 51
+// CHECK-NEXT:      "tokLen": 4
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
+// CHECK-NEXT:      "line": 56,
 // CHECK-NEXT:      "col": 1,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 56
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "name": "TestDependentScopeMemberExpr",
@@ -2022,14 +1935,14 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:      "kind": "CompoundStmt",
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
+// CHECK-NEXT:        "line": 51,
 // CHECK-NEXT:        "col": 37,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 51
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
+// CHECK-NEXT:        "line": 56,
 // CHECK-NEXT:        "col": 1,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 56
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "inner": [
@@ -2038,14 +1951,13 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:        "kind": "DeclStmt",
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
+// CHECK-NEXT:          "line": 52,
 // CHECK-NEXT:          "col": 3,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 52
+// CHECK-NEXT:          "tokLen": 31
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 41,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 52
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "inner": [
@@ -2054,19 +1966,16 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:          "kind": "VarDecl",
 // CHECK-NEXT:          "loc": {
 // CHECK-NEXT:           "col": 38,
-// CHECK-NEXT:           "file": "{{.*}}",
-// CHECK-NEXT:           "line": 52
+// CHECK-NEXT:           "tokLen": 3
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 3,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 52
+// CHECK-NEXT:            "tokLen": 31
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 38,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 52
+// CHECK-NEXT:            "tokLen": 3
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "isReferenced": true,
@@ -2082,14 +1991,13 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:        "kind": "BinaryOperator",
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
+// CHECK-NEXT:          "line": 53,
 // CHECK-NEXT:          "col": 3,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 53
+// CHECK-NEXT:          "tokLen": 3
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 18,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 53
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -2104,13 +2012,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 3,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 53
+// CHECK-NEXT:            "tokLen": 3
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 7,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 53
+// CHECK-NEXT:            "tokLen": 6
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "type": {
@@ -2126,13 +2032,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:            "range": {
 // CHECK-NEXT:             "begin": {
 // CHECK-NEXT:              "col": 3,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 53
+// CHECK-NEXT:              "tokLen": 3
 // CHECK-NEXT:             },
 // CHECK-NEXT:             "end": {
 // CHECK-NEXT:              "col": 3,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 53
+// CHECK-NEXT:              "tokLen": 3
 // CHECK-NEXT:             }
 // CHECK-NEXT:            },
 // CHECK-NEXT:            "type": {
@@ -2156,13 +2060,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 16,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 53
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 18,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 53
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "type": {
@@ -2177,14 +2079,13 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:        "kind": "BinaryOperator",
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
+// CHECK-NEXT:          "line": 54,
 // CHECK-NEXT:          "col": 3,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 54
+// CHECK-NEXT:          "tokLen": 3
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 18,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 54
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -2199,13 +2100,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 3,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 54
+// CHECK-NEXT:            "tokLen": 3
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 7,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 54
+// CHECK-NEXT:            "tokLen": 6
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "type": {
@@ -2221,13 +2120,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:            "range": {
 // CHECK-NEXT:             "begin": {
 // CHECK-NEXT:              "col": 3,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 54
+// CHECK-NEXT:              "tokLen": 3
 // CHECK-NEXT:             },
 // CHECK-NEXT:             "end": {
 // CHECK-NEXT:              "col": 3,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 54
+// CHECK-NEXT:              "tokLen": 3
 // CHECK-NEXT:             }
 // CHECK-NEXT:            },
 // CHECK-NEXT:            "type": {
@@ -2251,13 +2148,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 16,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 54
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 18,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 54
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "type": {
@@ -2272,13 +2167,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:            "range": {
 // CHECK-NEXT:             "begin": {
 // CHECK-NEXT:              "col": 17,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 54
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             },
 // CHECK-NEXT:             "end": {
 // CHECK-NEXT:              "col": 18,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 54
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             }
 // CHECK-NEXT:            },
 // CHECK-NEXT:            "type": {
@@ -2295,14 +2188,13 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:        "kind": "BinaryOperator",
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
+// CHECK-NEXT:          "line": 55,
 // CHECK-NEXT:          "col": 3,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 55
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 22,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 55
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -2317,13 +2209,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 3,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 55
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 11,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 55
+// CHECK-NEXT:            "tokLen": 6
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "type": {
@@ -2339,13 +2229,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:            "range": {
 // CHECK-NEXT:             "begin": {
 // CHECK-NEXT:              "col": 3,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 55
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             },
 // CHECK-NEXT:             "end": {
 // CHECK-NEXT:              "col": 8,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 55
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             }
 // CHECK-NEXT:            },
 // CHECK-NEXT:            "type": {
@@ -2359,13 +2247,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:              "range": {
 // CHECK-NEXT:               "begin": {
 // CHECK-NEXT:                "col": 4,
-// CHECK-NEXT:                "file": "{{.*}}",
-// CHECK-NEXT:                "line": 55
+// CHECK-NEXT:                "tokLen": 1
 // CHECK-NEXT:               },
 // CHECK-NEXT:               "end": {
 // CHECK-NEXT:                "col": 5,
-// CHECK-NEXT:                "file": "{{.*}}",
-// CHECK-NEXT:                "line": 55
+// CHECK-NEXT:                "tokLen": 3
 // CHECK-NEXT:               }
 // CHECK-NEXT:              },
 // CHECK-NEXT:              "type": {
@@ -2382,13 +2268,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:                "range": {
 // CHECK-NEXT:                 "begin": {
 // CHECK-NEXT:                  "col": 5,
-// CHECK-NEXT:                  "file": "{{.*}}",
-// CHECK-NEXT:                  "line": 55
+// CHECK-NEXT:                  "tokLen": 3
 // CHECK-NEXT:                 },
 // CHECK-NEXT:                 "end": {
 // CHECK-NEXT:                  "col": 5,
-// CHECK-NEXT:                  "file": "{{.*}}",
-// CHECK-NEXT:                  "line": 55
+// CHECK-NEXT:                  "tokLen": 3
 // CHECK-NEXT:                 }
 // CHECK-NEXT:                },
 // CHECK-NEXT:                "type": {
@@ -2416,13 +2300,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 20,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 55
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 22,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 55
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "type": {
@@ -2442,20 +2324,20 @@ void TestDependentGenericSelectionExpr(T
 
 // CHECK:  "kind": "FunctionTemplateDecl",
 // CHECK-NEXT:  "loc": {
+// CHECK-NEXT:   "line": 65,
 // CHECK-NEXT:   "col": 6,
-// CHECK-NEXT:   "file": "{{.*}}",
-// CHECK-NEXT:   "line": 65
+// CHECK-NEXT:   "tokLen": 36
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "range": {
 // CHECK-NEXT:   "begin": {
+// CHECK-NEXT:    "line": 64,
 // CHECK-NEXT:    "col": 1,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 64
+// CHECK-NEXT:    "tokLen": 8
 // CHECK-NEXT:   },
 // CHECK-NEXT:   "end": {
+// CHECK-NEXT:    "line": 68,
 // CHECK-NEXT:    "col": 1,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 68
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   }
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "name": "TestDependentScopeTemplateMemberExpr",
@@ -2464,20 +2346,18 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:    "id": "0x{{.*}}",
 // CHECK-NEXT:    "kind": "TemplateTypeParmDecl",
 // CHECK-NEXT:    "loc": {
+// CHECK-NEXT:     "line": 64,
 // CHECK-NEXT:     "col": 20,
-// CHECK-NEXT:     "file": "{{.*}}",
-// CHECK-NEXT:     "line": 64
+// CHECK-NEXT:     "tokLen": 1
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
 // CHECK-NEXT:      "col": 11,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 64
+// CHECK-NEXT:      "tokLen": 8
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
 // CHECK-NEXT:      "col": 20,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 64
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "isReferenced": true,
@@ -2490,20 +2370,19 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:    "id": "0x{{.*}}",
 // CHECK-NEXT:    "kind": "FunctionDecl",
 // CHECK-NEXT:    "loc": {
+// CHECK-NEXT:     "line": 65,
 // CHECK-NEXT:     "col": 6,
-// CHECK-NEXT:     "file": "{{.*}}",
-// CHECK-NEXT:     "line": 65
+// CHECK-NEXT:     "tokLen": 36
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
 // CHECK-NEXT:      "col": 1,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 65
+// CHECK-NEXT:      "tokLen": 4
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
+// CHECK-NEXT:      "line": 68,
 // CHECK-NEXT:      "col": 1,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 68
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "name": "TestDependentScopeTemplateMemberExpr",
@@ -2516,14 +2395,14 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:      "kind": "CompoundStmt",
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
+// CHECK-NEXT:        "line": 65,
 // CHECK-NEXT:        "col": 45,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 65
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
+// CHECK-NEXT:        "line": 68,
 // CHECK-NEXT:        "col": 1,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 68
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "inner": [
@@ -2532,14 +2411,13 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:        "kind": "DeclStmt",
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
+// CHECK-NEXT:          "line": 66,
 // CHECK-NEXT:          "col": 3,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 66
+// CHECK-NEXT:          "tokLen": 36
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 46,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 66
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "inner": [
@@ -2548,19 +2426,16 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:          "kind": "VarDecl",
 // CHECK-NEXT:          "loc": {
 // CHECK-NEXT:           "col": 43,
-// CHECK-NEXT:           "file": "{{.*}}",
-// CHECK-NEXT:           "line": 66
+// CHECK-NEXT:           "tokLen": 3
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 3,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 66
+// CHECK-NEXT:            "tokLen": 36
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 43,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 66
+// CHECK-NEXT:            "tokLen": 3
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "isReferenced": true,
@@ -2576,14 +2451,13 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:        "kind": "BinaryOperator",
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
+// CHECK-NEXT:          "line": 67,
 // CHECK-NEXT:          "col": 3,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 67
+// CHECK-NEXT:          "tokLen": 3
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 34,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 67
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -2598,13 +2472,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 3,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 67
+// CHECK-NEXT:            "tokLen": 3
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 26,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 67
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "type": {
@@ -2621,13 +2493,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:            "range": {
 // CHECK-NEXT:             "begin": {
 // CHECK-NEXT:              "col": 23,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 67
+// CHECK-NEXT:              "tokLen": 3
 // CHECK-NEXT:             },
 // CHECK-NEXT:             "end": {
 // CHECK-NEXT:              "col": 23,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 67
+// CHECK-NEXT:              "tokLen": 3
 // CHECK-NEXT:             }
 // CHECK-NEXT:            },
 // CHECK-NEXT:            "type": {
@@ -2642,13 +2512,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:            "range": {
 // CHECK-NEXT:             "begin": {
 // CHECK-NEXT:              "col": 3,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 67
+// CHECK-NEXT:              "tokLen": 3
 // CHECK-NEXT:             },
 // CHECK-NEXT:             "end": {
 // CHECK-NEXT:              "col": 3,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 67
+// CHECK-NEXT:              "tokLen": 3
 // CHECK-NEXT:             }
 // CHECK-NEXT:            },
 // CHECK-NEXT:            "type": {
@@ -2672,13 +2540,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 30,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 67
+// CHECK-NEXT:            "tokLen": 3
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 34,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 67
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "type": {
@@ -2698,20 +2564,19 @@ void TestDependentGenericSelectionExpr(T
 
 // CHECK:  "kind": "FunctionDecl",
 // CHECK-NEXT:  "loc": {
+// CHECK-NEXT:   "line": 75,
 // CHECK-NEXT:   "col": 6,
-// CHECK-NEXT:   "file": "{{.*}}",
-// CHECK-NEXT:   "line": 75
+// CHECK-NEXT:   "tokLen": 17
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "range": {
 // CHECK-NEXT:   "begin": {
 // CHECK-NEXT:    "col": 1,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 75
+// CHECK-NEXT:    "tokLen": 4
 // CHECK-NEXT:   },
 // CHECK-NEXT:   "end": {
+// CHECK-NEXT:    "line": 78,
 // CHECK-NEXT:    "col": 1,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 78
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   }
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "name": "TestUnionInitList",
@@ -2724,14 +2589,14 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:    "kind": "CompoundStmt",
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
+// CHECK-NEXT:      "line": 76,
 // CHECK-NEXT:      "col": 1,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 76
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
+// CHECK-NEXT:      "line": 78,
 // CHECK-NEXT:      "col": 1,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 78
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "inner": [
@@ -2740,14 +2605,13 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:      "kind": "DeclStmt",
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
+// CHECK-NEXT:        "line": 77,
 // CHECK-NEXT:        "col": 3,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 77
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 16,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 77
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "inner": [
@@ -2756,19 +2620,16 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:        "kind": "VarDecl",
 // CHECK-NEXT:        "loc": {
 // CHECK-NEXT:         "col": 5,
-// CHECK-NEXT:         "file": "{{.*}}",
-// CHECK-NEXT:         "line": 77
+// CHECK-NEXT:         "tokLen": 2
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 3,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 77
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 15,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 77
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "name": "us",
@@ -2783,13 +2644,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 13,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 77
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 15,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 77
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "type": {
@@ -2803,13 +2662,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:            "range": {
 // CHECK-NEXT:             "begin": {
 // CHECK-NEXT:              "col": 15,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 77
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             },
 // CHECK-NEXT:             "end": {
 // CHECK-NEXT:              "col": 15,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 77
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             }
 // CHECK-NEXT:            },
 // CHECK-NEXT:            "type": {
@@ -2831,13 +2688,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:            "range": {
 // CHECK-NEXT:             "begin": {
 // CHECK-NEXT:              "col": 14,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 77
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             },
 // CHECK-NEXT:             "end": {
 // CHECK-NEXT:              "col": 14,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 77
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             }
 // CHECK-NEXT:            },
 // CHECK-NEXT:            "type": {
@@ -2859,13 +2714,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:              "range": {
 // CHECK-NEXT:               "begin": {
 // CHECK-NEXT:                "col": 14,
-// CHECK-NEXT:                "file": "{{.*}}",
-// CHECK-NEXT:                "line": 77
+// CHECK-NEXT:                "tokLen": 1
 // CHECK-NEXT:               },
 // CHECK-NEXT:               "end": {
 // CHECK-NEXT:                "col": 14,
-// CHECK-NEXT:                "file": "{{.*}}",
-// CHECK-NEXT:                "line": 77
+// CHECK-NEXT:                "tokLen": 1
 // CHECK-NEXT:               }
 // CHECK-NEXT:              },
 // CHECK-NEXT:              "type": {
@@ -2890,20 +2743,19 @@ void TestDependentGenericSelectionExpr(T
 
 // CHECK:  "kind": "FunctionDecl",
 // CHECK-NEXT:  "loc": {
+// CHECK-NEXT:   "line": 80,
 // CHECK-NEXT:   "col": 6,
-// CHECK-NEXT:   "file": "{{.*}}",
-// CHECK-NEXT:   "line": 80
+// CHECK-NEXT:   "tokLen": 10
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "range": {
 // CHECK-NEXT:   "begin": {
 // CHECK-NEXT:    "col": 1,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 80
+// CHECK-NEXT:    "tokLen": 4
 // CHECK-NEXT:   },
 // CHECK-NEXT:   "end": {
+// CHECK-NEXT:    "line": 83,
 // CHECK-NEXT:    "col": 1,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 83
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   }
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "name": "TestSwitch",
@@ -2915,20 +2767,18 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:    "id": "0x{{.*}}",
 // CHECK-NEXT:    "kind": "ParmVarDecl",
 // CHECK-NEXT:    "loc": {
+// CHECK-NEXT:     "line": 80,
 // CHECK-NEXT:     "col": 21,
-// CHECK-NEXT:     "file": "{{.*}}",
-// CHECK-NEXT:     "line": 80
+// CHECK-NEXT:     "tokLen": 1
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
 // CHECK-NEXT:      "col": 17,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 80
+// CHECK-NEXT:      "tokLen": 3
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
 // CHECK-NEXT:      "col": 21,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 80
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "isUsed": true,
@@ -2943,13 +2793,12 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
 // CHECK-NEXT:      "col": 24,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 80
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
+// CHECK-NEXT:      "line": 83,
 // CHECK-NEXT:      "col": 1,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 83
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "inner": [
@@ -2958,14 +2807,14 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:      "kind": "SwitchStmt",
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
+// CHECK-NEXT:        "line": 81,
 // CHECK-NEXT:        "col": 3,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 81
+// CHECK-NEXT:        "tokLen": 6
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
+// CHECK-NEXT:        "line": 82,
 // CHECK-NEXT:        "col": 5,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 82
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "hasInit": true,
@@ -2975,14 +2824,13 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:        "kind": "DeclStmt",
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
+// CHECK-NEXT:          "line": 81,
 // CHECK-NEXT:          "col": 11,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 81
+// CHECK-NEXT:          "tokLen": 3
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 16,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 81
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "inner": [
@@ -2991,19 +2839,16 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:          "kind": "VarDecl",
 // CHECK-NEXT:          "loc": {
 // CHECK-NEXT:           "col": 15,
-// CHECK-NEXT:           "file": "{{.*}}",
-// CHECK-NEXT:           "line": 81
+// CHECK-NEXT:           "tokLen": 1
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 11,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 81
+// CHECK-NEXT:            "tokLen": 3
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 15,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 81
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "name": "a",
@@ -3019,13 +2864,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 18,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 81
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 18,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 81
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -3040,13 +2883,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 18,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 81
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 18,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 81
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "type": {
@@ -3069,14 +2910,13 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:        "kind": "NullStmt",
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
+// CHECK-NEXT:          "line": 82,
 // CHECK-NEXT:          "col": 5,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 82
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 5,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 82
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        }
 // CHECK-NEXT:       }
@@ -3090,20 +2930,19 @@ void TestDependentGenericSelectionExpr(T
 
 // CHECK:  "kind": "FunctionDecl",
 // CHECK-NEXT:  "loc": {
+// CHECK-NEXT:   "line": 85,
 // CHECK-NEXT:   "col": 6,
-// CHECK-NEXT:   "file": "{{.*}}",
-// CHECK-NEXT:   "line": 85
+// CHECK-NEXT:   "tokLen": 6
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "range": {
 // CHECK-NEXT:   "begin": {
 // CHECK-NEXT:    "col": 1,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 85
+// CHECK-NEXT:    "tokLen": 4
 // CHECK-NEXT:   },
 // CHECK-NEXT:   "end": {
+// CHECK-NEXT:    "line": 96,
 // CHECK-NEXT:    "col": 1,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 96
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   }
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "name": "TestIf",
@@ -3115,20 +2954,18 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:    "id": "0x{{.*}}",
 // CHECK-NEXT:    "kind": "ParmVarDecl",
 // CHECK-NEXT:    "loc": {
+// CHECK-NEXT:     "line": 85,
 // CHECK-NEXT:     "col": 18,
-// CHECK-NEXT:     "file": "{{.*}}",
-// CHECK-NEXT:     "line": 85
+// CHECK-NEXT:     "tokLen": 1
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
 // CHECK-NEXT:      "col": 13,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 85
+// CHECK-NEXT:      "tokLen": 4
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
 // CHECK-NEXT:      "col": 18,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 85
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "isReferenced": true,
@@ -3143,13 +2980,12 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
 // CHECK-NEXT:      "col": 21,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 85
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
+// CHECK-NEXT:      "line": 96,
 // CHECK-NEXT:      "col": 1,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 96
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "inner": [
@@ -3158,14 +2994,14 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:      "kind": "IfStmt",
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
+// CHECK-NEXT:        "line": 86,
 // CHECK-NEXT:        "col": 3,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 86
+// CHECK-NEXT:        "tokLen": 2
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
+// CHECK-NEXT:        "line": 87,
 // CHECK-NEXT:        "col": 5,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 87
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "hasInit": true,
@@ -3175,14 +3011,13 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:        "kind": "DeclStmt",
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
+// CHECK-NEXT:          "line": 86,
 // CHECK-NEXT:          "col": 7,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 86
+// CHECK-NEXT:          "tokLen": 5
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 23,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 86
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "inner": [
@@ -3191,19 +3026,16 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:          "kind": "VarDecl",
 // CHECK-NEXT:          "loc": {
 // CHECK-NEXT:           "col": 17,
-// CHECK-NEXT:           "file": "{{.*}}",
-// CHECK-NEXT:           "line": 86
+// CHECK-NEXT:           "tokLen": 1
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 7,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 86
+// CHECK-NEXT:            "tokLen": 5
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 21,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 86
+// CHECK-NEXT:            "tokLen": 2
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "isReferenced": true,
@@ -3219,13 +3051,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:            "range": {
 // CHECK-NEXT:             "begin": {
 // CHECK-NEXT:              "col": 21,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 86
+// CHECK-NEXT:              "tokLen": 2
 // CHECK-NEXT:             },
 // CHECK-NEXT:             "end": {
 // CHECK-NEXT:              "col": 21,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 86
+// CHECK-NEXT:              "tokLen": 2
 // CHECK-NEXT:             }
 // CHECK-NEXT:            },
 // CHECK-NEXT:            "type": {
@@ -3244,13 +3074,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 25,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 86
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 25,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 86
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -3265,13 +3093,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 25,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 86
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 25,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 86
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "type": {
@@ -3286,13 +3112,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:            "range": {
 // CHECK-NEXT:             "begin": {
 // CHECK-NEXT:              "col": 25,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 86
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             },
 // CHECK-NEXT:             "end": {
 // CHECK-NEXT:              "col": 25,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 86
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             }
 // CHECK-NEXT:            },
 // CHECK-NEXT:            "type": {
@@ -3318,14 +3142,13 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:        "kind": "NullStmt",
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
+// CHECK-NEXT:          "line": 87,
 // CHECK-NEXT:          "col": 5,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 87
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 5,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 87
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        }
 // CHECK-NEXT:       }
@@ -3336,14 +3159,14 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:      "kind": "IfStmt",
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
+// CHECK-NEXT:        "line": 89,
 // CHECK-NEXT:        "col": 3,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 89
+// CHECK-NEXT:        "tokLen": 2
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
+// CHECK-NEXT:        "line": 90,
 // CHECK-NEXT:        "col": 5,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 90
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "isConstexpr": true,
@@ -3353,14 +3176,13 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:        "kind": "ConstantExpr",
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
+// CHECK-NEXT:          "line": 89,
 // CHECK-NEXT:          "col": 17,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 89
+// CHECK-NEXT:          "tokLen": 6
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 30,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 89
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -3375,13 +3197,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 17,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 89
+// CHECK-NEXT:            "tokLen": 6
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 30,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 89
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "type": {
@@ -3396,13 +3216,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:            "range": {
 // CHECK-NEXT:             "begin": {
 // CHECK-NEXT:              "col": 17,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 89
+// CHECK-NEXT:              "tokLen": 6
 // CHECK-NEXT:             },
 // CHECK-NEXT:             "end": {
 // CHECK-NEXT:              "col": 25,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 89
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             }
 // CHECK-NEXT:            },
 // CHECK-NEXT:            "type": {
@@ -3417,13 +3235,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:              "range": {
 // CHECK-NEXT:               "begin": {
 // CHECK-NEXT:                "col": 23,
-// CHECK-NEXT:                "file": "{{.*}}",
-// CHECK-NEXT:                "line": 89
+// CHECK-NEXT:                "tokLen": 1
 // CHECK-NEXT:               },
 // CHECK-NEXT:               "end": {
 // CHECK-NEXT:                "col": 25,
-// CHECK-NEXT:                "file": "{{.*}}",
-// CHECK-NEXT:                "line": 89
+// CHECK-NEXT:                "tokLen": 1
 // CHECK-NEXT:               }
 // CHECK-NEXT:              },
 // CHECK-NEXT:              "type": {
@@ -3437,13 +3253,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:                "range": {
 // CHECK-NEXT:                 "begin": {
 // CHECK-NEXT:                  "col": 24,
-// CHECK-NEXT:                  "file": "{{.*}}",
-// CHECK-NEXT:                  "line": 89
+// CHECK-NEXT:                  "tokLen": 1
 // CHECK-NEXT:                 },
 // CHECK-NEXT:                 "end": {
 // CHECK-NEXT:                  "col": 24,
-// CHECK-NEXT:                  "file": "{{.*}}",
-// CHECK-NEXT:                  "line": 89
+// CHECK-NEXT:                  "tokLen": 1
 // CHECK-NEXT:                 }
 // CHECK-NEXT:                },
 // CHECK-NEXT:                "type": {
@@ -3470,13 +3284,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:            "range": {
 // CHECK-NEXT:             "begin": {
 // CHECK-NEXT:              "col": 30,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 89
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             },
 // CHECK-NEXT:             "end": {
 // CHECK-NEXT:              "col": 30,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 89
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             }
 // CHECK-NEXT:            },
 // CHECK-NEXT:            "type": {
@@ -3491,13 +3303,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:              "range": {
 // CHECK-NEXT:               "begin": {
 // CHECK-NEXT:                "col": 30,
-// CHECK-NEXT:                "file": "{{.*}}",
-// CHECK-NEXT:                "line": 89
+// CHECK-NEXT:                "tokLen": 1
 // CHECK-NEXT:               },
 // CHECK-NEXT:               "end": {
 // CHECK-NEXT:                "col": 30,
-// CHECK-NEXT:                "file": "{{.*}}",
-// CHECK-NEXT:                "line": 89
+// CHECK-NEXT:                "tokLen": 1
 // CHECK-NEXT:               }
 // CHECK-NEXT:              },
 // CHECK-NEXT:              "type": {
@@ -3517,14 +3327,13 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:        "kind": "NullStmt",
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
+// CHECK-NEXT:          "line": 90,
 // CHECK-NEXT:          "col": 5,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 90
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 5,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 90
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        }
 // CHECK-NEXT:       }
@@ -3535,14 +3344,14 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:      "kind": "IfStmt",
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
+// CHECK-NEXT:        "line": 92,
 // CHECK-NEXT:        "col": 3,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 92
+// CHECK-NEXT:        "tokLen": 2
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
+// CHECK-NEXT:        "line": 95,
 // CHECK-NEXT:        "col": 5,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 95
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "hasElse": true,
@@ -3553,14 +3362,13 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:        "kind": "ConstantExpr",
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
+// CHECK-NEXT:          "line": 92,
 // CHECK-NEXT:          "col": 17,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 92
+// CHECK-NEXT:          "tokLen": 6
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 30,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 92
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -3575,13 +3383,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 17,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 92
+// CHECK-NEXT:            "tokLen": 6
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 30,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 92
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "type": {
@@ -3596,13 +3402,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:            "range": {
 // CHECK-NEXT:             "begin": {
 // CHECK-NEXT:              "col": 17,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 92
+// CHECK-NEXT:              "tokLen": 6
 // CHECK-NEXT:             },
 // CHECK-NEXT:             "end": {
 // CHECK-NEXT:              "col": 25,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 92
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             }
 // CHECK-NEXT:            },
 // CHECK-NEXT:            "type": {
@@ -3617,13 +3421,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:              "range": {
 // CHECK-NEXT:               "begin": {
 // CHECK-NEXT:                "col": 23,
-// CHECK-NEXT:                "file": "{{.*}}",
-// CHECK-NEXT:                "line": 92
+// CHECK-NEXT:                "tokLen": 1
 // CHECK-NEXT:               },
 // CHECK-NEXT:               "end": {
 // CHECK-NEXT:                "col": 25,
-// CHECK-NEXT:                "file": "{{.*}}",
-// CHECK-NEXT:                "line": 92
+// CHECK-NEXT:                "tokLen": 1
 // CHECK-NEXT:               }
 // CHECK-NEXT:              },
 // CHECK-NEXT:              "type": {
@@ -3637,13 +3439,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:                "range": {
 // CHECK-NEXT:                 "begin": {
 // CHECK-NEXT:                  "col": 24,
-// CHECK-NEXT:                  "file": "{{.*}}",
-// CHECK-NEXT:                  "line": 92
+// CHECK-NEXT:                  "tokLen": 1
 // CHECK-NEXT:                 },
 // CHECK-NEXT:                 "end": {
 // CHECK-NEXT:                  "col": 24,
-// CHECK-NEXT:                  "file": "{{.*}}",
-// CHECK-NEXT:                  "line": 92
+// CHECK-NEXT:                  "tokLen": 1
 // CHECK-NEXT:                 }
 // CHECK-NEXT:                },
 // CHECK-NEXT:                "type": {
@@ -3670,13 +3470,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:            "range": {
 // CHECK-NEXT:             "begin": {
 // CHECK-NEXT:              "col": 30,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 92
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             },
 // CHECK-NEXT:             "end": {
 // CHECK-NEXT:              "col": 30,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 92
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             }
 // CHECK-NEXT:            },
 // CHECK-NEXT:            "type": {
@@ -3691,13 +3489,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:              "range": {
 // CHECK-NEXT:               "begin": {
 // CHECK-NEXT:                "col": 30,
-// CHECK-NEXT:                "file": "{{.*}}",
-// CHECK-NEXT:                "line": 92
+// CHECK-NEXT:                "tokLen": 1
 // CHECK-NEXT:               },
 // CHECK-NEXT:               "end": {
 // CHECK-NEXT:                "col": 30,
-// CHECK-NEXT:                "file": "{{.*}}",
-// CHECK-NEXT:                "line": 92
+// CHECK-NEXT:                "tokLen": 1
 // CHECK-NEXT:               }
 // CHECK-NEXT:              },
 // CHECK-NEXT:              "type": {
@@ -3717,14 +3513,13 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:        "kind": "NullStmt",
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
+// CHECK-NEXT:          "line": 93,
 // CHECK-NEXT:          "col": 5,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 93
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 5,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 93
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        }
 // CHECK-NEXT:       },
@@ -3733,14 +3528,13 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:        "kind": "NullStmt",
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
+// CHECK-NEXT:          "line": 95,
 // CHECK-NEXT:          "col": 5,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 95
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 5,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 95
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        }
 // CHECK-NEXT:       }
@@ -3754,20 +3548,19 @@ void TestDependentGenericSelectionExpr(T
 
 // CHECK:  "kind": "FunctionDecl",
 // CHECK-NEXT:  "loc": {
+// CHECK-NEXT:   "line": 103,
 // CHECK-NEXT:   "col": 6,
-// CHECK-NEXT:   "file": "{{.*}}",
-// CHECK-NEXT:   "line": 103
+// CHECK-NEXT:   "tokLen": 13
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "range": {
 // CHECK-NEXT:   "begin": {
 // CHECK-NEXT:    "col": 1,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 103
+// CHECK-NEXT:    "tokLen": 4
 // CHECK-NEXT:   },
 // CHECK-NEXT:   "end": {
+// CHECK-NEXT:    "line": 117,
 // CHECK-NEXT:    "col": 1,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 117
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   }
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "name": "TestIteration",
@@ -3780,14 +3573,14 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:    "kind": "CompoundStmt",
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
+// CHECK-NEXT:      "line": 103,
 // CHECK-NEXT:      "col": 22,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 103
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
+// CHECK-NEXT:      "line": 117,
 // CHECK-NEXT:      "col": 1,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 117
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "inner": [
@@ -3796,14 +3589,14 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:      "kind": "ForStmt",
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
+// CHECK-NEXT:        "line": 104,
 // CHECK-NEXT:        "col": 3,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 104
+// CHECK-NEXT:        "tokLen": 3
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
+// CHECK-NEXT:        "line": 105,
 // CHECK-NEXT:        "col": 5,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 105
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "inner": [
@@ -3812,14 +3605,13 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:        "kind": "DeclStmt",
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
+// CHECK-NEXT:          "line": 104,
 // CHECK-NEXT:          "col": 8,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 104
+// CHECK-NEXT:          "tokLen": 3
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 17,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 104
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "inner": [
@@ -3828,19 +3620,16 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:          "kind": "VarDecl",
 // CHECK-NEXT:          "loc": {
 // CHECK-NEXT:           "col": 12,
-// CHECK-NEXT:           "file": "{{.*}}",
-// CHECK-NEXT:           "line": 104
+// CHECK-NEXT:           "tokLen": 1
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 8,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 104
+// CHECK-NEXT:            "tokLen": 3
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 16,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 104
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "isUsed": true,
@@ -3856,13 +3645,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:            "range": {
 // CHECK-NEXT:             "begin": {
 // CHECK-NEXT:              "col": 16,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 104
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             },
 // CHECK-NEXT:             "end": {
 // CHECK-NEXT:              "col": 16,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 104
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             }
 // CHECK-NEXT:            },
 // CHECK-NEXT:            "type": {
@@ -3881,13 +3668,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 19,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 104
+// CHECK-NEXT:          "tokLen": 3
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 27,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 104
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "inner": [
@@ -3896,19 +3681,16 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:          "kind": "VarDecl",
 // CHECK-NEXT:          "loc": {
 // CHECK-NEXT:           "col": 23,
-// CHECK-NEXT:           "file": "{{.*}}",
-// CHECK-NEXT:           "line": 104
+// CHECK-NEXT:           "tokLen": 1
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 19,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 104
+// CHECK-NEXT:            "tokLen": 3
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 27,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 104
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "isUsed": true,
@@ -3924,13 +3706,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:            "range": {
 // CHECK-NEXT:             "begin": {
 // CHECK-NEXT:              "col": 27,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 104
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             },
 // CHECK-NEXT:             "end": {
 // CHECK-NEXT:              "col": 27,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 104
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             }
 // CHECK-NEXT:            },
 // CHECK-NEXT:            "type": {
@@ -3945,13 +3725,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:              "range": {
 // CHECK-NEXT:               "begin": {
 // CHECK-NEXT:                "col": 27,
-// CHECK-NEXT:                "file": "{{.*}}",
-// CHECK-NEXT:                "line": 104
+// CHECK-NEXT:                "tokLen": 1
 // CHECK-NEXT:               },
 // CHECK-NEXT:               "end": {
 // CHECK-NEXT:                "col": 27,
-// CHECK-NEXT:                "file": "{{.*}}",
-// CHECK-NEXT:                "line": 104
+// CHECK-NEXT:                "tokLen": 1
 // CHECK-NEXT:               }
 // CHECK-NEXT:              },
 // CHECK-NEXT:              "type": {
@@ -3979,13 +3757,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 23,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 104
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 23,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 104
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -4000,13 +3776,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 23,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 104
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 23,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 104
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "type": {
@@ -4021,13 +3795,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:            "range": {
 // CHECK-NEXT:             "begin": {
 // CHECK-NEXT:              "col": 23,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 104
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             },
 // CHECK-NEXT:             "end": {
 // CHECK-NEXT:              "col": 23,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 104
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             }
 // CHECK-NEXT:            },
 // CHECK-NEXT:            "type": {
@@ -4053,13 +3825,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 30,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 104
+// CHECK-NEXT:          "tokLen": 2
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 32,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 104
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -4075,13 +3845,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 32,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 104
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 32,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 104
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "type": {
@@ -4104,14 +3872,13 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:        "kind": "NullStmt",
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
+// CHECK-NEXT:          "line": 105,
 // CHECK-NEXT:          "col": 5,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 105
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 5,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 105
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        }
 // CHECK-NEXT:       }
@@ -4122,14 +3889,13 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:      "kind": "DeclStmt",
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
+// CHECK-NEXT:        "line": 107,
 // CHECK-NEXT:        "col": 3,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 107
+// CHECK-NEXT:        "tokLen": 3
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 15,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 107
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "inner": [
@@ -4138,19 +3904,16 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:        "kind": "VarDecl",
 // CHECK-NEXT:        "loc": {
 // CHECK-NEXT:         "col": 7,
-// CHECK-NEXT:         "file": "{{.*}}",
-// CHECK-NEXT:         "line": 107
+// CHECK-NEXT:         "tokLen": 4
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 3,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 107
+// CHECK-NEXT:          "tokLen": 3
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 14,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 107
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "isUsed": true,
@@ -4166,14 +3929,14 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:      "kind": "CXXForRangeStmt",
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
+// CHECK-NEXT:        "line": 108,
 // CHECK-NEXT:        "col": 3,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 108
+// CHECK-NEXT:        "tokLen": 3
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
+// CHECK-NEXT:        "line": 109,
 // CHECK-NEXT:        "col": 5,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 109
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "inner": [
@@ -4183,14 +3946,13 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:        "kind": "DeclStmt",
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
+// CHECK-NEXT:          "line": 108,
 // CHECK-NEXT:          "col": 16,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 108
+// CHECK-NEXT:          "tokLen": 4
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 16,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 108
+// CHECK-NEXT:          "tokLen": 4
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "inner": [
@@ -4199,19 +3961,16 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:          "kind": "VarDecl",
 // CHECK-NEXT:          "loc": {
 // CHECK-NEXT:           "col": 16,
-// CHECK-NEXT:           "file": "{{.*}}",
-// CHECK-NEXT:           "line": 108
+// CHECK-NEXT:           "tokLen": 4
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 16,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 108
+// CHECK-NEXT:            "tokLen": 4
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 16,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 108
+// CHECK-NEXT:            "tokLen": 4
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "isImplicit": true,
@@ -4228,13 +3987,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:            "range": {
 // CHECK-NEXT:             "begin": {
 // CHECK-NEXT:              "col": 16,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 108
+// CHECK-NEXT:              "tokLen": 4
 // CHECK-NEXT:             },
 // CHECK-NEXT:             "end": {
 // CHECK-NEXT:              "col": 16,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 108
+// CHECK-NEXT:              "tokLen": 4
 // CHECK-NEXT:             }
 // CHECK-NEXT:            },
 // CHECK-NEXT:            "type": {
@@ -4260,13 +4017,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 14,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 108
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 14,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 108
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "inner": [
@@ -4275,19 +4030,16 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:          "kind": "VarDecl",
 // CHECK-NEXT:          "loc": {
 // CHECK-NEXT:           "col": 14,
-// CHECK-NEXT:           "file": "{{.*}}",
-// CHECK-NEXT:           "line": 108
+// CHECK-NEXT:           "tokLen": 1
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 14,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 108
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 14,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 108
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "isImplicit": true,
@@ -4305,13 +4057,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:            "range": {
 // CHECK-NEXT:             "begin": {
 // CHECK-NEXT:              "col": 14,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 108
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             },
 // CHECK-NEXT:             "end": {
 // CHECK-NEXT:              "col": 14,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 108
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             }
 // CHECK-NEXT:            },
 // CHECK-NEXT:            "type": {
@@ -4326,13 +4076,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:              "range": {
 // CHECK-NEXT:               "begin": {
 // CHECK-NEXT:                "col": 14,
-// CHECK-NEXT:                "file": "{{.*}}",
-// CHECK-NEXT:                "line": 108
+// CHECK-NEXT:                "tokLen": 1
 // CHECK-NEXT:               },
 // CHECK-NEXT:               "end": {
 // CHECK-NEXT:                "col": 14,
-// CHECK-NEXT:                "file": "{{.*}}",
-// CHECK-NEXT:                "line": 108
+// CHECK-NEXT:                "tokLen": 1
 // CHECK-NEXT:               }
 // CHECK-NEXT:              },
 // CHECK-NEXT:              "type": {
@@ -4360,13 +4108,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 14,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 108
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 14,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 108
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "inner": [
@@ -4375,19 +4121,16 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:          "kind": "VarDecl",
 // CHECK-NEXT:          "loc": {
 // CHECK-NEXT:           "col": 14,
-// CHECK-NEXT:           "file": "{{.*}}",
-// CHECK-NEXT:           "line": 108
+// CHECK-NEXT:           "tokLen": 1
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 14,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 108
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 16,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 108
+// CHECK-NEXT:            "tokLen": 4
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "isImplicit": true,
@@ -4405,13 +4148,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:            "range": {
 // CHECK-NEXT:             "begin": {
 // CHECK-NEXT:              "col": 14,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 108
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             },
 // CHECK-NEXT:             "end": {
 // CHECK-NEXT:              "col": 16,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 108
+// CHECK-NEXT:              "tokLen": 4
 // CHECK-NEXT:             }
 // CHECK-NEXT:            },
 // CHECK-NEXT:            "type": {
@@ -4426,13 +4167,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:              "range": {
 // CHECK-NEXT:               "begin": {
 // CHECK-NEXT:                "col": 14,
-// CHECK-NEXT:                "file": "{{.*}}",
-// CHECK-NEXT:                "line": 108
+// CHECK-NEXT:                "tokLen": 1
 // CHECK-NEXT:               },
 // CHECK-NEXT:               "end": {
 // CHECK-NEXT:                "col": 14,
-// CHECK-NEXT:                "file": "{{.*}}",
-// CHECK-NEXT:                "line": 108
+// CHECK-NEXT:                "tokLen": 1
 // CHECK-NEXT:               }
 // CHECK-NEXT:              },
 // CHECK-NEXT:              "type": {
@@ -4447,13 +4186,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:                "range": {
 // CHECK-NEXT:                 "begin": {
 // CHECK-NEXT:                  "col": 14,
-// CHECK-NEXT:                  "file": "{{.*}}",
-// CHECK-NEXT:                  "line": 108
+// CHECK-NEXT:                  "tokLen": 1
 // CHECK-NEXT:                 },
 // CHECK-NEXT:                 "end": {
 // CHECK-NEXT:                  "col": 14,
-// CHECK-NEXT:                  "file": "{{.*}}",
-// CHECK-NEXT:                  "line": 108
+// CHECK-NEXT:                  "tokLen": 1
 // CHECK-NEXT:                 }
 // CHECK-NEXT:                },
 // CHECK-NEXT:                "type": {
@@ -4477,13 +4214,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:              "range": {
 // CHECK-NEXT:               "begin": {
 // CHECK-NEXT:                "col": 16,
-// CHECK-NEXT:                "file": "{{.*}}",
-// CHECK-NEXT:                "line": 108
+// CHECK-NEXT:                "tokLen": 4
 // CHECK-NEXT:               },
 // CHECK-NEXT:               "end": {
 // CHECK-NEXT:                "col": 16,
-// CHECK-NEXT:                "file": "{{.*}}",
-// CHECK-NEXT:                "line": 108
+// CHECK-NEXT:                "tokLen": 4
 // CHECK-NEXT:               }
 // CHECK-NEXT:              },
 // CHECK-NEXT:              "type": {
@@ -4504,13 +4239,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 14,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 108
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 14,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 108
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -4525,13 +4258,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 14,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 108
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 14,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 108
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "type": {
@@ -4547,13 +4278,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:            "range": {
 // CHECK-NEXT:             "begin": {
 // CHECK-NEXT:              "col": 14,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 108
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             },
 // CHECK-NEXT:             "end": {
 // CHECK-NEXT:              "col": 14,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 108
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             }
 // CHECK-NEXT:            },
 // CHECK-NEXT:            "type": {
@@ -4579,13 +4308,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 14,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 108
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 14,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 108
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "type": {
@@ -4601,13 +4328,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:            "range": {
 // CHECK-NEXT:             "begin": {
 // CHECK-NEXT:              "col": 14,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 108
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             },
 // CHECK-NEXT:             "end": {
 // CHECK-NEXT:              "col": 14,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 108
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             }
 // CHECK-NEXT:            },
 // CHECK-NEXT:            "type": {
@@ -4635,13 +4360,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 14,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 108
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 14,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 108
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -4658,13 +4381,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 14,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 108
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 14,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 108
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "type": {
@@ -4690,13 +4411,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 8,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 108
+// CHECK-NEXT:          "tokLen": 3
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 20,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 108
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "inner": [
@@ -4705,19 +4424,16 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:          "kind": "VarDecl",
 // CHECK-NEXT:          "loc": {
 // CHECK-NEXT:           "col": 12,
-// CHECK-NEXT:           "file": "{{.*}}",
-// CHECK-NEXT:           "line": 108
+// CHECK-NEXT:           "tokLen": 1
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 8,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 108
+// CHECK-NEXT:            "tokLen": 3
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 14,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 108
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "name": "v",
@@ -4732,13 +4448,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:            "range": {
 // CHECK-NEXT:             "begin": {
 // CHECK-NEXT:              "col": 14,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 108
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             },
 // CHECK-NEXT:             "end": {
 // CHECK-NEXT:              "col": 14,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 108
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             }
 // CHECK-NEXT:            },
 // CHECK-NEXT:            "type": {
@@ -4753,13 +4467,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:              "range": {
 // CHECK-NEXT:               "begin": {
 // CHECK-NEXT:                "col": 14,
-// CHECK-NEXT:                "file": "{{.*}}",
-// CHECK-NEXT:                "line": 108
+// CHECK-NEXT:                "tokLen": 1
 // CHECK-NEXT:               },
 // CHECK-NEXT:               "end": {
 // CHECK-NEXT:                "col": 14,
-// CHECK-NEXT:                "file": "{{.*}}",
-// CHECK-NEXT:                "line": 108
+// CHECK-NEXT:                "tokLen": 1
 // CHECK-NEXT:               }
 // CHECK-NEXT:              },
 // CHECK-NEXT:              "type": {
@@ -4776,13 +4488,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:                "range": {
 // CHECK-NEXT:                 "begin": {
 // CHECK-NEXT:                  "col": 14,
-// CHECK-NEXT:                  "file": "{{.*}}",
-// CHECK-NEXT:                  "line": 108
+// CHECK-NEXT:                  "tokLen": 1
 // CHECK-NEXT:                 },
 // CHECK-NEXT:                 "end": {
 // CHECK-NEXT:                  "col": 14,
-// CHECK-NEXT:                  "file": "{{.*}}",
-// CHECK-NEXT:                  "line": 108
+// CHECK-NEXT:                  "tokLen": 1
 // CHECK-NEXT:                 }
 // CHECK-NEXT:                },
 // CHECK-NEXT:                "type": {
@@ -4798,13 +4508,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:                  "range": {
 // CHECK-NEXT:                   "begin": {
 // CHECK-NEXT:                    "col": 14,
-// CHECK-NEXT:                    "file": "{{.*}}",
-// CHECK-NEXT:                    "line": 108
+// CHECK-NEXT:                    "tokLen": 1
 // CHECK-NEXT:                   },
 // CHECK-NEXT:                   "end": {
 // CHECK-NEXT:                    "col": 14,
-// CHECK-NEXT:                    "file": "{{.*}}",
-// CHECK-NEXT:                    "line": 108
+// CHECK-NEXT:                    "tokLen": 1
 // CHECK-NEXT:                   }
 // CHECK-NEXT:                  },
 // CHECK-NEXT:                  "type": {
@@ -4837,14 +4545,13 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:        "kind": "NullStmt",
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
+// CHECK-NEXT:          "line": 109,
 // CHECK-NEXT:          "col": 5,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 109
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 5,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 109
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        }
 // CHECK-NEXT:       }
@@ -4855,14 +4562,13 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:      "kind": "DeclStmt",
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
+// CHECK-NEXT:        "line": 111,
 // CHECK-NEXT:        "col": 3,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 111
+// CHECK-NEXT:        "tokLen": 9
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 14,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 111
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "inner": [
@@ -4871,19 +4577,16 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:        "kind": "VarDecl",
 // CHECK-NEXT:        "loc": {
 // CHECK-NEXT:         "col": 13,
-// CHECK-NEXT:         "file": "{{.*}}",
-// CHECK-NEXT:         "line": 111
+// CHECK-NEXT:         "tokLen": 1
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 3,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 111
+// CHECK-NEXT:          "tokLen": 9
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 13,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 111
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "isUsed": true,
@@ -4899,13 +4602,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 13,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 111
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 13,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 111
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "type": {
@@ -4927,14 +4628,14 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:      "kind": "CXXForRangeStmt",
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
+// CHECK-NEXT:        "line": 112,
 // CHECK-NEXT:        "col": 3,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 112
+// CHECK-NEXT:        "tokLen": 3
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
+// CHECK-NEXT:        "line": 113,
 // CHECK-NEXT:        "col": 5,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 113
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "inner": [
@@ -4944,14 +4645,13 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:        "kind": "DeclStmt",
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
+// CHECK-NEXT:          "line": 112,
 // CHECK-NEXT:          "col": 16,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 112
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 16,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 112
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "inner": [
@@ -4960,19 +4660,16 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:          "kind": "VarDecl",
 // CHECK-NEXT:          "loc": {
 // CHECK-NEXT:           "col": 16,
-// CHECK-NEXT:           "file": "{{.*}}",
-// CHECK-NEXT:           "line": 112
+// CHECK-NEXT:           "tokLen": 1
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 16,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 112
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 16,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 112
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "isImplicit": true,
@@ -4989,13 +4686,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:            "range": {
 // CHECK-NEXT:             "begin": {
 // CHECK-NEXT:              "col": 16,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 112
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             },
 // CHECK-NEXT:             "end": {
 // CHECK-NEXT:              "col": 16,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 112
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             }
 // CHECK-NEXT:            },
 // CHECK-NEXT:            "type": {
@@ -5021,13 +4716,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 14,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 112
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 14,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 112
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "inner": [
@@ -5036,19 +4729,16 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:          "kind": "VarDecl",
 // CHECK-NEXT:          "loc": {
 // CHECK-NEXT:           "col": 14,
-// CHECK-NEXT:           "file": "{{.*}}",
-// CHECK-NEXT:           "line": 112
+// CHECK-NEXT:           "tokLen": 1
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 14,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 112
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 14,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 112
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "isImplicit": true,
@@ -5066,13 +4756,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:            "range": {
 // CHECK-NEXT:             "begin": {
 // CHECK-NEXT:              "col": 14,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 112
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             },
 // CHECK-NEXT:             "end": {
 // CHECK-NEXT:              "col": 14,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 112
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             }
 // CHECK-NEXT:            },
 // CHECK-NEXT:            "type": {
@@ -5086,13 +4774,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:              "range": {
 // CHECK-NEXT:               "begin": {
 // CHECK-NEXT:                "col": 14,
-// CHECK-NEXT:                "file": "{{.*}}",
-// CHECK-NEXT:                "line": 112
+// CHECK-NEXT:                "tokLen": 1
 // CHECK-NEXT:               },
 // CHECK-NEXT:               "end": {
 // CHECK-NEXT:                "col": 14,
-// CHECK-NEXT:                "file": "{{.*}}",
-// CHECK-NEXT:                "line": 112
+// CHECK-NEXT:                "tokLen": 1
 // CHECK-NEXT:               }
 // CHECK-NEXT:              },
 // CHECK-NEXT:              "type": {
@@ -5109,13 +4795,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:                "range": {
 // CHECK-NEXT:                 "begin": {
 // CHECK-NEXT:                  "col": 14,
-// CHECK-NEXT:                  "file": "{{.*}}",
-// CHECK-NEXT:                  "line": 112
+// CHECK-NEXT:                  "tokLen": 1
 // CHECK-NEXT:                 },
 // CHECK-NEXT:                 "end": {
 // CHECK-NEXT:                  "col": 14,
-// CHECK-NEXT:                  "file": "{{.*}}",
-// CHECK-NEXT:                  "line": 112
+// CHECK-NEXT:                  "tokLen": 1
 // CHECK-NEXT:                 }
 // CHECK-NEXT:                },
 // CHECK-NEXT:                "type": {
@@ -5130,13 +4814,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:                  "range": {
 // CHECK-NEXT:                   "begin": {
 // CHECK-NEXT:                    "col": 14,
-// CHECK-NEXT:                    "file": "{{.*}}",
-// CHECK-NEXT:                    "line": 112
+// CHECK-NEXT:                    "tokLen": 1
 // CHECK-NEXT:                   },
 // CHECK-NEXT:                   "end": {
 // CHECK-NEXT:                    "col": 14,
-// CHECK-NEXT:                    "file": "{{.*}}",
-// CHECK-NEXT:                    "line": 112
+// CHECK-NEXT:                    "tokLen": 1
 // CHECK-NEXT:                   }
 // CHECK-NEXT:                  },
 // CHECK-NEXT:                  "type": {
@@ -5168,13 +4850,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 14,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 112
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 14,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 112
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "inner": [
@@ -5183,19 +4863,16 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:          "kind": "VarDecl",
 // CHECK-NEXT:          "loc": {
 // CHECK-NEXT:           "col": 14,
-// CHECK-NEXT:           "file": "{{.*}}",
-// CHECK-NEXT:           "line": 112
+// CHECK-NEXT:           "tokLen": 1
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 14,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 112
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 14,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 112
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "isImplicit": true,
@@ -5213,13 +4890,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:            "range": {
 // CHECK-NEXT:             "begin": {
 // CHECK-NEXT:              "col": 14,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 112
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             },
 // CHECK-NEXT:             "end": {
 // CHECK-NEXT:              "col": 14,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 112
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             }
 // CHECK-NEXT:            },
 // CHECK-NEXT:            "type": {
@@ -5233,13 +4908,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:              "range": {
 // CHECK-NEXT:               "begin": {
 // CHECK-NEXT:                "col": 14,
-// CHECK-NEXT:                "file": "{{.*}}",
-// CHECK-NEXT:                "line": 112
+// CHECK-NEXT:                "tokLen": 1
 // CHECK-NEXT:               },
 // CHECK-NEXT:               "end": {
 // CHECK-NEXT:                "col": 14,
-// CHECK-NEXT:                "file": "{{.*}}",
-// CHECK-NEXT:                "line": 112
+// CHECK-NEXT:                "tokLen": 1
 // CHECK-NEXT:               }
 // CHECK-NEXT:              },
 // CHECK-NEXT:              "type": {
@@ -5256,13 +4929,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:                "range": {
 // CHECK-NEXT:                 "begin": {
 // CHECK-NEXT:                  "col": 14,
-// CHECK-NEXT:                  "file": "{{.*}}",
-// CHECK-NEXT:                  "line": 112
+// CHECK-NEXT:                  "tokLen": 1
 // CHECK-NEXT:                 },
 // CHECK-NEXT:                 "end": {
 // CHECK-NEXT:                  "col": 14,
-// CHECK-NEXT:                  "file": "{{.*}}",
-// CHECK-NEXT:                  "line": 112
+// CHECK-NEXT:                  "tokLen": 1
 // CHECK-NEXT:                 }
 // CHECK-NEXT:                },
 // CHECK-NEXT:                "type": {
@@ -5277,13 +4948,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:                  "range": {
 // CHECK-NEXT:                   "begin": {
 // CHECK-NEXT:                    "col": 14,
-// CHECK-NEXT:                    "file": "{{.*}}",
-// CHECK-NEXT:                    "line": 112
+// CHECK-NEXT:                    "tokLen": 1
 // CHECK-NEXT:                   },
 // CHECK-NEXT:                   "end": {
 // CHECK-NEXT:                    "col": 14,
-// CHECK-NEXT:                    "file": "{{.*}}",
-// CHECK-NEXT:                    "line": 112
+// CHECK-NEXT:                    "tokLen": 1
 // CHECK-NEXT:                   }
 // CHECK-NEXT:                  },
 // CHECK-NEXT:                  "type": {
@@ -5315,13 +4984,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 14,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 112
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 14,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 112
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -5336,13 +5003,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 14,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 112
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 14,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 112
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "type": {
@@ -5358,13 +5023,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:            "range": {
 // CHECK-NEXT:             "begin": {
 // CHECK-NEXT:              "col": 14,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 112
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             },
 // CHECK-NEXT:             "end": {
 // CHECK-NEXT:              "col": 14,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 112
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             }
 // CHECK-NEXT:            },
 // CHECK-NEXT:            "type": {
@@ -5390,13 +5053,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 14,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 112
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 14,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 112
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "type": {
@@ -5412,13 +5073,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:            "range": {
 // CHECK-NEXT:             "begin": {
 // CHECK-NEXT:              "col": 14,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 112
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             },
 // CHECK-NEXT:             "end": {
 // CHECK-NEXT:              "col": 14,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 112
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             }
 // CHECK-NEXT:            },
 // CHECK-NEXT:            "type": {
@@ -5446,13 +5105,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 14,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 112
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 14,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 112
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -5469,13 +5126,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 14,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 112
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 14,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 112
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "type": {
@@ -5501,13 +5156,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 8,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 112
+// CHECK-NEXT:          "tokLen": 3
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 17,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 112
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "inner": [
@@ -5516,19 +5169,16 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:          "kind": "VarDecl",
 // CHECK-NEXT:          "loc": {
 // CHECK-NEXT:           "col": 12,
-// CHECK-NEXT:           "file": "{{.*}}",
-// CHECK-NEXT:           "line": 112
+// CHECK-NEXT:           "tokLen": 1
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 8,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 112
+// CHECK-NEXT:            "tokLen": 3
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 14,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 112
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "name": "v",
@@ -5543,13 +5193,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:            "range": {
 // CHECK-NEXT:             "begin": {
 // CHECK-NEXT:              "col": 14,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 112
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             },
 // CHECK-NEXT:             "end": {
 // CHECK-NEXT:              "col": 14,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 112
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             }
 // CHECK-NEXT:            },
 // CHECK-NEXT:            "type": {
@@ -5564,13 +5212,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:              "range": {
 // CHECK-NEXT:               "begin": {
 // CHECK-NEXT:                "col": 14,
-// CHECK-NEXT:                "file": "{{.*}}",
-// CHECK-NEXT:                "line": 112
+// CHECK-NEXT:                "tokLen": 1
 // CHECK-NEXT:               },
 // CHECK-NEXT:               "end": {
 // CHECK-NEXT:                "col": 14,
-// CHECK-NEXT:                "file": "{{.*}}",
-// CHECK-NEXT:                "line": 112
+// CHECK-NEXT:                "tokLen": 1
 // CHECK-NEXT:               }
 // CHECK-NEXT:              },
 // CHECK-NEXT:              "type": {
@@ -5587,13 +5233,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:                "range": {
 // CHECK-NEXT:                 "begin": {
 // CHECK-NEXT:                  "col": 14,
-// CHECK-NEXT:                  "file": "{{.*}}",
-// CHECK-NEXT:                  "line": 112
+// CHECK-NEXT:                  "tokLen": 1
 // CHECK-NEXT:                 },
 // CHECK-NEXT:                 "end": {
 // CHECK-NEXT:                  "col": 14,
-// CHECK-NEXT:                  "file": "{{.*}}",
-// CHECK-NEXT:                  "line": 112
+// CHECK-NEXT:                  "tokLen": 1
 // CHECK-NEXT:                 }
 // CHECK-NEXT:                },
 // CHECK-NEXT:                "type": {
@@ -5609,13 +5253,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:                  "range": {
 // CHECK-NEXT:                   "begin": {
 // CHECK-NEXT:                    "col": 14,
-// CHECK-NEXT:                    "file": "{{.*}}",
-// CHECK-NEXT:                    "line": 112
+// CHECK-NEXT:                    "tokLen": 1
 // CHECK-NEXT:                   },
 // CHECK-NEXT:                   "end": {
 // CHECK-NEXT:                    "col": 14,
-// CHECK-NEXT:                    "file": "{{.*}}",
-// CHECK-NEXT:                    "line": 112
+// CHECK-NEXT:                    "tokLen": 1
 // CHECK-NEXT:                   }
 // CHECK-NEXT:                  },
 // CHECK-NEXT:                  "type": {
@@ -5648,14 +5290,13 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:        "kind": "NullStmt",
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
+// CHECK-NEXT:          "line": 113,
 // CHECK-NEXT:          "col": 5,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 113
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 5,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 113
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        }
 // CHECK-NEXT:       }
@@ -5666,14 +5307,14 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:      "kind": "CXXForRangeStmt",
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
+// CHECK-NEXT:        "line": 115,
 // CHECK-NEXT:        "col": 3,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 115
+// CHECK-NEXT:        "tokLen": 3
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
+// CHECK-NEXT:        "line": 116,
 // CHECK-NEXT:        "col": 5,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 116
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "inner": [
@@ -5682,14 +5323,13 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:        "kind": "DeclStmt",
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
+// CHECK-NEXT:          "line": 115,
 // CHECK-NEXT:          "col": 8,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 115
+// CHECK-NEXT:          "tokLen": 3
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 13,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 115
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "inner": [
@@ -5698,19 +5338,16 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:          "kind": "VarDecl",
 // CHECK-NEXT:          "loc": {
 // CHECK-NEXT:           "col": 12,
-// CHECK-NEXT:           "file": "{{.*}}",
-// CHECK-NEXT:           "line": 115
+// CHECK-NEXT:           "tokLen": 1
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 8,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 115
+// CHECK-NEXT:            "tokLen": 3
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 12,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 115
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "name": "a",
@@ -5726,13 +5363,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 23,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 115
+// CHECK-NEXT:          "tokLen": 4
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 23,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 115
+// CHECK-NEXT:          "tokLen": 4
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "inner": [
@@ -5741,19 +5376,16 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:          "kind": "VarDecl",
 // CHECK-NEXT:          "loc": {
 // CHECK-NEXT:           "col": 23,
-// CHECK-NEXT:           "file": "{{.*}}",
-// CHECK-NEXT:           "line": 115
+// CHECK-NEXT:           "tokLen": 4
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 23,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 115
+// CHECK-NEXT:            "tokLen": 4
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 23,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 115
+// CHECK-NEXT:            "tokLen": 4
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "isImplicit": true,
@@ -5770,13 +5402,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:            "range": {
 // CHECK-NEXT:             "begin": {
 // CHECK-NEXT:              "col": 23,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 115
+// CHECK-NEXT:              "tokLen": 4
 // CHECK-NEXT:             },
 // CHECK-NEXT:             "end": {
 // CHECK-NEXT:              "col": 23,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 115
+// CHECK-NEXT:              "tokLen": 4
 // CHECK-NEXT:             }
 // CHECK-NEXT:            },
 // CHECK-NEXT:            "type": {
@@ -5802,13 +5432,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 21,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 115
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 21,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 115
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "inner": [
@@ -5817,19 +5445,16 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:          "kind": "VarDecl",
 // CHECK-NEXT:          "loc": {
 // CHECK-NEXT:           "col": 21,
-// CHECK-NEXT:           "file": "{{.*}}",
-// CHECK-NEXT:           "line": 115
+// CHECK-NEXT:           "tokLen": 1
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 21,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 115
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 21,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 115
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "isImplicit": true,
@@ -5847,13 +5472,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:            "range": {
 // CHECK-NEXT:             "begin": {
 // CHECK-NEXT:              "col": 21,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 115
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             },
 // CHECK-NEXT:             "end": {
 // CHECK-NEXT:              "col": 21,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 115
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             }
 // CHECK-NEXT:            },
 // CHECK-NEXT:            "type": {
@@ -5868,13 +5491,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:              "range": {
 // CHECK-NEXT:               "begin": {
 // CHECK-NEXT:                "col": 21,
-// CHECK-NEXT:                "file": "{{.*}}",
-// CHECK-NEXT:                "line": 115
+// CHECK-NEXT:                "tokLen": 1
 // CHECK-NEXT:               },
 // CHECK-NEXT:               "end": {
 // CHECK-NEXT:                "col": 21,
-// CHECK-NEXT:                "file": "{{.*}}",
-// CHECK-NEXT:                "line": 115
+// CHECK-NEXT:                "tokLen": 1
 // CHECK-NEXT:               }
 // CHECK-NEXT:              },
 // CHECK-NEXT:              "type": {
@@ -5902,13 +5523,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 21,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 115
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 21,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 115
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "inner": [
@@ -5917,19 +5536,16 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:          "kind": "VarDecl",
 // CHECK-NEXT:          "loc": {
 // CHECK-NEXT:           "col": 21,
-// CHECK-NEXT:           "file": "{{.*}}",
-// CHECK-NEXT:           "line": 115
+// CHECK-NEXT:           "tokLen": 1
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 21,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 115
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 23,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 115
+// CHECK-NEXT:            "tokLen": 4
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "isImplicit": true,
@@ -5947,13 +5563,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:            "range": {
 // CHECK-NEXT:             "begin": {
 // CHECK-NEXT:              "col": 21,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 115
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             },
 // CHECK-NEXT:             "end": {
 // CHECK-NEXT:              "col": 23,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 115
+// CHECK-NEXT:              "tokLen": 4
 // CHECK-NEXT:             }
 // CHECK-NEXT:            },
 // CHECK-NEXT:            "type": {
@@ -5968,13 +5582,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:              "range": {
 // CHECK-NEXT:               "begin": {
 // CHECK-NEXT:                "col": 21,
-// CHECK-NEXT:                "file": "{{.*}}",
-// CHECK-NEXT:                "line": 115
+// CHECK-NEXT:                "tokLen": 1
 // CHECK-NEXT:               },
 // CHECK-NEXT:               "end": {
 // CHECK-NEXT:                "col": 21,
-// CHECK-NEXT:                "file": "{{.*}}",
-// CHECK-NEXT:                "line": 115
+// CHECK-NEXT:                "tokLen": 1
 // CHECK-NEXT:               }
 // CHECK-NEXT:              },
 // CHECK-NEXT:              "type": {
@@ -5989,13 +5601,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:                "range": {
 // CHECK-NEXT:                 "begin": {
 // CHECK-NEXT:                  "col": 21,
-// CHECK-NEXT:                  "file": "{{.*}}",
-// CHECK-NEXT:                  "line": 115
+// CHECK-NEXT:                  "tokLen": 1
 // CHECK-NEXT:                 },
 // CHECK-NEXT:                 "end": {
 // CHECK-NEXT:                  "col": 21,
-// CHECK-NEXT:                  "file": "{{.*}}",
-// CHECK-NEXT:                  "line": 115
+// CHECK-NEXT:                  "tokLen": 1
 // CHECK-NEXT:                 }
 // CHECK-NEXT:                },
 // CHECK-NEXT:                "type": {
@@ -6019,13 +5629,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:              "range": {
 // CHECK-NEXT:               "begin": {
 // CHECK-NEXT:                "col": 23,
-// CHECK-NEXT:                "file": "{{.*}}",
-// CHECK-NEXT:                "line": 115
+// CHECK-NEXT:                "tokLen": 4
 // CHECK-NEXT:               },
 // CHECK-NEXT:               "end": {
 // CHECK-NEXT:                "col": 23,
-// CHECK-NEXT:                "file": "{{.*}}",
-// CHECK-NEXT:                "line": 115
+// CHECK-NEXT:                "tokLen": 4
 // CHECK-NEXT:               }
 // CHECK-NEXT:              },
 // CHECK-NEXT:              "type": {
@@ -6046,13 +5654,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 21,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 115
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 21,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 115
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -6067,13 +5673,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 21,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 115
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 21,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 115
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "type": {
@@ -6089,13 +5693,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:            "range": {
 // CHECK-NEXT:             "begin": {
 // CHECK-NEXT:              "col": 21,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 115
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             },
 // CHECK-NEXT:             "end": {
 // CHECK-NEXT:              "col": 21,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 115
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             }
 // CHECK-NEXT:            },
 // CHECK-NEXT:            "type": {
@@ -6121,13 +5723,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 21,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 115
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 21,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 115
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "type": {
@@ -6143,13 +5743,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:            "range": {
 // CHECK-NEXT:             "begin": {
 // CHECK-NEXT:              "col": 21,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 115
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             },
 // CHECK-NEXT:             "end": {
 // CHECK-NEXT:              "col": 21,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 115
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             }
 // CHECK-NEXT:            },
 // CHECK-NEXT:            "type": {
@@ -6177,13 +5775,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 21,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 115
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 21,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 115
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -6200,13 +5796,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 21,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 115
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 21,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 115
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "type": {
@@ -6232,13 +5826,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 15,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 115
+// CHECK-NEXT:          "tokLen": 3
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 27,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 115
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "inner": [
@@ -6247,19 +5839,16 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:          "kind": "VarDecl",
 // CHECK-NEXT:          "loc": {
 // CHECK-NEXT:           "col": 19,
-// CHECK-NEXT:           "file": "{{.*}}",
-// CHECK-NEXT:           "line": 115
+// CHECK-NEXT:           "tokLen": 1
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 15,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 115
+// CHECK-NEXT:            "tokLen": 3
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 21,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 115
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "name": "v",
@@ -6274,13 +5863,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:            "range": {
 // CHECK-NEXT:             "begin": {
 // CHECK-NEXT:              "col": 21,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 115
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             },
 // CHECK-NEXT:             "end": {
 // CHECK-NEXT:              "col": 21,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 115
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             }
 // CHECK-NEXT:            },
 // CHECK-NEXT:            "type": {
@@ -6295,13 +5882,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:              "range": {
 // CHECK-NEXT:               "begin": {
 // CHECK-NEXT:                "col": 21,
-// CHECK-NEXT:                "file": "{{.*}}",
-// CHECK-NEXT:                "line": 115
+// CHECK-NEXT:                "tokLen": 1
 // CHECK-NEXT:               },
 // CHECK-NEXT:               "end": {
 // CHECK-NEXT:                "col": 21,
-// CHECK-NEXT:                "file": "{{.*}}",
-// CHECK-NEXT:                "line": 115
+// CHECK-NEXT:                "tokLen": 1
 // CHECK-NEXT:               }
 // CHECK-NEXT:              },
 // CHECK-NEXT:              "type": {
@@ -6318,13 +5903,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:                "range": {
 // CHECK-NEXT:                 "begin": {
 // CHECK-NEXT:                  "col": 21,
-// CHECK-NEXT:                  "file": "{{.*}}",
-// CHECK-NEXT:                  "line": 115
+// CHECK-NEXT:                  "tokLen": 1
 // CHECK-NEXT:                 },
 // CHECK-NEXT:                 "end": {
 // CHECK-NEXT:                  "col": 21,
-// CHECK-NEXT:                  "file": "{{.*}}",
-// CHECK-NEXT:                  "line": 115
+// CHECK-NEXT:                  "tokLen": 1
 // CHECK-NEXT:                 }
 // CHECK-NEXT:                },
 // CHECK-NEXT:                "type": {
@@ -6340,13 +5923,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:                  "range": {
 // CHECK-NEXT:                   "begin": {
 // CHECK-NEXT:                    "col": 21,
-// CHECK-NEXT:                    "file": "{{.*}}",
-// CHECK-NEXT:                    "line": 115
+// CHECK-NEXT:                    "tokLen": 1
 // CHECK-NEXT:                   },
 // CHECK-NEXT:                   "end": {
 // CHECK-NEXT:                    "col": 21,
-// CHECK-NEXT:                    "file": "{{.*}}",
-// CHECK-NEXT:                    "line": 115
+// CHECK-NEXT:                    "tokLen": 1
 // CHECK-NEXT:                   }
 // CHECK-NEXT:                  },
 // CHECK-NEXT:                  "type": {
@@ -6379,14 +5960,13 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:        "kind": "NullStmt",
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
+// CHECK-NEXT:          "line": 116,
 // CHECK-NEXT:          "col": 5,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 116
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 5,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 116
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        }
 // CHECK-NEXT:       }
@@ -6400,20 +5980,20 @@ void TestDependentGenericSelectionExpr(T
 
 // CHECK:  "kind": "FunctionTemplateDecl",
 // CHECK-NEXT:  "loc": {
+// CHECK-NEXT:   "line": 120,
 // CHECK-NEXT:   "col": 6,
-// CHECK-NEXT:   "file": "{{.*}}",
-// CHECK-NEXT:   "line": 120
+// CHECK-NEXT:   "tokLen": 33
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "range": {
 // CHECK-NEXT:   "begin": {
+// CHECK-NEXT:    "line": 119,
 // CHECK-NEXT:    "col": 1,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 119
+// CHECK-NEXT:    "tokLen": 8
 // CHECK-NEXT:   },
 // CHECK-NEXT:   "end": {
+// CHECK-NEXT:    "line": 123,
 // CHECK-NEXT:    "col": 1,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 123
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   }
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "name": "TestDependentGenericSelectionExpr",
@@ -6422,20 +6002,18 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:    "id": "0x{{.*}}",
 // CHECK-NEXT:    "kind": "TemplateTypeParmDecl",
 // CHECK-NEXT:    "loc": {
+// CHECK-NEXT:     "line": 119,
 // CHECK-NEXT:     "col": 20,
-// CHECK-NEXT:     "file": "{{.*}}",
-// CHECK-NEXT:     "line": 119
+// CHECK-NEXT:     "tokLen": 2
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
 // CHECK-NEXT:      "col": 11,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 119
+// CHECK-NEXT:      "tokLen": 8
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
 // CHECK-NEXT:      "col": 20,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 119
+// CHECK-NEXT:      "tokLen": 2
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "isReferenced": true,
@@ -6448,20 +6026,19 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:    "id": "0x{{.*}}",
 // CHECK-NEXT:    "kind": "FunctionDecl",
 // CHECK-NEXT:    "loc": {
+// CHECK-NEXT:     "line": 120,
 // CHECK-NEXT:     "col": 6,
-// CHECK-NEXT:     "file": "{{.*}}",
-// CHECK-NEXT:     "line": 120
+// CHECK-NEXT:     "tokLen": 33
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
 // CHECK-NEXT:      "col": 1,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 120
+// CHECK-NEXT:      "tokLen": 4
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
+// CHECK-NEXT:      "line": 123,
 // CHECK-NEXT:      "col": 1,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 123
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "name": "TestDependentGenericSelectionExpr",
@@ -6473,20 +6050,18 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:      "id": "0x{{.*}}",
 // CHECK-NEXT:      "kind": "ParmVarDecl",
 // CHECK-NEXT:      "loc": {
+// CHECK-NEXT:       "line": 120,
 // CHECK-NEXT:       "col": 43,
-// CHECK-NEXT:       "file": "{{.*}}",
-// CHECK-NEXT:       "line": 120
+// CHECK-NEXT:       "tokLen": 1
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 40,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 120
+// CHECK-NEXT:        "tokLen": 2
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 43,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 120
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "isReferenced": true,
@@ -6501,13 +6076,12 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 46,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 120
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
+// CHECK-NEXT:        "line": 123,
 // CHECK-NEXT:        "col": 1,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 123
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "inner": [
@@ -6516,14 +6090,13 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:        "kind": "GenericSelectionExpr",
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
+// CHECK-NEXT:          "line": 121,
 // CHECK-NEXT:          "col": 3,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 121
+// CHECK-NEXT:          "tokLen": 8
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 35,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 121
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -6538,13 +6111,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 12,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 121
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 12,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 121
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "type": {
@@ -6593,13 +6164,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:            "range": {
 // CHECK-NEXT:             "begin": {
 // CHECK-NEXT:              "col": 21,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 121
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             },
 // CHECK-NEXT:             "end": {
 // CHECK-NEXT:              "col": 21,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 121
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             }
 // CHECK-NEXT:            },
 // CHECK-NEXT:            "type": {
@@ -6619,13 +6188,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:            "range": {
 // CHECK-NEXT:             "begin": {
 // CHECK-NEXT:              "col": 34,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 121
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             },
 // CHECK-NEXT:             "end": {
 // CHECK-NEXT:              "col": 34,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 121
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             }
 // CHECK-NEXT:            },
 // CHECK-NEXT:            "type": {
@@ -6643,14 +6210,13 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:        "kind": "GenericSelectionExpr",
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
+// CHECK-NEXT:          "line": 122,
 // CHECK-NEXT:          "col": 3,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 122
+// CHECK-NEXT:          "tokLen": 8
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 26,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 122
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -6665,13 +6231,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 12,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 122
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 12,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 122
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "type": {
@@ -6713,13 +6277,11 @@ void TestDependentGenericSelectionExpr(T
 // CHECK-NEXT:            "range": {
 // CHECK-NEXT:             "begin": {
 // CHECK-NEXT:              "col": 25,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 122
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             },
 // CHECK-NEXT:             "end": {
 // CHECK-NEXT:              "col": 25,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 122
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             }
 // CHECK-NEXT:            },
 // CHECK-NEXT:            "type": {

Modified: cfe/trunk/test/AST/ast-dump-stmt-json.m
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/AST/ast-dump-stmt-json.m?rev=364226&r1=364225&r2=364226&view=diff
==============================================================================
--- cfe/trunk/test/AST/ast-dump-stmt-json.m (original)
+++ cfe/trunk/test/AST/ast-dump-stmt-json.m Mon Jun 24 13:07:11 2019
@@ -24,20 +24,20 @@ void TestObjCAtCatchStmt() {
 
 // CHECK:  "kind": "FunctionDecl", 
 // CHECK-NEXT:  "loc": {
-// CHECK-NEXT:   "col": 6, 
 // CHECK-NEXT:   "file": "{{.*}}", 
-// CHECK-NEXT:   "line": 3
+// CHECK-NEXT:   "line": 3, 
+// CHECK-NEXT:   "col": 6, 
+// CHECK-NEXT:   "tokLen": 13
 // CHECK-NEXT:  }, 
 // CHECK-NEXT:  "range": {
 // CHECK-NEXT:   "begin": {
 // CHECK-NEXT:    "col": 1, 
-// CHECK-NEXT:    "file": "{{.*}}", 
-// CHECK-NEXT:    "line": 3
+// CHECK-NEXT:    "tokLen": 4
 // CHECK-NEXT:   }, 
 // CHECK-NEXT:   "end": {
+// CHECK-NEXT:    "line": 5, 
 // CHECK-NEXT:    "col": 1, 
-// CHECK-NEXT:    "file": "{{.*}}", 
-// CHECK-NEXT:    "line": 5
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   }
 // CHECK-NEXT:  }, 
 // CHECK-NEXT:  "name": "TestBlockExpr", 
@@ -49,20 +49,18 @@ void TestObjCAtCatchStmt() {
 // CHECK-NEXT:    "id": "0x{{.*}}", 
 // CHECK-NEXT:    "kind": "ParmVarDecl", 
 // CHECK-NEXT:    "loc": {
+// CHECK-NEXT:     "line": 3, 
 // CHECK-NEXT:     "col": 24, 
-// CHECK-NEXT:     "file": "{{.*}}", 
-// CHECK-NEXT:     "line": 3
+// CHECK-NEXT:     "tokLen": 1
 // CHECK-NEXT:    }, 
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
 // CHECK-NEXT:      "col": 20, 
-// CHECK-NEXT:      "file": "{{.*}}", 
-// CHECK-NEXT:      "line": 3
+// CHECK-NEXT:      "tokLen": 3
 // CHECK-NEXT:     }, 
 // CHECK-NEXT:     "end": {
 // CHECK-NEXT:      "col": 24, 
-// CHECK-NEXT:      "file": "{{.*}}", 
-// CHECK-NEXT:      "line": 3
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    }, 
 // CHECK-NEXT:    "isUsed": true, 
@@ -77,13 +75,12 @@ void TestObjCAtCatchStmt() {
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
 // CHECK-NEXT:      "col": 27, 
-// CHECK-NEXT:      "file": "{{.*}}", 
-// CHECK-NEXT:      "line": 3
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }, 
 // CHECK-NEXT:     "end": {
+// CHECK-NEXT:      "line": 5, 
 // CHECK-NEXT:      "col": 1, 
-// CHECK-NEXT:      "file": "{{.*}}", 
-// CHECK-NEXT:      "line": 5
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    }, 
 // CHECK-NEXT:    "inner": [
@@ -92,14 +89,13 @@ void TestObjCAtCatchStmt() {
 // CHECK-NEXT:      "kind": "ExprWithCleanups", 
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
+// CHECK-NEXT:        "line": 4, 
 // CHECK-NEXT:        "col": 3, 
-// CHECK-NEXT:        "file": "{{.*}}", 
-// CHECK-NEXT:        "line": 4
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }, 
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 9, 
-// CHECK-NEXT:        "file": "{{.*}}", 
-// CHECK-NEXT:        "line": 4
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      }, 
 // CHECK-NEXT:      "type": {
@@ -120,13 +116,11 @@ void TestObjCAtCatchStmt() {
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 3, 
-// CHECK-NEXT:          "file": "{{.*}}", 
-// CHECK-NEXT:          "line": 4
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }, 
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 9, 
-// CHECK-NEXT:          "file": "{{.*}}", 
-// CHECK-NEXT:          "line": 4
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        }, 
 // CHECK-NEXT:        "type": {
@@ -139,19 +133,16 @@ void TestObjCAtCatchStmt() {
 // CHECK-NEXT:          "kind": "BlockDecl", 
 // CHECK-NEXT:          "loc": {
 // CHECK-NEXT:           "col": 3, 
-// CHECK-NEXT:           "file": "{{.*}}", 
-// CHECK-NEXT:           "line": 4
+// CHECK-NEXT:           "tokLen": 1
 // CHECK-NEXT:          }, 
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 3, 
-// CHECK-NEXT:            "file": "{{.*}}", 
-// CHECK-NEXT:            "line": 4
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }, 
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 9, 
-// CHECK-NEXT:            "file": "{{.*}}", 
-// CHECK-NEXT:            "line": 4
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }
 // CHECK-NEXT:          }, 
 // CHECK-NEXT:          "inner": [
@@ -172,13 +163,11 @@ void TestObjCAtCatchStmt() {
 // CHECK-NEXT:            "range": {
 // CHECK-NEXT:             "begin": {
 // CHECK-NEXT:              "col": 4, 
-// CHECK-NEXT:              "file": "{{.*}}", 
-// CHECK-NEXT:              "line": 4
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             }, 
 // CHECK-NEXT:             "end": {
 // CHECK-NEXT:              "col": 9, 
-// CHECK-NEXT:              "file": "{{.*}}", 
-// CHECK-NEXT:              "line": 4
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             }
 // CHECK-NEXT:            }, 
 // CHECK-NEXT:            "inner": [
@@ -188,13 +177,11 @@ void TestObjCAtCatchStmt() {
 // CHECK-NEXT:              "range": {
 // CHECK-NEXT:               "begin": {
 // CHECK-NEXT:                "col": 6, 
-// CHECK-NEXT:                "file": "{{.*}}", 
-// CHECK-NEXT:                "line": 4
+// CHECK-NEXT:                "tokLen": 1
 // CHECK-NEXT:               }, 
 // CHECK-NEXT:               "end": {
 // CHECK-NEXT:                "col": 6, 
-// CHECK-NEXT:                "file": "{{.*}}", 
-// CHECK-NEXT:                "line": 4
+// CHECK-NEXT:                "tokLen": 1
 // CHECK-NEXT:               }
 // CHECK-NEXT:              }, 
 // CHECK-NEXT:              "type": {
@@ -209,13 +196,11 @@ void TestObjCAtCatchStmt() {
 // CHECK-NEXT:                "range": {
 // CHECK-NEXT:                 "begin": {
 // CHECK-NEXT:                  "col": 6, 
-// CHECK-NEXT:                  "file": "{{.*}}", 
-// CHECK-NEXT:                  "line": 4
+// CHECK-NEXT:                  "tokLen": 1
 // CHECK-NEXT:                 }, 
 // CHECK-NEXT:                 "end": {
 // CHECK-NEXT:                  "col": 6, 
-// CHECK-NEXT:                  "file": "{{.*}}", 
-// CHECK-NEXT:                  "line": 4
+// CHECK-NEXT:                  "tokLen": 1
 // CHECK-NEXT:                 }
 // CHECK-NEXT:                }, 
 // CHECK-NEXT:                "type": {
@@ -249,20 +234,20 @@ void TestObjCAtCatchStmt() {
 
 // CHECK:  "kind": "FunctionDecl", 
 // CHECK-NEXT:  "loc": {
-// CHECK-NEXT:   "col": 6, 
 // CHECK-NEXT:   "file": "{{.*}}", 
-// CHECK-NEXT:   "line": 7
+// CHECK-NEXT:   "line": 7, 
+// CHECK-NEXT:   "col": 6, 
+// CHECK-NEXT:   "tokLen": 19
 // CHECK-NEXT:  }, 
 // CHECK-NEXT:  "range": {
 // CHECK-NEXT:   "begin": {
 // CHECK-NEXT:    "col": 1, 
-// CHECK-NEXT:    "file": "{{.*}}", 
-// CHECK-NEXT:    "line": 7
+// CHECK-NEXT:    "tokLen": 4
 // CHECK-NEXT:   }, 
 // CHECK-NEXT:   "end": {
+// CHECK-NEXT:    "line": 9, 
 // CHECK-NEXT:    "col": 1, 
-// CHECK-NEXT:    "file": "{{.*}}", 
-// CHECK-NEXT:    "line": 9
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   }
 // CHECK-NEXT:  }, 
 // CHECK-NEXT:  "name": "TestExprWithCleanup", 
@@ -274,20 +259,18 @@ void TestObjCAtCatchStmt() {
 // CHECK-NEXT:    "id": "0x{{.*}}", 
 // CHECK-NEXT:    "kind": "ParmVarDecl", 
 // CHECK-NEXT:    "loc": {
+// CHECK-NEXT:     "line": 7, 
 // CHECK-NEXT:     "col": 30, 
-// CHECK-NEXT:     "file": "{{.*}}", 
-// CHECK-NEXT:     "line": 7
+// CHECK-NEXT:     "tokLen": 1
 // CHECK-NEXT:    }, 
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
 // CHECK-NEXT:      "col": 26, 
-// CHECK-NEXT:      "file": "{{.*}}", 
-// CHECK-NEXT:      "line": 7
+// CHECK-NEXT:      "tokLen": 3
 // CHECK-NEXT:     }, 
 // CHECK-NEXT:     "end": {
 // CHECK-NEXT:      "col": 30, 
-// CHECK-NEXT:      "file": "{{.*}}", 
-// CHECK-NEXT:      "line": 7
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    }, 
 // CHECK-NEXT:    "isUsed": true, 
@@ -302,13 +285,12 @@ void TestObjCAtCatchStmt() {
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
 // CHECK-NEXT:      "col": 33, 
-// CHECK-NEXT:      "file": "{{.*}}", 
-// CHECK-NEXT:      "line": 7
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }, 
 // CHECK-NEXT:     "end": {
+// CHECK-NEXT:      "line": 9, 
 // CHECK-NEXT:      "col": 1, 
-// CHECK-NEXT:      "file": "{{.*}}", 
-// CHECK-NEXT:      "line": 9
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    }, 
 // CHECK-NEXT:    "inner": [
@@ -317,14 +299,13 @@ void TestObjCAtCatchStmt() {
 // CHECK-NEXT:      "kind": "ExprWithCleanups", 
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
+// CHECK-NEXT:        "line": 8, 
 // CHECK-NEXT:        "col": 3, 
-// CHECK-NEXT:        "file": "{{.*}}", 
-// CHECK-NEXT:        "line": 8
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }, 
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 9, 
-// CHECK-NEXT:        "file": "{{.*}}", 
-// CHECK-NEXT:        "line": 8
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      }, 
 // CHECK-NEXT:      "type": {
@@ -345,13 +326,11 @@ void TestObjCAtCatchStmt() {
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 3, 
-// CHECK-NEXT:          "file": "{{.*}}", 
-// CHECK-NEXT:          "line": 8
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }, 
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 9, 
-// CHECK-NEXT:          "file": "{{.*}}", 
-// CHECK-NEXT:          "line": 8
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        }, 
 // CHECK-NEXT:        "type": {
@@ -364,19 +343,16 @@ void TestObjCAtCatchStmt() {
 // CHECK-NEXT:          "kind": "BlockDecl", 
 // CHECK-NEXT:          "loc": {
 // CHECK-NEXT:           "col": 3, 
-// CHECK-NEXT:           "file": "{{.*}}", 
-// CHECK-NEXT:           "line": 8
+// CHECK-NEXT:           "tokLen": 1
 // CHECK-NEXT:          }, 
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 3, 
-// CHECK-NEXT:            "file": "{{.*}}", 
-// CHECK-NEXT:            "line": 8
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }, 
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 9, 
-// CHECK-NEXT:            "file": "{{.*}}", 
-// CHECK-NEXT:            "line": 8
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }
 // CHECK-NEXT:          }, 
 // CHECK-NEXT:          "inner": [
@@ -397,13 +373,11 @@ void TestObjCAtCatchStmt() {
 // CHECK-NEXT:            "range": {
 // CHECK-NEXT:             "begin": {
 // CHECK-NEXT:              "col": 4, 
-// CHECK-NEXT:              "file": "{{.*}}", 
-// CHECK-NEXT:              "line": 8
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             }, 
 // CHECK-NEXT:             "end": {
 // CHECK-NEXT:              "col": 9, 
-// CHECK-NEXT:              "file": "{{.*}}", 
-// CHECK-NEXT:              "line": 8
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             }
 // CHECK-NEXT:            }, 
 // CHECK-NEXT:            "inner": [
@@ -413,13 +387,11 @@ void TestObjCAtCatchStmt() {
 // CHECK-NEXT:              "range": {
 // CHECK-NEXT:               "begin": {
 // CHECK-NEXT:                "col": 6, 
-// CHECK-NEXT:                "file": "{{.*}}", 
-// CHECK-NEXT:                "line": 8
+// CHECK-NEXT:                "tokLen": 1
 // CHECK-NEXT:               }, 
 // CHECK-NEXT:               "end": {
 // CHECK-NEXT:                "col": 6, 
-// CHECK-NEXT:                "file": "{{.*}}", 
-// CHECK-NEXT:                "line": 8
+// CHECK-NEXT:                "tokLen": 1
 // CHECK-NEXT:               }
 // CHECK-NEXT:              }, 
 // CHECK-NEXT:              "type": {
@@ -434,13 +406,11 @@ void TestObjCAtCatchStmt() {
 // CHECK-NEXT:                "range": {
 // CHECK-NEXT:                 "begin": {
 // CHECK-NEXT:                  "col": 6, 
-// CHECK-NEXT:                  "file": "{{.*}}", 
-// CHECK-NEXT:                  "line": 8
+// CHECK-NEXT:                  "tokLen": 1
 // CHECK-NEXT:                 }, 
 // CHECK-NEXT:                 "end": {
 // CHECK-NEXT:                  "col": 6, 
-// CHECK-NEXT:                  "file": "{{.*}}", 
-// CHECK-NEXT:                  "line": 8
+// CHECK-NEXT:                  "tokLen": 1
 // CHECK-NEXT:                 }
 // CHECK-NEXT:                }, 
 // CHECK-NEXT:                "type": {
@@ -474,20 +444,20 @@ void TestObjCAtCatchStmt() {
 
 // CHECK:  "kind": "FunctionDecl", 
 // CHECK-NEXT:  "loc": {
-// CHECK-NEXT:   "col": 6, 
 // CHECK-NEXT:   "file": "{{.*}}", 
-// CHECK-NEXT:   "line": 14
+// CHECK-NEXT:   "line": 14, 
+// CHECK-NEXT:   "col": 6, 
+// CHECK-NEXT:   "tokLen": 19
 // CHECK-NEXT:  }, 
 // CHECK-NEXT:  "range": {
 // CHECK-NEXT:   "begin": {
 // CHECK-NEXT:    "col": 1, 
-// CHECK-NEXT:    "file": "{{.*}}", 
-// CHECK-NEXT:    "line": 14
+// CHECK-NEXT:    "tokLen": 4
 // CHECK-NEXT:   }, 
 // CHECK-NEXT:   "end": {
+// CHECK-NEXT:    "line": 20, 
 // CHECK-NEXT:    "col": 1, 
-// CHECK-NEXT:    "file": "{{.*}}", 
-// CHECK-NEXT:    "line": 20
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   }
 // CHECK-NEXT:  }, 
 // CHECK-NEXT:  "name": "TestObjCAtCatchStmt", 
@@ -500,14 +470,14 @@ void TestObjCAtCatchStmt() {
 // CHECK-NEXT:    "kind": "CompoundStmt", 
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
+// CHECK-NEXT:      "line": 14, 
 // CHECK-NEXT:      "col": 28, 
-// CHECK-NEXT:      "file": "{{.*}}", 
-// CHECK-NEXT:      "line": 14
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }, 
 // CHECK-NEXT:     "end": {
+// CHECK-NEXT:      "line": 20, 
 // CHECK-NEXT:      "col": 1, 
-// CHECK-NEXT:      "file": "{{.*}}", 
-// CHECK-NEXT:      "line": 20
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    }, 
 // CHECK-NEXT:    "inner": [
@@ -516,14 +486,14 @@ void TestObjCAtCatchStmt() {
 // CHECK-NEXT:      "kind": "ObjCAtTryStmt", 
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
+// CHECK-NEXT:        "line": 15, 
 // CHECK-NEXT:        "col": 3, 
-// CHECK-NEXT:        "file": "{{.*}}", 
-// CHECK-NEXT:        "line": 15
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }, 
 // CHECK-NEXT:       "end": {
+// CHECK-NEXT:        "line": 19, 
 // CHECK-NEXT:        "col": 3, 
-// CHECK-NEXT:        "file": "{{.*}}", 
-// CHECK-NEXT:        "line": 19
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      }, 
 // CHECK-NEXT:      "inner": [
@@ -532,14 +502,14 @@ void TestObjCAtCatchStmt() {
 // CHECK-NEXT:        "kind": "CompoundStmt", 
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
+// CHECK-NEXT:          "line": 15, 
 // CHECK-NEXT:          "col": 8, 
-// CHECK-NEXT:          "file": "{{.*}}", 
-// CHECK-NEXT:          "line": 15
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }, 
 // CHECK-NEXT:         "end": {
+// CHECK-NEXT:          "line": 16, 
 // CHECK-NEXT:          "col": 3, 
-// CHECK-NEXT:          "file": "{{.*}}", 
-// CHECK-NEXT:          "line": 16
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        }
 // CHECK-NEXT:       }, 
@@ -549,13 +519,12 @@ void TestObjCAtCatchStmt() {
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 5, 
-// CHECK-NEXT:          "file": "{{.*}}", 
-// CHECK-NEXT:          "line": 16
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }, 
 // CHECK-NEXT:         "end": {
+// CHECK-NEXT:          "line": 17, 
 // CHECK-NEXT:          "col": 3, 
-// CHECK-NEXT:          "file": "{{.*}}", 
-// CHECK-NEXT:          "line": 17
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        }, 
 // CHECK-NEXT:        "inner": [
@@ -563,20 +532,18 @@ void TestObjCAtCatchStmt() {
 // CHECK-NEXT:          "id": "0x{{.*}}", 
 // CHECK-NEXT:          "kind": "VarDecl", 
 // CHECK-NEXT:          "loc": {
+// CHECK-NEXT:           "line": 16, 
 // CHECK-NEXT:           "col": 15, 
-// CHECK-NEXT:           "file": "{{.*}}", 
-// CHECK-NEXT:           "line": 16
+// CHECK-NEXT:           "tokLen": 1
 // CHECK-NEXT:          }, 
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 12, 
-// CHECK-NEXT:            "file": "{{.*}}", 
-// CHECK-NEXT:            "line": 16
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }, 
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 15, 
-// CHECK-NEXT:            "file": "{{.*}}", 
-// CHECK-NEXT:            "line": 16
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }
 // CHECK-NEXT:          }, 
 // CHECK-NEXT:          "name": "a", 
@@ -590,13 +557,12 @@ void TestObjCAtCatchStmt() {
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 18, 
-// CHECK-NEXT:            "file": "{{.*}}", 
-// CHECK-NEXT:            "line": 16
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }, 
 // CHECK-NEXT:           "end": {
+// CHECK-NEXT:            "line": 17, 
 // CHECK-NEXT:            "col": 3, 
-// CHECK-NEXT:            "file": "{{.*}}", 
-// CHECK-NEXT:            "line": 17
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }
 // CHECK-NEXT:          }
 // CHECK-NEXT:         }
@@ -608,13 +574,12 @@ void TestObjCAtCatchStmt() {
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 5, 
-// CHECK-NEXT:          "file": "{{.*}}", 
-// CHECK-NEXT:          "line": 17
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }, 
 // CHECK-NEXT:         "end": {
+// CHECK-NEXT:          "line": 18, 
 // CHECK-NEXT:          "col": 3, 
-// CHECK-NEXT:          "file": "{{.*}}", 
-// CHECK-NEXT:          "line": 18
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        }, 
 // CHECK-NEXT:        "isCatchAll": true, 
@@ -624,14 +589,14 @@ void TestObjCAtCatchStmt() {
 // CHECK-NEXT:          "kind": "CompoundStmt", 
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
+// CHECK-NEXT:            "line": 17, 
 // CHECK-NEXT:            "col": 17, 
-// CHECK-NEXT:            "file": "{{.*}}", 
-// CHECK-NEXT:            "line": 17
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }, 
 // CHECK-NEXT:           "end": {
+// CHECK-NEXT:            "line": 18, 
 // CHECK-NEXT:            "col": 3, 
-// CHECK-NEXT:            "file": "{{.*}}", 
-// CHECK-NEXT:            "line": 18
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }
 // CHECK-NEXT:          }
 // CHECK-NEXT:         }
@@ -643,13 +608,12 @@ void TestObjCAtCatchStmt() {
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 5, 
-// CHECK-NEXT:          "file": "{{.*}}", 
-// CHECK-NEXT:          "line": 18
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }, 
 // CHECK-NEXT:         "end": {
+// CHECK-NEXT:          "line": 19, 
 // CHECK-NEXT:          "col": 3, 
-// CHECK-NEXT:          "file": "{{.*}}", 
-// CHECK-NEXT:          "line": 19
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        }, 
 // CHECK-NEXT:        "inner": [
@@ -658,14 +622,14 @@ void TestObjCAtCatchStmt() {
 // CHECK-NEXT:          "kind": "CapturedStmt", 
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
+// CHECK-NEXT:            "line": 18, 
 // CHECK-NEXT:            "col": 14, 
-// CHECK-NEXT:            "file": "{{.*}}", 
-// CHECK-NEXT:            "line": 18
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }, 
 // CHECK-NEXT:           "end": {
+// CHECK-NEXT:            "line": 19, 
 // CHECK-NEXT:            "col": 3, 
-// CHECK-NEXT:            "file": "{{.*}}", 
-// CHECK-NEXT:            "line": 19
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }
 // CHECK-NEXT:          }, 
 // CHECK-NEXT:          "inner": [
@@ -683,14 +647,14 @@ void TestObjCAtCatchStmt() {
 // CHECK-NEXT:              "kind": "CompoundStmt", 
 // CHECK-NEXT:              "range": {
 // CHECK-NEXT:               "begin": {
+// CHECK-NEXT:                "line": 18, 
 // CHECK-NEXT:                "col": 14, 
-// CHECK-NEXT:                "file": "{{.*}}", 
-// CHECK-NEXT:                "line": 18
+// CHECK-NEXT:                "tokLen": 1
 // CHECK-NEXT:               }, 
 // CHECK-NEXT:               "end": {
+// CHECK-NEXT:                "line": 19, 
 // CHECK-NEXT:                "col": 3, 
-// CHECK-NEXT:                "file": "{{.*}}", 
-// CHECK-NEXT:                "line": 19
+// CHECK-NEXT:                "tokLen": 1
 // CHECK-NEXT:               }
 // CHECK-NEXT:              }
 // CHECK-NEXT:             }, 
@@ -698,20 +662,18 @@ void TestObjCAtCatchStmt() {
 // CHECK-NEXT:              "id": "0x{{.*}}", 
 // CHECK-NEXT:              "kind": "ImplicitParamDecl", 
 // CHECK-NEXT:              "loc": {
+// CHECK-NEXT:               "line": 18, 
 // CHECK-NEXT:               "col": 14, 
-// CHECK-NEXT:               "file": "{{.*}}", 
-// CHECK-NEXT:               "line": 18
+// CHECK-NEXT:               "tokLen": 1
 // CHECK-NEXT:              }, 
 // CHECK-NEXT:              "range": {
 // CHECK-NEXT:               "begin": {
 // CHECK-NEXT:                "col": 14, 
-// CHECK-NEXT:                "file": "{{.*}}", 
-// CHECK-NEXT:                "line": 18
+// CHECK-NEXT:                "tokLen": 1
 // CHECK-NEXT:               }, 
 // CHECK-NEXT:               "end": {
 // CHECK-NEXT:                "col": 14, 
-// CHECK-NEXT:                "file": "{{.*}}", 
-// CHECK-NEXT:                "line": 18
+// CHECK-NEXT:                "tokLen": 1
 // CHECK-NEXT:               }
 // CHECK-NEXT:              }, 
 // CHECK-NEXT:              "isImplicit": true, 

Modified: cfe/trunk/test/AST/ast-dump-template-decls-json.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/AST/ast-dump-template-decls-json.cpp?rev=364226&r1=364225&r2=364226&view=diff
==============================================================================
--- cfe/trunk/test/AST/ast-dump-template-decls-json.cpp (original)
+++ cfe/trunk/test/AST/ast-dump-template-decls-json.cpp Mon Jun 24 13:07:11 2019
@@ -213,20 +213,21 @@ void V<Ty>::f() {}
 // CHECK-NEXT:    "id": "0x{{.*}}",
 // CHECK-NEXT:    "kind": "FunctionTemplateDecl",
 // CHECK-NEXT:    "loc": {
-// CHECK-NEXT:     "col": 6,
 // CHECK-NEXT:     "file": "{{.*}}",
-// CHECK-NEXT:     "line": 4
+// CHECK-NEXT:     "line": 4,
+// CHECK-NEXT:     "col": 6,
+// CHECK-NEXT:     "tokLen": 1
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
+// CHECK-NEXT:      "line": 3,
 // CHECK-NEXT:      "col": 1,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 3
+// CHECK-NEXT:      "tokLen": 8
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
+// CHECK-NEXT:      "line": 4,
 // CHECK-NEXT:      "col": 10,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 4
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "name": "a",
@@ -235,20 +236,18 @@ void V<Ty>::f() {}
 // CHECK-NEXT:      "id": "0x{{.*}}",
 // CHECK-NEXT:      "kind": "TemplateTypeParmDecl",
 // CHECK-NEXT:      "loc": {
+// CHECK-NEXT:       "line": 3,
 // CHECK-NEXT:       "col": 20,
-// CHECK-NEXT:       "file": "{{.*}}",
-// CHECK-NEXT:       "line": 3
+// CHECK-NEXT:       "tokLen": 2
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 11,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 3
+// CHECK-NEXT:        "tokLen": 8
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 20,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 3
+// CHECK-NEXT:        "tokLen": 2
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "isReferenced": true,
@@ -261,20 +260,18 @@ void V<Ty>::f() {}
 // CHECK-NEXT:      "id": "0x{{.*}}",
 // CHECK-NEXT:      "kind": "FunctionDecl",
 // CHECK-NEXT:      "loc": {
+// CHECK-NEXT:       "line": 4,
 // CHECK-NEXT:       "col": 6,
-// CHECK-NEXT:       "file": "{{.*}}",
-// CHECK-NEXT:       "line": 4
+// CHECK-NEXT:       "tokLen": 1
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 1,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 4
+// CHECK-NEXT:        "tokLen": 4
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 10,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 4
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "name": "a",
@@ -287,19 +284,16 @@ void V<Ty>::f() {}
 // CHECK-NEXT:        "kind": "ParmVarDecl",
 // CHECK-NEXT:        "loc": {
 // CHECK-NEXT:         "col": 10,
-// CHECK-NEXT:         "file": "{{.*}}",
-// CHECK-NEXT:         "line": 4
+// CHECK-NEXT:         "tokLen": 1
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 8,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 4
+// CHECK-NEXT:          "tokLen": 2
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 8,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 4
+// CHECK-NEXT:          "tokLen": 2
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -314,20 +308,20 @@ void V<Ty>::f() {}
 // CHECK-NEXT:    "id": "0x{{.*}}",
 // CHECK-NEXT:    "kind": "FunctionTemplateDecl",
 // CHECK-NEXT:    "loc": {
+// CHECK-NEXT:     "line": 7,
 // CHECK-NEXT:     "col": 6,
-// CHECK-NEXT:     "file": "{{.*}}",
-// CHECK-NEXT:     "line": 7
+// CHECK-NEXT:     "tokLen": 1
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
+// CHECK-NEXT:      "line": 6,
 // CHECK-NEXT:      "col": 1,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 6
+// CHECK-NEXT:      "tokLen": 8
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
+// CHECK-NEXT:      "line": 7,
 // CHECK-NEXT:      "col": 13,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 7
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "name": "b",
@@ -336,20 +330,18 @@ void V<Ty>::f() {}
 // CHECK-NEXT:      "id": "0x{{.*}}",
 // CHECK-NEXT:      "kind": "TemplateTypeParmDecl",
 // CHECK-NEXT:      "loc": {
+// CHECK-NEXT:       "line": 6,
 // CHECK-NEXT:       "col": 23,
-// CHECK-NEXT:       "file": "{{.*}}",
-// CHECK-NEXT:       "line": 6
+// CHECK-NEXT:       "tokLen": 2
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 11,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 6
+// CHECK-NEXT:        "tokLen": 8
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 23,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 6
+// CHECK-NEXT:        "tokLen": 2
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "isReferenced": true,
@@ -363,20 +355,18 @@ void V<Ty>::f() {}
 // CHECK-NEXT:      "id": "0x{{.*}}",
 // CHECK-NEXT:      "kind": "FunctionDecl",
 // CHECK-NEXT:      "loc": {
+// CHECK-NEXT:       "line": 7,
 // CHECK-NEXT:       "col": 6,
-// CHECK-NEXT:       "file": "{{.*}}",
-// CHECK-NEXT:       "line": 7
+// CHECK-NEXT:       "tokLen": 1
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 1,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 7
+// CHECK-NEXT:        "tokLen": 4
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 13,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 7
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "name": "b",
@@ -389,19 +379,16 @@ void V<Ty>::f() {}
 // CHECK-NEXT:        "kind": "ParmVarDecl",
 // CHECK-NEXT:        "loc": {
 // CHECK-NEXT:         "col": 13,
-// CHECK-NEXT:         "file": "{{.*}}",
-// CHECK-NEXT:         "line": 7
+// CHECK-NEXT:         "tokLen": 1
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 8,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 7
+// CHECK-NEXT:          "tokLen": 2
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 10,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 7
+// CHECK-NEXT:          "tokLen": 3
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -417,20 +404,20 @@ void V<Ty>::f() {}
 // CHECK-NEXT:    "id": "0x{{.*}}",
 // CHECK-NEXT:    "kind": "FunctionTemplateDecl",
 // CHECK-NEXT:    "loc": {
+// CHECK-NEXT:     "line": 10,
 // CHECK-NEXT:     "col": 6,
-// CHECK-NEXT:     "file": "{{.*}}",
-// CHECK-NEXT:     "line": 10
+// CHECK-NEXT:     "tokLen": 1
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
+// CHECK-NEXT:      "line": 9,
 // CHECK-NEXT:      "col": 1,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 9
+// CHECK-NEXT:      "tokLen": 8
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
+// CHECK-NEXT:      "line": 10,
 // CHECK-NEXT:      "col": 10,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 10
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "name": "c",
@@ -439,20 +426,18 @@ void V<Ty>::f() {}
 // CHECK-NEXT:      "id": "0x{{.*}}",
 // CHECK-NEXT:      "kind": "TemplateTypeParmDecl",
 // CHECK-NEXT:      "loc": {
+// CHECK-NEXT:       "line": 9,
 // CHECK-NEXT:       "col": 17,
-// CHECK-NEXT:       "file": "{{.*}}",
-// CHECK-NEXT:       "line": 9
+// CHECK-NEXT:       "tokLen": 2
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 11,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 9
+// CHECK-NEXT:        "tokLen": 5
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 17,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 9
+// CHECK-NEXT:        "tokLen": 2
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "isReferenced": true,
@@ -466,19 +451,16 @@ void V<Ty>::f() {}
 // CHECK-NEXT:      "kind": "TemplateTypeParmDecl",
 // CHECK-NEXT:      "loc": {
 // CHECK-NEXT:       "col": 30,
-// CHECK-NEXT:       "file": "{{.*}}",
-// CHECK-NEXT:       "line": 9
+// CHECK-NEXT:       "tokLen": 2
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 21,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 9
+// CHECK-NEXT:        "tokLen": 8
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 30,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 9
+// CHECK-NEXT:        "tokLen": 2
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "name": "Uy",
@@ -490,20 +472,18 @@ void V<Ty>::f() {}
 // CHECK-NEXT:      "id": "0x{{.*}}",
 // CHECK-NEXT:      "kind": "FunctionDecl",
 // CHECK-NEXT:      "loc": {
+// CHECK-NEXT:       "line": 10,
 // CHECK-NEXT:       "col": 6,
-// CHECK-NEXT:       "file": "{{.*}}",
-// CHECK-NEXT:       "line": 10
+// CHECK-NEXT:       "tokLen": 1
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 1,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 10
+// CHECK-NEXT:        "tokLen": 4
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 10,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 10
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "name": "c",
@@ -516,19 +496,16 @@ void V<Ty>::f() {}
 // CHECK-NEXT:        "kind": "ParmVarDecl",
 // CHECK-NEXT:        "loc": {
 // CHECK-NEXT:         "col": 10,
-// CHECK-NEXT:         "file": "{{.*}}",
-// CHECK-NEXT:         "line": 10
+// CHECK-NEXT:         "tokLen": 1
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 8,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 10
+// CHECK-NEXT:          "tokLen": 2
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 8,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 10
+// CHECK-NEXT:          "tokLen": 2
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -551,20 +528,20 @@ void V<Ty>::f() {}
 // CHECK-NEXT:    "id": "0x{{.*}}",
 // CHECK-NEXT:    "kind": "FunctionDecl",
 // CHECK-NEXT:    "loc": {
+// CHECK-NEXT:     "line": 13,
 // CHECK-NEXT:     "col": 6,
-// CHECK-NEXT:     "file": "{{.*}}",
-// CHECK-NEXT:     "line": 13
+// CHECK-NEXT:     "tokLen": 1
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
+// CHECK-NEXT:      "line": 12,
 // CHECK-NEXT:      "col": 1,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 12
+// CHECK-NEXT:      "tokLen": 8
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
+// CHECK-NEXT:      "line": 13,
 // CHECK-NEXT:      "col": 25,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 13
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "previousDecl": "0x{{.*}}",
@@ -590,19 +567,16 @@ void V<Ty>::f() {}
 // CHECK-NEXT:      "kind": "ParmVarDecl",
 // CHECK-NEXT:      "loc": {
 // CHECK-NEXT:       "col": 25,
-// CHECK-NEXT:       "file": "{{.*}}",
-// CHECK-NEXT:       "line": 13
+// CHECK-NEXT:       "tokLen": 1
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 20,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 13
+// CHECK-NEXT:        "tokLen": 5
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 20,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 13
+// CHECK-NEXT:        "tokLen": 5
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -615,20 +589,20 @@ void V<Ty>::f() {}
 // CHECK-NEXT:    "id": "0x{{.*}}",
 // CHECK-NEXT:    "kind": "FunctionTemplateDecl",
 // CHECK-NEXT:    "loc": {
+// CHECK-NEXT:     "line": 16,
 // CHECK-NEXT:     "col": 6,
-// CHECK-NEXT:     "file": "{{.*}}",
-// CHECK-NEXT:     "line": 16
+// CHECK-NEXT:     "tokLen": 1
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
+// CHECK-NEXT:      "line": 15,
 // CHECK-NEXT:      "col": 1,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 15
+// CHECK-NEXT:      "tokLen": 8
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
+// CHECK-NEXT:      "line": 16,
 // CHECK-NEXT:      "col": 18,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 16
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "name": "d",
@@ -637,20 +611,18 @@ void V<Ty>::f() {}
 // CHECK-NEXT:      "id": "0x{{.*}}",
 // CHECK-NEXT:      "kind": "TemplateTypeParmDecl",
 // CHECK-NEXT:      "loc": {
+// CHECK-NEXT:       "line": 15,
 // CHECK-NEXT:       "col": 20,
-// CHECK-NEXT:       "file": "{{.*}}",
-// CHECK-NEXT:       "line": 15
+// CHECK-NEXT:       "tokLen": 2
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 11,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 15
+// CHECK-NEXT:        "tokLen": 8
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 20,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 15
+// CHECK-NEXT:        "tokLen": 2
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "isReferenced": true,
@@ -664,19 +636,16 @@ void V<Ty>::f() {}
 // CHECK-NEXT:      "kind": "TemplateTemplateParmDecl",
 // CHECK-NEXT:      "loc": {
 // CHECK-NEXT:       "col": 52,
-// CHECK-NEXT:       "file": "{{.*}}",
-// CHECK-NEXT:       "line": 15
+// CHECK-NEXT:       "tokLen": 2
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 24,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 15
+// CHECK-NEXT:        "tokLen": 8
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 52,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 15
+// CHECK-NEXT:        "tokLen": 2
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "name": "Uy",
@@ -688,19 +657,16 @@ void V<Ty>::f() {}
 // CHECK-NEXT:        "kind": "TemplateTypeParmDecl",
 // CHECK-NEXT:        "loc": {
 // CHECK-NEXT:         "col": 33,
-// CHECK-NEXT:         "file": "{{.*}}",
-// CHECK-NEXT:         "line": 15
+// CHECK-NEXT:         "tokLen": 8
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 33,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 15
+// CHECK-NEXT:          "tokLen": 8
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 33,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 15
+// CHECK-NEXT:          "tokLen": 8
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "tagUsed": "typename",
@@ -713,20 +679,18 @@ void V<Ty>::f() {}
 // CHECK-NEXT:      "id": "0x{{.*}}",
 // CHECK-NEXT:      "kind": "FunctionDecl",
 // CHECK-NEXT:      "loc": {
+// CHECK-NEXT:       "line": 16,
 // CHECK-NEXT:       "col": 6,
-// CHECK-NEXT:       "file": "{{.*}}",
-// CHECK-NEXT:       "line": 16
+// CHECK-NEXT:       "tokLen": 1
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 1,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 16
+// CHECK-NEXT:        "tokLen": 4
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 18,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 16
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "name": "d",
@@ -739,19 +703,16 @@ void V<Ty>::f() {}
 // CHECK-NEXT:        "kind": "ParmVarDecl",
 // CHECK-NEXT:        "loc": {
 // CHECK-NEXT:         "col": 10,
-// CHECK-NEXT:         "file": "{{.*}}",
-// CHECK-NEXT:         "line": 16
+// CHECK-NEXT:         "tokLen": 1
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 8,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 16
+// CHECK-NEXT:          "tokLen": 2
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 8,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 16
+// CHECK-NEXT:          "tokLen": 2
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -763,19 +724,16 @@ void V<Ty>::f() {}
 // CHECK-NEXT:        "kind": "ParmVarDecl",
 // CHECK-NEXT:        "loc": {
 // CHECK-NEXT:         "col": 18,
-// CHECK-NEXT:         "file": "{{.*}}",
-// CHECK-NEXT:         "line": 16
+// CHECK-NEXT:         "tokLen": 1
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 12,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 16
+// CHECK-NEXT:          "tokLen": 2
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 17,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 16
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -790,20 +748,20 @@ void V<Ty>::f() {}
 // CHECK-NEXT:    "id": "0x{{.*}}",
 // CHECK-NEXT:    "kind": "FunctionTemplateDecl",
 // CHECK-NEXT:    "loc": {
+// CHECK-NEXT:     "line": 19,
 // CHECK-NEXT:     "col": 6,
-// CHECK-NEXT:     "file": "{{.*}}",
-// CHECK-NEXT:     "line": 19
+// CHECK-NEXT:     "tokLen": 1
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
+// CHECK-NEXT:      "line": 18,
 // CHECK-NEXT:      "col": 1,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 18
+// CHECK-NEXT:      "tokLen": 8
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
+// CHECK-NEXT:      "line": 19,
 // CHECK-NEXT:      "col": 10,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 19
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "name": "e",
@@ -812,20 +770,18 @@ void V<Ty>::f() {}
 // CHECK-NEXT:      "id": "0x{{.*}}",
 // CHECK-NEXT:      "kind": "TemplateTypeParmDecl",
 // CHECK-NEXT:      "loc": {
+// CHECK-NEXT:       "line": 18,
 // CHECK-NEXT:       "col": 17,
-// CHECK-NEXT:       "file": "{{.*}}",
-// CHECK-NEXT:       "line": 18
+// CHECK-NEXT:       "tokLen": 2
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 11,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 18
+// CHECK-NEXT:        "tokLen": 5
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 17,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 18
+// CHECK-NEXT:        "tokLen": 2
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "isReferenced": true,
@@ -838,20 +794,18 @@ void V<Ty>::f() {}
 // CHECK-NEXT:      "id": "0x{{.*}}",
 // CHECK-NEXT:      "kind": "FunctionDecl",
 // CHECK-NEXT:      "loc": {
+// CHECK-NEXT:       "line": 19,
 // CHECK-NEXT:       "col": 6,
-// CHECK-NEXT:       "file": "{{.*}}",
-// CHECK-NEXT:       "line": 19
+// CHECK-NEXT:       "tokLen": 1
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 1,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 19
+// CHECK-NEXT:        "tokLen": 4
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 10,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 19
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "name": "e",
@@ -864,19 +818,16 @@ void V<Ty>::f() {}
 // CHECK-NEXT:        "kind": "ParmVarDecl",
 // CHECK-NEXT:        "loc": {
 // CHECK-NEXT:         "col": 10,
-// CHECK-NEXT:         "file": "{{.*}}",
-// CHECK-NEXT:         "line": 19
+// CHECK-NEXT:         "tokLen": 1
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 8,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 19
+// CHECK-NEXT:          "tokLen": 2
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 8,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 19
+// CHECK-NEXT:          "tokLen": 2
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -891,20 +842,20 @@ void V<Ty>::f() {}
 // CHECK-NEXT:    "id": "0x{{.*}}",
 // CHECK-NEXT:    "kind": "FunctionTemplateDecl",
 // CHECK-NEXT:    "loc": {
+// CHECK-NEXT:     "line": 22,
 // CHECK-NEXT:     "col": 6,
-// CHECK-NEXT:     "file": "{{.*}}",
-// CHECK-NEXT:     "line": 22
+// CHECK-NEXT:     "tokLen": 1
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
+// CHECK-NEXT:      "line": 21,
 // CHECK-NEXT:      "col": 1,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 21
+// CHECK-NEXT:      "tokLen": 8
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
+// CHECK-NEXT:      "line": 22,
 // CHECK-NEXT:      "col": 17,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 22
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "name": "f",
@@ -913,20 +864,18 @@ void V<Ty>::f() {}
 // CHECK-NEXT:      "id": "0x{{.*}}",
 // CHECK-NEXT:      "kind": "NonTypeTemplateParmDecl",
 // CHECK-NEXT:      "loc": {
+// CHECK-NEXT:       "line": 21,
 // CHECK-NEXT:       "col": 15,
-// CHECK-NEXT:       "file": "{{.*}}",
-// CHECK-NEXT:       "line": 21
+// CHECK-NEXT:       "tokLen": 1
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 11,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 21
+// CHECK-NEXT:        "tokLen": 3
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 15,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 21
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "isReferenced": true,
@@ -941,20 +890,18 @@ void V<Ty>::f() {}
 // CHECK-NEXT:      "id": "0x{{.*}}",
 // CHECK-NEXT:      "kind": "FunctionDecl",
 // CHECK-NEXT:      "loc": {
+// CHECK-NEXT:       "line": 22,
 // CHECK-NEXT:       "col": 6,
-// CHECK-NEXT:       "file": "{{.*}}",
-// CHECK-NEXT:       "line": 22
+// CHECK-NEXT:       "tokLen": 1
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 1,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 22
+// CHECK-NEXT:        "tokLen": 4
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 17,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 22
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "name": "f",
@@ -967,19 +914,16 @@ void V<Ty>::f() {}
 // CHECK-NEXT:        "kind": "ParmVarDecl",
 // CHECK-NEXT:        "loc": {
 // CHECK-NEXT:         "col": 12,
-// CHECK-NEXT:         "file": "{{.*}}",
-// CHECK-NEXT:         "line": 22
+// CHECK-NEXT:         "tokLen": 1
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 8,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 22
+// CHECK-NEXT:          "tokLen": 3
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 16,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 22
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "name": "i",
@@ -994,13 +938,11 @@ void V<Ty>::f() {}
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 16,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 22
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 16,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 22
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "type": {
@@ -1026,20 +968,20 @@ void V<Ty>::f() {}
 // CHECK-NEXT:    "id": "0x{{.*}}",
 // CHECK-NEXT:    "kind": "FunctionTemplateDecl",
 // CHECK-NEXT:    "loc": {
+// CHECK-NEXT:     "line": 25,
 // CHECK-NEXT:     "col": 6,
-// CHECK-NEXT:     "file": "{{.*}}",
-// CHECK-NEXT:     "line": 25
+// CHECK-NEXT:     "tokLen": 1
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
+// CHECK-NEXT:      "line": 24,
 // CHECK-NEXT:      "col": 1,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 24
+// CHECK-NEXT:      "tokLen": 8
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
+// CHECK-NEXT:      "line": 25,
 // CHECK-NEXT:      "col": 10,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 25
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "name": "g",
@@ -1048,20 +990,18 @@ void V<Ty>::f() {}
 // CHECK-NEXT:      "id": "0x{{.*}}",
 // CHECK-NEXT:      "kind": "TemplateTypeParmDecl",
 // CHECK-NEXT:      "loc": {
+// CHECK-NEXT:       "line": 24,
 // CHECK-NEXT:       "col": 20,
-// CHECK-NEXT:       "file": "{{.*}}",
-// CHECK-NEXT:       "line": 24
+// CHECK-NEXT:       "tokLen": 2
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 11,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 24
+// CHECK-NEXT:        "tokLen": 8
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 25,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 24
+// CHECK-NEXT:        "tokLen": 3
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "isReferenced": true,
@@ -1088,20 +1028,18 @@ void V<Ty>::f() {}
 // CHECK-NEXT:      "id": "0x{{.*}}",
 // CHECK-NEXT:      "kind": "FunctionDecl",
 // CHECK-NEXT:      "loc": {
+// CHECK-NEXT:       "line": 25,
 // CHECK-NEXT:       "col": 6,
-// CHECK-NEXT:       "file": "{{.*}}",
-// CHECK-NEXT:       "line": 25
+// CHECK-NEXT:       "tokLen": 1
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 1,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 25
+// CHECK-NEXT:        "tokLen": 4
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 10,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 25
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "name": "g",
@@ -1114,19 +1052,16 @@ void V<Ty>::f() {}
 // CHECK-NEXT:        "kind": "ParmVarDecl",
 // CHECK-NEXT:        "loc": {
 // CHECK-NEXT:         "col": 10,
-// CHECK-NEXT:         "file": "{{.*}}",
-// CHECK-NEXT:         "line": 25
+// CHECK-NEXT:         "tokLen": 1
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 8,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 25
+// CHECK-NEXT:          "tokLen": 2
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 8,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 25
+// CHECK-NEXT:          "tokLen": 2
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -1141,20 +1076,20 @@ void V<Ty>::f() {}
 // CHECK-NEXT:    "id": "0x{{.*}}",
 // CHECK-NEXT:    "kind": "FunctionTemplateDecl",
 // CHECK-NEXT:    "loc": {
+// CHECK-NEXT:     "line": 28,
 // CHECK-NEXT:     "col": 6,
-// CHECK-NEXT:     "file": "{{.*}}",
-// CHECK-NEXT:     "line": 28
+// CHECK-NEXT:     "tokLen": 1
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
+// CHECK-NEXT:      "line": 27,
 // CHECK-NEXT:      "col": 1,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 27
+// CHECK-NEXT:      "tokLen": 8
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
+// CHECK-NEXT:      "line": 28,
 // CHECK-NEXT:      "col": 8,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 28
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "name": "h",
@@ -1163,20 +1098,18 @@ void V<Ty>::f() {}
 // CHECK-NEXT:      "id": "0x{{.*}}",
 // CHECK-NEXT:      "kind": "TemplateTypeParmDecl",
 // CHECK-NEXT:      "loc": {
+// CHECK-NEXT:       "line": 27,
 // CHECK-NEXT:       "col": 11,
-// CHECK-NEXT:       "file": "{{.*}}",
-// CHECK-NEXT:       "line": 27
+// CHECK-NEXT:       "tokLen": 8
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 11,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 27
+// CHECK-NEXT:        "tokLen": 8
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 22,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 27
+// CHECK-NEXT:        "tokLen": 4
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "tagUsed": "typename",
@@ -1201,20 +1134,18 @@ void V<Ty>::f() {}
 // CHECK-NEXT:      "id": "0x{{.*}}",
 // CHECK-NEXT:      "kind": "FunctionDecl",
 // CHECK-NEXT:      "loc": {
+// CHECK-NEXT:       "line": 28,
 // CHECK-NEXT:       "col": 6,
-// CHECK-NEXT:       "file": "{{.*}}",
-// CHECK-NEXT:       "line": 28
+// CHECK-NEXT:       "tokLen": 1
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 1,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 28
+// CHECK-NEXT:        "tokLen": 4
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 8,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 28
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "name": "h",
@@ -1228,20 +1159,20 @@ void V<Ty>::f() {}
 // CHECK-NEXT:    "id": "0x{{.*}}",
 // CHECK-NEXT:    "kind": "ClassTemplateDecl",
 // CHECK-NEXT:    "loc": {
+// CHECK-NEXT:     "line": 31,
 // CHECK-NEXT:     "col": 8,
-// CHECK-NEXT:     "file": "{{.*}}",
-// CHECK-NEXT:     "line": 31
+// CHECK-NEXT:     "tokLen": 1
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
+// CHECK-NEXT:      "line": 30,
 // CHECK-NEXT:      "col": 1,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 30
+// CHECK-NEXT:      "tokLen": 8
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
+// CHECK-NEXT:      "line": 31,
 // CHECK-NEXT:      "col": 11,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 31
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "name": "R",
@@ -1250,20 +1181,18 @@ void V<Ty>::f() {}
 // CHECK-NEXT:      "id": "0x{{.*}}",
 // CHECK-NEXT:      "kind": "TemplateTypeParmDecl",
 // CHECK-NEXT:      "loc": {
+// CHECK-NEXT:       "line": 30,
 // CHECK-NEXT:       "col": 20,
-// CHECK-NEXT:       "file": "{{.*}}",
-// CHECK-NEXT:       "line": 30
+// CHECK-NEXT:       "tokLen": 2
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 11,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 30
+// CHECK-NEXT:        "tokLen": 8
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 20,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 30
+// CHECK-NEXT:        "tokLen": 2
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "name": "Ty",
@@ -1275,20 +1204,18 @@ void V<Ty>::f() {}
 // CHECK-NEXT:      "id": "0x{{.*}}",
 // CHECK-NEXT:      "kind": "CXXRecordDecl",
 // CHECK-NEXT:      "loc": {
+// CHECK-NEXT:       "line": 31,
 // CHECK-NEXT:       "col": 8,
-// CHECK-NEXT:       "file": "{{.*}}",
-// CHECK-NEXT:       "line": 31
+// CHECK-NEXT:       "tokLen": 1
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 1,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 31
+// CHECK-NEXT:        "tokLen": 6
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 11,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 31
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "name": "R",
@@ -1349,19 +1276,16 @@ void V<Ty>::f() {}
 // CHECK-NEXT:        "kind": "CXXRecordDecl",
 // CHECK-NEXT:        "loc": {
 // CHECK-NEXT:         "col": 8,
-// CHECK-NEXT:         "file": "{{.*}}",
-// CHECK-NEXT:         "line": 31
+// CHECK-NEXT:         "tokLen": 1
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 1,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 31
+// CHECK-NEXT:          "tokLen": 6
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 8,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 31
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "isImplicit": true,
@@ -1381,20 +1305,20 @@ void V<Ty>::f() {}
 // CHECK-NEXT:    "id": "0x{{.*}}",
 // CHECK-NEXT:    "kind": "ClassTemplateSpecializationDecl",
 // CHECK-NEXT:    "loc": {
+// CHECK-NEXT:     "line": 34,
 // CHECK-NEXT:     "col": 8,
-// CHECK-NEXT:     "file": "{{.*}}",
-// CHECK-NEXT:     "line": 34
+// CHECK-NEXT:     "tokLen": 1
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
+// CHECK-NEXT:      "line": 33,
 // CHECK-NEXT:      "col": 1,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 33
+// CHECK-NEXT:      "tokLen": 8
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
+// CHECK-NEXT:      "line": 34,
 // CHECK-NEXT:      "col": 16,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 34
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "name": "R",
@@ -1462,19 +1386,16 @@ void V<Ty>::f() {}
 // CHECK-NEXT:      "kind": "CXXRecordDecl",
 // CHECK-NEXT:      "loc": {
 // CHECK-NEXT:       "col": 8,
-// CHECK-NEXT:       "file": "{{.*}}",
-// CHECK-NEXT:       "line": 34
+// CHECK-NEXT:       "tokLen": 1
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 1,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 34
+// CHECK-NEXT:        "tokLen": 6
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 8,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 34
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "isImplicit": true,
@@ -1487,20 +1408,20 @@ void V<Ty>::f() {}
 // CHECK-NEXT:    "id": "0x{{.*}}",
 // CHECK-NEXT:    "kind": "ClassTemplateDecl",
 // CHECK-NEXT:    "loc": {
+// CHECK-NEXT:     "line": 37,
 // CHECK-NEXT:     "col": 8,
-// CHECK-NEXT:     "file": "{{.*}}",
-// CHECK-NEXT:     "line": 37
+// CHECK-NEXT:     "tokLen": 1
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
+// CHECK-NEXT:      "line": 36,
 // CHECK-NEXT:      "col": 1,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 36
+// CHECK-NEXT:      "tokLen": 8
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
+// CHECK-NEXT:      "line": 37,
 // CHECK-NEXT:      "col": 11,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 37
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "name": "S",
@@ -1509,20 +1430,18 @@ void V<Ty>::f() {}
 // CHECK-NEXT:      "id": "0x{{.*}}",
 // CHECK-NEXT:      "kind": "TemplateTypeParmDecl",
 // CHECK-NEXT:      "loc": {
+// CHECK-NEXT:       "line": 36,
 // CHECK-NEXT:       "col": 20,
-// CHECK-NEXT:       "file": "{{.*}}",
-// CHECK-NEXT:       "line": 36
+// CHECK-NEXT:       "tokLen": 2
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 11,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 36
+// CHECK-NEXT:        "tokLen": 8
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 20,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 36
+// CHECK-NEXT:        "tokLen": 2
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "name": "Ty",
@@ -1535,19 +1454,16 @@ void V<Ty>::f() {}
 // CHECK-NEXT:      "kind": "TemplateTypeParmDecl",
 // CHECK-NEXT:      "loc": {
 // CHECK-NEXT:       "col": 30,
-// CHECK-NEXT:       "file": "{{.*}}",
-// CHECK-NEXT:       "line": 36
+// CHECK-NEXT:       "tokLen": 2
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 24,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 36
+// CHECK-NEXT:        "tokLen": 5
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 30,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 36
+// CHECK-NEXT:        "tokLen": 2
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "name": "Uy",
@@ -1559,20 +1475,18 @@ void V<Ty>::f() {}
 // CHECK-NEXT:      "id": "0x{{.*}}",
 // CHECK-NEXT:      "kind": "CXXRecordDecl",
 // CHECK-NEXT:      "loc": {
+// CHECK-NEXT:       "line": 37,
 // CHECK-NEXT:       "col": 8,
-// CHECK-NEXT:       "file": "{{.*}}",
-// CHECK-NEXT:       "line": 37
+// CHECK-NEXT:       "tokLen": 1
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 1,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 37
+// CHECK-NEXT:        "tokLen": 6
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 11,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 37
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "name": "S",
@@ -1633,19 +1547,16 @@ void V<Ty>::f() {}
 // CHECK-NEXT:        "kind": "CXXRecordDecl",
 // CHECK-NEXT:        "loc": {
 // CHECK-NEXT:         "col": 8,
-// CHECK-NEXT:         "file": "{{.*}}",
-// CHECK-NEXT:         "line": 37
+// CHECK-NEXT:         "tokLen": 1
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 1,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 37
+// CHECK-NEXT:          "tokLen": 6
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 8,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 37
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "isImplicit": true,
@@ -1660,20 +1571,20 @@ void V<Ty>::f() {}
 // CHECK-NEXT:    "id": "0x{{.*}}",
 // CHECK-NEXT:    "kind": "ClassTemplatePartialSpecializationDecl",
 // CHECK-NEXT:    "loc": {
+// CHECK-NEXT:     "line": 40,
 // CHECK-NEXT:     "col": 8,
-// CHECK-NEXT:     "file": "{{.*}}",
-// CHECK-NEXT:     "line": 40
+// CHECK-NEXT:     "tokLen": 1
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
+// CHECK-NEXT:      "line": 39,
 // CHECK-NEXT:      "col": 1,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 39
+// CHECK-NEXT:      "tokLen": 8
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
+// CHECK-NEXT:      "line": 40,
 // CHECK-NEXT:      "col": 20,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 40
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "name": "S",
@@ -1745,20 +1656,18 @@ void V<Ty>::f() {}
 // CHECK-NEXT:      "id": "0x{{.*}}",
 // CHECK-NEXT:      "kind": "TemplateTypeParmDecl",
 // CHECK-NEXT:      "loc": {
+// CHECK-NEXT:       "line": 39,
 // CHECK-NEXT:       "col": 20,
-// CHECK-NEXT:       "file": "{{.*}}",
-// CHECK-NEXT:       "line": 39
+// CHECK-NEXT:       "tokLen": 2
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 11,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 39
+// CHECK-NEXT:        "tokLen": 8
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 20,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 39
+// CHECK-NEXT:        "tokLen": 2
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "isReferenced": true,
@@ -1771,20 +1680,18 @@ void V<Ty>::f() {}
 // CHECK-NEXT:      "id": "0x{{.*}}",
 // CHECK-NEXT:      "kind": "CXXRecordDecl",
 // CHECK-NEXT:      "loc": {
+// CHECK-NEXT:       "line": 40,
 // CHECK-NEXT:       "col": 8,
-// CHECK-NEXT:       "file": "{{.*}}",
-// CHECK-NEXT:       "line": 40
+// CHECK-NEXT:       "tokLen": 1
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 1,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 40
+// CHECK-NEXT:        "tokLen": 6
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 8,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 40
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "isImplicit": true,
@@ -1797,20 +1704,20 @@ void V<Ty>::f() {}
 // CHECK-NEXT:    "id": "0x{{.*}}",
 // CHECK-NEXT:    "kind": "ClassTemplateDecl",
 // CHECK-NEXT:    "loc": {
+// CHECK-NEXT:     "line": 43,
 // CHECK-NEXT:     "col": 8,
-// CHECK-NEXT:     "file": "{{.*}}",
-// CHECK-NEXT:     "line": 43
+// CHECK-NEXT:     "tokLen": 1
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
+// CHECK-NEXT:      "line": 42,
 // CHECK-NEXT:      "col": 1,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 42
+// CHECK-NEXT:      "tokLen": 8
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
+// CHECK-NEXT:      "line": 43,
 // CHECK-NEXT:      "col": 11,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 43
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "name": "T",
@@ -1819,20 +1726,18 @@ void V<Ty>::f() {}
 // CHECK-NEXT:      "id": "0x{{.*}}",
 // CHECK-NEXT:      "kind": "NonTypeTemplateParmDecl",
 // CHECK-NEXT:      "loc": {
+// CHECK-NEXT:       "line": 42,
 // CHECK-NEXT:       "col": 15,
-// CHECK-NEXT:       "file": "{{.*}}",
-// CHECK-NEXT:       "line": 42
+// CHECK-NEXT:       "tokLen": 1
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 11,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 42
+// CHECK-NEXT:        "tokLen": 4
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 11,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 42
+// CHECK-NEXT:        "tokLen": 4
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -1845,20 +1750,18 @@ void V<Ty>::f() {}
 // CHECK-NEXT:      "id": "0x{{.*}}",
 // CHECK-NEXT:      "kind": "CXXRecordDecl",
 // CHECK-NEXT:      "loc": {
+// CHECK-NEXT:       "line": 43,
 // CHECK-NEXT:       "col": 8,
-// CHECK-NEXT:       "file": "{{.*}}",
-// CHECK-NEXT:       "line": 43
+// CHECK-NEXT:       "tokLen": 1
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 1,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 43
+// CHECK-NEXT:        "tokLen": 6
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 11,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 43
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "name": "T",
@@ -1919,19 +1822,16 @@ void V<Ty>::f() {}
 // CHECK-NEXT:        "kind": "CXXRecordDecl",
 // CHECK-NEXT:        "loc": {
 // CHECK-NEXT:         "col": 8,
-// CHECK-NEXT:         "file": "{{.*}}",
-// CHECK-NEXT:         "line": 43
+// CHECK-NEXT:         "tokLen": 1
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 1,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 43
+// CHECK-NEXT:          "tokLen": 6
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 8,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 43
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "isImplicit": true,
@@ -1946,20 +1846,20 @@ void V<Ty>::f() {}
 // CHECK-NEXT:    "id": "0x{{.*}}",
 // CHECK-NEXT:    "kind": "ClassTemplateDecl",
 // CHECK-NEXT:    "loc": {
+// CHECK-NEXT:     "line": 46,
 // CHECK-NEXT:     "col": 8,
-// CHECK-NEXT:     "file": "{{.*}}",
-// CHECK-NEXT:     "line": 46
+// CHECK-NEXT:     "tokLen": 1
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
+// CHECK-NEXT:      "line": 45,
 // CHECK-NEXT:      "col": 1,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 45
+// CHECK-NEXT:      "tokLen": 8
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
+// CHECK-NEXT:      "line": 46,
 // CHECK-NEXT:      "col": 11,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 46
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "name": "U",
@@ -1968,20 +1868,18 @@ void V<Ty>::f() {}
 // CHECK-NEXT:      "id": "0x{{.*}}",
 // CHECK-NEXT:      "kind": "NonTypeTemplateParmDecl",
 // CHECK-NEXT:      "loc": {
+// CHECK-NEXT:       "line": 45,
 // CHECK-NEXT:       "col": 25,
-// CHECK-NEXT:       "file": "{{.*}}",
-// CHECK-NEXT:       "line": 45
+// CHECK-NEXT:       "tokLen": 1
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 11,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 45
+// CHECK-NEXT:        "tokLen": 8
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 11,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 45
+// CHECK-NEXT:        "tokLen": 8
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -1994,20 +1892,18 @@ void V<Ty>::f() {}
 // CHECK-NEXT:      "id": "0x{{.*}}",
 // CHECK-NEXT:      "kind": "CXXRecordDecl",
 // CHECK-NEXT:      "loc": {
+// CHECK-NEXT:       "line": 46,
 // CHECK-NEXT:       "col": 8,
-// CHECK-NEXT:       "file": "{{.*}}",
-// CHECK-NEXT:       "line": 46
+// CHECK-NEXT:       "tokLen": 1
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 1,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 46
+// CHECK-NEXT:        "tokLen": 6
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 11,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 46
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "name": "U",
@@ -2068,19 +1964,16 @@ void V<Ty>::f() {}
 // CHECK-NEXT:        "kind": "CXXRecordDecl",
 // CHECK-NEXT:        "loc": {
 // CHECK-NEXT:         "col": 8,
-// CHECK-NEXT:         "file": "{{.*}}",
-// CHECK-NEXT:         "line": 46
+// CHECK-NEXT:         "tokLen": 1
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 1,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 46
+// CHECK-NEXT:          "tokLen": 6
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 8,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 46
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "isImplicit": true,
@@ -2095,20 +1988,20 @@ void V<Ty>::f() {}
 // CHECK-NEXT:    "id": "0x{{.*}}",
 // CHECK-NEXT:    "kind": "ClassTemplateDecl",
 // CHECK-NEXT:    "loc": {
+// CHECK-NEXT:     "line": 49,
 // CHECK-NEXT:     "col": 8,
-// CHECK-NEXT:     "file": "{{.*}}",
-// CHECK-NEXT:     "line": 49
+// CHECK-NEXT:     "tokLen": 1
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
+// CHECK-NEXT:      "line": 48,
 // CHECK-NEXT:      "col": 1,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 48
+// CHECK-NEXT:      "tokLen": 8
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
+// CHECK-NEXT:      "line": 52,
 // CHECK-NEXT:      "col": 1,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 52
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "name": "V",
@@ -2117,20 +2010,18 @@ void V<Ty>::f() {}
 // CHECK-NEXT:      "id": "0x{{.*}}",
 // CHECK-NEXT:      "kind": "TemplateTypeParmDecl",
 // CHECK-NEXT:      "loc": {
+// CHECK-NEXT:       "line": 48,
 // CHECK-NEXT:       "col": 20,
-// CHECK-NEXT:       "file": "{{.*}}",
-// CHECK-NEXT:       "line": 48
+// CHECK-NEXT:       "tokLen": 2
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 11,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 48
+// CHECK-NEXT:        "tokLen": 8
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 20,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 48
+// CHECK-NEXT:        "tokLen": 2
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "name": "Ty",
@@ -2142,20 +2033,19 @@ void V<Ty>::f() {}
 // CHECK-NEXT:      "id": "0x{{.*}}",
 // CHECK-NEXT:      "kind": "CXXRecordDecl",
 // CHECK-NEXT:      "loc": {
+// CHECK-NEXT:       "line": 49,
 // CHECK-NEXT:       "col": 8,
-// CHECK-NEXT:       "file": "{{.*}}",
-// CHECK-NEXT:       "line": 49
+// CHECK-NEXT:       "tokLen": 1
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 1,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 49
+// CHECK-NEXT:        "tokLen": 6
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
+// CHECK-NEXT:        "line": 52,
 // CHECK-NEXT:        "col": 1,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 52
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "name": "V",
@@ -2215,20 +2105,18 @@ void V<Ty>::f() {}
 // CHECK-NEXT:        "id": "0x{{.*}}",
 // CHECK-NEXT:        "kind": "CXXRecordDecl",
 // CHECK-NEXT:        "loc": {
+// CHECK-NEXT:         "line": 49,
 // CHECK-NEXT:         "col": 8,
-// CHECK-NEXT:         "file": "{{.*}}",
-// CHECK-NEXT:         "line": 49
+// CHECK-NEXT:         "tokLen": 1
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 1,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 49
+// CHECK-NEXT:          "tokLen": 6
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 8,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 49
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "isImplicit": true,
@@ -2239,20 +2127,20 @@ void V<Ty>::f() {}
 // CHECK-NEXT:        "id": "0x{{.*}}",
 // CHECK-NEXT:        "kind": "FunctionTemplateDecl",
 // CHECK-NEXT:        "loc": {
+// CHECK-NEXT:         "line": 51,
 // CHECK-NEXT:         "col": 8,
-// CHECK-NEXT:         "file": "{{.*}}",
-// CHECK-NEXT:         "line": 51
+// CHECK-NEXT:         "tokLen": 1
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
+// CHECK-NEXT:          "line": 50,
 // CHECK-NEXT:          "col": 3,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 50
+// CHECK-NEXT:          "tokLen": 8
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
+// CHECK-NEXT:          "line": 51,
 // CHECK-NEXT:          "col": 10,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 51
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "name": "f",
@@ -2261,20 +2149,18 @@ void V<Ty>::f() {}
 // CHECK-NEXT:          "id": "0x{{.*}}",
 // CHECK-NEXT:          "kind": "TemplateTypeParmDecl",
 // CHECK-NEXT:          "loc": {
+// CHECK-NEXT:           "line": 50,
 // CHECK-NEXT:           "col": 22,
-// CHECK-NEXT:           "file": "{{.*}}",
-// CHECK-NEXT:           "line": 50
+// CHECK-NEXT:           "tokLen": 2
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 13,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 50
+// CHECK-NEXT:            "tokLen": 8
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 22,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 50
+// CHECK-NEXT:            "tokLen": 2
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "name": "Uy",
@@ -2286,20 +2172,18 @@ void V<Ty>::f() {}
 // CHECK-NEXT:          "id": "0x{{.*}}",
 // CHECK-NEXT:          "kind": "CXXMethodDecl",
 // CHECK-NEXT:          "loc": {
+// CHECK-NEXT:           "line": 51,
 // CHECK-NEXT:           "col": 8,
-// CHECK-NEXT:           "file": "{{.*}}",
-// CHECK-NEXT:           "line": 51
+// CHECK-NEXT:           "tokLen": 1
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 3,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 51
+// CHECK-NEXT:            "tokLen": 4
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 10,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 51
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "name": "f",
@@ -2317,20 +2201,20 @@ void V<Ty>::f() {}
 // CHECK-NEXT:    "id": "0x{{.*}}",
 // CHECK-NEXT:    "kind": "FunctionTemplateDecl",
 // CHECK-NEXT:    "loc": {
+// CHECK-NEXT:     "line": 56,
 // CHECK-NEXT:     "col": 13,
-// CHECK-NEXT:     "file": "{{.*}}",
-// CHECK-NEXT:     "line": 56
+// CHECK-NEXT:     "tokLen": 1
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
+// CHECK-NEXT:      "line": 55,
 // CHECK-NEXT:      "col": 1,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 55
+// CHECK-NEXT:      "tokLen": 8
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
+// CHECK-NEXT:      "line": 56,
 // CHECK-NEXT:      "col": 18,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 56
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "parentDeclContext": "0x{{.*}}",
@@ -2341,20 +2225,18 @@ void V<Ty>::f() {}
 // CHECK-NEXT:      "id": "0x{{.*}}",
 // CHECK-NEXT:      "kind": "TemplateTypeParmDecl",
 // CHECK-NEXT:      "loc": {
+// CHECK-NEXT:       "line": 55,
 // CHECK-NEXT:       "col": 20,
-// CHECK-NEXT:       "file": "{{.*}}",
-// CHECK-NEXT:       "line": 55
+// CHECK-NEXT:       "tokLen": 2
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 11,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 55
+// CHECK-NEXT:        "tokLen": 8
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 20,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 55
+// CHECK-NEXT:        "tokLen": 2
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "name": "Uy",
@@ -2366,20 +2248,20 @@ void V<Ty>::f() {}
 // CHECK-NEXT:      "id": "0x{{.*}}",
 // CHECK-NEXT:      "kind": "CXXMethodDecl",
 // CHECK-NEXT:      "loc": {
+// CHECK-NEXT:       "line": 56,
 // CHECK-NEXT:       "col": 13,
-// CHECK-NEXT:       "file": "{{.*}}",
-// CHECK-NEXT:       "line": 56
+// CHECK-NEXT:       "tokLen": 1
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
+// CHECK-NEXT:        "line": 54,
 // CHECK-NEXT:        "col": 1,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 54
+// CHECK-NEXT:        "tokLen": 8
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
+// CHECK-NEXT:        "line": 56,
 // CHECK-NEXT:        "col": 18,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 56
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "parentDeclContext": "0x{{.*}}",
@@ -2395,13 +2277,11 @@ void V<Ty>::f() {}
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 17,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 56
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 18,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 56
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        }
 // CHECK-NEXT:       }

Modified: cfe/trunk/test/AST/ast-dump-temporaries-json.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/AST/ast-dump-temporaries-json.cpp?rev=364226&r1=364225&r2=364226&view=diff
==============================================================================
--- cfe/trunk/test/AST/ast-dump-temporaries-json.cpp (original)
+++ cfe/trunk/test/AST/ast-dump-temporaries-json.cpp Mon Jun 24 13:07:11 2019
@@ -26,13 +26,11 @@ void MaterializeTemp() {
 // CHECK-NEXT:  "range": {
 // CHECK-NEXT:   "begin": {
 // CHECK-NEXT:    "col": 16,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 11
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   },
 // CHECK-NEXT:   "end": {
 // CHECK-NEXT:    "col": 18,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 11
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   }
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "type": {
@@ -47,13 +45,11 @@ void MaterializeTemp() {
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
 // CHECK-NEXT:      "col": 16,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 11
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
 // CHECK-NEXT:      "col": 18,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 11
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "type": {
@@ -77,13 +73,11 @@ void MaterializeTemp() {
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 16,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 11
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 18,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 11
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -98,13 +92,11 @@ void MaterializeTemp() {
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 16,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 11
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 18,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 11
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -127,13 +119,11 @@ void MaterializeTemp() {
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 16,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 11
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 18,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 11
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "type": {
@@ -160,13 +150,11 @@ void MaterializeTemp() {
 // CHECK-NEXT:  "range": {
 // CHECK-NEXT:   "begin": {
 // CHECK-NEXT:    "col": 18,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 15
+// CHECK-NEXT:    "tokLen": 3
 // CHECK-NEXT:   },
 // CHECK-NEXT:   "end": {
 // CHECK-NEXT:    "col": 18,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 15
+// CHECK-NEXT:    "tokLen": 3
 // CHECK-NEXT:   }
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "type": {
@@ -180,13 +168,11 @@ void MaterializeTemp() {
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
 // CHECK-NEXT:      "col": 18,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 15
+// CHECK-NEXT:      "tokLen": 3
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
 // CHECK-NEXT:      "col": 18,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 15
+// CHECK-NEXT:      "tokLen": 3
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "type": {
@@ -210,13 +196,11 @@ void MaterializeTemp() {
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 18,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 15
+// CHECK-NEXT:        "tokLen": 3
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 18,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 15
+// CHECK-NEXT:        "tokLen": 3
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -231,13 +215,11 @@ void MaterializeTemp() {
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 18,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 15
+// CHECK-NEXT:          "tokLen": 3
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 18,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 15
+// CHECK-NEXT:          "tokLen": 3
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -257,14 +239,13 @@ void MaterializeTemp() {
 // CHECK:  "kind": "ExprWithCleanups",
 // CHECK-NEXT:  "range": {
 // CHECK-NEXT:   "begin": {
+// CHECK-NEXT:    "line": 18,
 // CHECK-NEXT:    "col": 3,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 18
+// CHECK-NEXT:    "tokLen": 4
 // CHECK-NEXT:   },
 // CHECK-NEXT:   "end": {
 // CHECK-NEXT:    "col": 9,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 18
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   }
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "type": {
@@ -278,13 +259,11 @@ void MaterializeTemp() {
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
 // CHECK-NEXT:      "col": 3,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 18
+// CHECK-NEXT:      "tokLen": 4
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
 // CHECK-NEXT:      "col": 9,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 18
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "type": {
@@ -298,13 +277,11 @@ void MaterializeTemp() {
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 3,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 18
+// CHECK-NEXT:        "tokLen": 4
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 3,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 18
+// CHECK-NEXT:        "tokLen": 4
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -319,13 +296,11 @@ void MaterializeTemp() {
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 3,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 18
+// CHECK-NEXT:          "tokLen": 4
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 3,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 18
+// CHECK-NEXT:          "tokLen": 4
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -349,13 +324,11 @@ void MaterializeTemp() {
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 8,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 18
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 8,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 18
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -371,13 +344,11 @@ void MaterializeTemp() {
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 8,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 18
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 8,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 18
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -392,13 +363,11 @@ void MaterializeTemp() {
 // CHECK-NEXT:          "range": {
 // CHECK-NEXT:           "begin": {
 // CHECK-NEXT:            "col": 8,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 18
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           },
 // CHECK-NEXT:           "end": {
 // CHECK-NEXT:            "col": 8,
-// CHECK-NEXT:            "file": "{{.*}}",
-// CHECK-NEXT:            "line": 18
+// CHECK-NEXT:            "tokLen": 1
 // CHECK-NEXT:           }
 // CHECK-NEXT:          },
 // CHECK-NEXT:          "type": {
@@ -413,13 +382,11 @@ void MaterializeTemp() {
 // CHECK-NEXT:            "range": {
 // CHECK-NEXT:             "begin": {
 // CHECK-NEXT:              "col": 8,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 18
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             },
 // CHECK-NEXT:             "end": {
 // CHECK-NEXT:              "col": 8,
-// CHECK-NEXT:              "file": "{{.*}}",
-// CHECK-NEXT:              "line": 18
+// CHECK-NEXT:              "tokLen": 1
 // CHECK-NEXT:             }
 // CHECK-NEXT:            },
 // CHECK-NEXT:            "type": {

Modified: cfe/trunk/test/AST/ast-dump-types-json.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/AST/ast-dump-types-json.cpp?rev=364226&r1=364225&r2=364226&view=diff
==============================================================================
--- cfe/trunk/test/AST/ast-dump-types-json.cpp (original)
+++ cfe/trunk/test/AST/ast-dump-types-json.cpp Mon Jun 24 13:07:11 2019
@@ -25,20 +25,19 @@ typedef int TestQualTypePrinting(const c
 
 // CHECK:  "kind": "TypedefDecl",
 // CHECK-NEXT:  "loc": {
-// CHECK-NEXT:   "col": 18,
 // CHECK-NEXT:   "file": "{{.*}}",
-// CHECK-NEXT:   "line": 12
+// CHECK-NEXT:   "line": 12,
+// CHECK-NEXT:   "col": 18,
+// CHECK-NEXT:   "tokLen": 19
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "range": {
 // CHECK-NEXT:   "begin": {
 // CHECK-NEXT:    "col": 1,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 12
+// CHECK-NEXT:    "tokLen": 7
 // CHECK-NEXT:   },
 // CHECK-NEXT:   "end": {
 // CHECK-NEXT:    "col": 18,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 12
+// CHECK-NEXT:    "tokLen": 19
 // CHECK-NEXT:   }
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "name": "TestElaboratedType1",
@@ -74,20 +73,19 @@ typedef int TestQualTypePrinting(const c
 
 // CHECK:  "kind": "TypedefDecl",
 // CHECK-NEXT:  "loc": {
-// CHECK-NEXT:   "col": 15,
 // CHECK-NEXT:   "file": "{{.*}}",
-// CHECK-NEXT:   "line": 13
+// CHECK-NEXT:   "line": 13,
+// CHECK-NEXT:   "col": 15,
+// CHECK-NEXT:   "tokLen": 19
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "range": {
 // CHECK-NEXT:   "begin": {
 // CHECK-NEXT:    "col": 1,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 13
+// CHECK-NEXT:    "tokLen": 7
 // CHECK-NEXT:   },
 // CHECK-NEXT:   "end": {
 // CHECK-NEXT:    "col": 15,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 13
+// CHECK-NEXT:    "tokLen": 19
 // CHECK-NEXT:   }
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "name": "TestElaboratedType2",
@@ -124,20 +122,19 @@ typedef int TestQualTypePrinting(const c
 
 // CHECK:  "kind": "TypedefDecl",
 // CHECK-NEXT:  "loc": {
-// CHECK-NEXT:   "col": 22,
 // CHECK-NEXT:   "file": "{{.*}}",
-// CHECK-NEXT:   "line": 16
+// CHECK-NEXT:   "line": 16,
+// CHECK-NEXT:   "col": 22,
+// CHECK-NEXT:   "tokLen": 22
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "range": {
 // CHECK-NEXT:   "begin": {
 // CHECK-NEXT:    "col": 1,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 16
+// CHECK-NEXT:    "tokLen": 7
 // CHECK-NEXT:   },
 // CHECK-NEXT:   "end": {
 // CHECK-NEXT:    "col": 22,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 16
+// CHECK-NEXT:    "tokLen": 22
 // CHECK-NEXT:   }
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "name": "TestMacroQualifiedType",
@@ -231,20 +228,19 @@ typedef int TestQualTypePrinting(const c
 
 // CHECK:  "kind": "TypedefDecl",
 // CHECK-NEXT:  "loc": {
-// CHECK-NEXT:   "col": 20,
 // CHECK-NEXT:   "file": "{{.*}}",
-// CHECK-NEXT:   "line": 18
+// CHECK-NEXT:   "line": 18,
+// CHECK-NEXT:   "col": 20,
+// CHECK-NEXT:   "tokLen": 29
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "range": {
 // CHECK-NEXT:   "begin": {
 // CHECK-NEXT:    "col": 1,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 18
+// CHECK-NEXT:    "tokLen": 7
 // CHECK-NEXT:   },
 // CHECK-NEXT:   "end": {
 // CHECK-NEXT:    "col": 51,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 18
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   }
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "name": "TestMemberFunctionPointerType",
@@ -306,20 +302,19 @@ typedef int TestQualTypePrinting(const c
 
 // CHECK:  "kind": "TypedefDecl",
 // CHECK-NEXT:  "loc": {
-// CHECK-NEXT:   "col": 17,
 // CHECK-NEXT:   "file": "{{.*}}",
-// CHECK-NEXT:   "line": 19
+// CHECK-NEXT:   "line": 19,
+// CHECK-NEXT:   "col": 17,
+// CHECK-NEXT:   "tokLen": 25
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "range": {
 // CHECK-NEXT:   "begin": {
 // CHECK-NEXT:    "col": 1,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 19
+// CHECK-NEXT:    "tokLen": 7
 // CHECK-NEXT:   },
 // CHECK-NEXT:   "end": {
 // CHECK-NEXT:    "col": 17,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 19
+// CHECK-NEXT:    "tokLen": 25
 // CHECK-NEXT:   }
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "name": "TestMemberDataPointerType",
@@ -362,20 +357,19 @@ typedef int TestQualTypePrinting(const c
 
 // CHECK:  "kind": "TypedefDecl",
 // CHECK-NEXT:  "loc": {
-// CHECK-NEXT:   "col": 13,
 // CHECK-NEXT:   "file": "{{.*}}",
-// CHECK-NEXT:   "line": 21
+// CHECK-NEXT:   "line": 21,
+// CHECK-NEXT:   "col": 13,
+// CHECK-NEXT:   "tokLen": 20
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "range": {
 // CHECK-NEXT:   "begin": {
 // CHECK-NEXT:    "col": 1,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 21
+// CHECK-NEXT:    "tokLen": 7
 // CHECK-NEXT:   },
 // CHECK-NEXT:   "end": {
 // CHECK-NEXT:    "col": 47,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 21
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   }
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "name": "TestQualTypePrinting",

Modified: cfe/trunk/test/AST/multistep-explicit-cast-json.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/AST/multistep-explicit-cast-json.c?rev=364226&r1=364225&r2=364226&view=diff
==============================================================================
--- cfe/trunk/test/AST/multistep-explicit-cast-json.c (original)
+++ cfe/trunk/test/AST/multistep-explicit-cast-json.c Mon Jun 24 13:07:11 2019
@@ -42,13 +42,11 @@ signed char cstylecast_3(signed int x) {
 // CHECK-NEXT:  "range": {
 // CHECK-NEXT:   "begin": {
 // CHECK-NEXT:    "col": 10,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 4
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   },
 // CHECK-NEXT:   "end": {
 // CHECK-NEXT:    "col": 10,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 4
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   }
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "type": {
@@ -63,13 +61,11 @@ signed char cstylecast_3(signed int x) {
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
 // CHECK-NEXT:      "col": 10,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 4
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
 // CHECK-NEXT:      "col": 10,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 4
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "type": {
@@ -84,13 +80,11 @@ signed char cstylecast_3(signed int x) {
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 10,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 4
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 10,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 4
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -116,13 +110,11 @@ signed char cstylecast_3(signed int x) {
 // CHECK-NEXT:  "range": {
 // CHECK-NEXT:   "begin": {
 // CHECK-NEXT:    "col": 10,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 8
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   },
 // CHECK-NEXT:   "end": {
 // CHECK-NEXT:    "col": 10,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 8
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   }
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "type": {
@@ -137,13 +129,11 @@ signed char cstylecast_3(signed int x) {
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
 // CHECK-NEXT:      "col": 10,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 8
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
 // CHECK-NEXT:      "col": 10,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 8
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "type": {
@@ -158,13 +148,11 @@ signed char cstylecast_3(signed int x) {
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 10,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 8
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 10,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 8
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -190,13 +178,11 @@ signed char cstylecast_3(signed int x) {
 // CHECK-NEXT:  "range": {
 // CHECK-NEXT:   "begin": {
 // CHECK-NEXT:    "col": 10,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 12
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   },
 // CHECK-NEXT:   "end": {
 // CHECK-NEXT:    "col": 10,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 12
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   }
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "type": {
@@ -211,13 +197,11 @@ signed char cstylecast_3(signed int x) {
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
 // CHECK-NEXT:      "col": 10,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 12
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
 // CHECK-NEXT:      "col": 10,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 12
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "type": {
@@ -232,13 +216,11 @@ signed char cstylecast_3(signed int x) {
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 10,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 12
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 10,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 12
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -264,13 +246,11 @@ signed char cstylecast_3(signed int x) {
 // CHECK-NEXT:  "range": {
 // CHECK-NEXT:   "begin": {
 // CHECK-NEXT:    "col": 10,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 16
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   },
 // CHECK-NEXT:   "end": {
 // CHECK-NEXT:    "col": 10,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 16
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   }
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "type": {
@@ -285,13 +265,11 @@ signed char cstylecast_3(signed int x) {
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
 // CHECK-NEXT:      "col": 10,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 16
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
 // CHECK-NEXT:      "col": 10,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 16
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "type": {
@@ -306,13 +284,11 @@ signed char cstylecast_3(signed int x) {
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 10,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 16
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 10,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 16
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -338,13 +314,11 @@ signed char cstylecast_3(signed int x) {
 // CHECK-NEXT:  "range": {
 // CHECK-NEXT:   "begin": {
 // CHECK-NEXT:    "col": 10,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 22
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   },
 // CHECK-NEXT:   "end": {
 // CHECK-NEXT:    "col": 25,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 22
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   }
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "type": {
@@ -359,13 +333,11 @@ signed char cstylecast_3(signed int x) {
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
 // CHECK-NEXT:      "col": 25,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 22
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
 // CHECK-NEXT:      "col": 25,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 22
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "type": {
@@ -381,13 +353,11 @@ signed char cstylecast_3(signed int x) {
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 25,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 22
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 25,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 22
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -413,13 +383,11 @@ signed char cstylecast_3(signed int x) {
 // CHECK-NEXT:  "range": {
 // CHECK-NEXT:   "begin": {
 // CHECK-NEXT:    "col": 10,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 26
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   },
 // CHECK-NEXT:   "end": {
 // CHECK-NEXT:    "col": 23,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 26
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   }
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "type": {
@@ -434,13 +402,11 @@ signed char cstylecast_3(signed int x) {
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
 // CHECK-NEXT:      "col": 23,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 26
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
 // CHECK-NEXT:      "col": 23,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 26
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "type": {
@@ -456,13 +422,11 @@ signed char cstylecast_3(signed int x) {
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 23,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 26
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 23,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 26
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -488,13 +452,11 @@ signed char cstylecast_3(signed int x) {
 // CHECK-NEXT:  "range": {
 // CHECK-NEXT:   "begin": {
 // CHECK-NEXT:    "col": 10,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 30
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   },
 // CHECK-NEXT:   "end": {
 // CHECK-NEXT:    "col": 25,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 30
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   }
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "type": {
@@ -509,13 +471,11 @@ signed char cstylecast_3(signed int x) {
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
 // CHECK-NEXT:      "col": 25,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 30
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
 // CHECK-NEXT:      "col": 25,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 30
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "type": {
@@ -531,13 +491,11 @@ signed char cstylecast_3(signed int x) {
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 25,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 30
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 25,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 30
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -563,13 +521,11 @@ signed char cstylecast_3(signed int x) {
 // CHECK-NEXT:  "range": {
 // CHECK-NEXT:   "begin": {
 // CHECK-NEXT:    "col": 10,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 34
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   },
 // CHECK-NEXT:   "end": {
 // CHECK-NEXT:    "col": 23,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 34
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   }
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "type": {
@@ -584,13 +540,11 @@ signed char cstylecast_3(signed int x) {
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
 // CHECK-NEXT:      "col": 23,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 34
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
 // CHECK-NEXT:      "col": 23,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 34
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "type": {
@@ -606,13 +560,11 @@ signed char cstylecast_3(signed int x) {
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 23,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 34
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 23,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 34
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {

Modified: cfe/trunk/test/AST/multistep-explicit-cast-json.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/AST/multistep-explicit-cast-json.cpp?rev=364226&r1=364225&r2=364226&view=diff
==============================================================================
--- cfe/trunk/test/AST/multistep-explicit-cast-json.cpp (original)
+++ cfe/trunk/test/AST/multistep-explicit-cast-json.cpp Mon Jun 24 13:07:11 2019
@@ -83,13 +83,11 @@ SignedChar cxxfunctionalcast_3(SignedInt
 // CHECK-NEXT:  "range": {
 // CHECK-NEXT:   "begin": {
 // CHECK-NEXT:    "col": 10,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 4
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   },
 // CHECK-NEXT:   "end": {
 // CHECK-NEXT:    "col": 10,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 4
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   }
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "type": {
@@ -104,13 +102,11 @@ SignedChar cxxfunctionalcast_3(SignedInt
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
 // CHECK-NEXT:      "col": 10,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 4
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
 // CHECK-NEXT:      "col": 10,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 4
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "type": {
@@ -125,13 +121,11 @@ SignedChar cxxfunctionalcast_3(SignedInt
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 10,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 4
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 10,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 4
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -157,13 +151,11 @@ SignedChar cxxfunctionalcast_3(SignedInt
 // CHECK-NEXT:  "range": {
 // CHECK-NEXT:   "begin": {
 // CHECK-NEXT:    "col": 10,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 8
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   },
 // CHECK-NEXT:   "end": {
 // CHECK-NEXT:    "col": 10,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 8
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   }
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "type": {
@@ -178,13 +170,11 @@ SignedChar cxxfunctionalcast_3(SignedInt
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
 // CHECK-NEXT:      "col": 10,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 8
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
 // CHECK-NEXT:      "col": 10,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 8
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "type": {
@@ -199,13 +189,11 @@ SignedChar cxxfunctionalcast_3(SignedInt
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 10,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 8
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 10,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 8
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -231,13 +219,11 @@ SignedChar cxxfunctionalcast_3(SignedInt
 // CHECK-NEXT:  "range": {
 // CHECK-NEXT:   "begin": {
 // CHECK-NEXT:    "col": 10,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 12
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   },
 // CHECK-NEXT:   "end": {
 // CHECK-NEXT:    "col": 10,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 12
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   }
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "type": {
@@ -252,13 +238,11 @@ SignedChar cxxfunctionalcast_3(SignedInt
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
 // CHECK-NEXT:      "col": 10,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 12
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
 // CHECK-NEXT:      "col": 10,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 12
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "type": {
@@ -273,13 +257,11 @@ SignedChar cxxfunctionalcast_3(SignedInt
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 10,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 12
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 10,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 12
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -305,13 +287,11 @@ SignedChar cxxfunctionalcast_3(SignedInt
 // CHECK-NEXT:  "range": {
 // CHECK-NEXT:   "begin": {
 // CHECK-NEXT:    "col": 10,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 16
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   },
 // CHECK-NEXT:   "end": {
 // CHECK-NEXT:    "col": 10,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 16
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   }
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "type": {
@@ -326,13 +306,11 @@ SignedChar cxxfunctionalcast_3(SignedInt
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
 // CHECK-NEXT:      "col": 10,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 16
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
 // CHECK-NEXT:      "col": 10,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 16
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "type": {
@@ -347,13 +325,11 @@ SignedChar cxxfunctionalcast_3(SignedInt
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 10,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 16
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 10,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 16
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -379,13 +355,11 @@ SignedChar cxxfunctionalcast_3(SignedInt
 // CHECK-NEXT:  "range": {
 // CHECK-NEXT:   "begin": {
 // CHECK-NEXT:    "col": 10,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 22
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   },
 // CHECK-NEXT:   "end": {
 // CHECK-NEXT:    "col": 25,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 22
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   }
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "type": {
@@ -400,13 +374,11 @@ SignedChar cxxfunctionalcast_3(SignedInt
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
 // CHECK-NEXT:      "col": 25,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 22
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
 // CHECK-NEXT:      "col": 25,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 22
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "type": {
@@ -422,13 +394,11 @@ SignedChar cxxfunctionalcast_3(SignedInt
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 25,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 22
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 25,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 22
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -444,13 +414,11 @@ SignedChar cxxfunctionalcast_3(SignedInt
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 25,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 22
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 25,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 22
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -478,13 +446,11 @@ SignedChar cxxfunctionalcast_3(SignedInt
 // CHECK-NEXT:  "range": {
 // CHECK-NEXT:   "begin": {
 // CHECK-NEXT:    "col": 10,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 26
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   },
 // CHECK-NEXT:   "end": {
 // CHECK-NEXT:    "col": 23,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 26
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   }
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "type": {
@@ -499,13 +465,11 @@ SignedChar cxxfunctionalcast_3(SignedInt
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
 // CHECK-NEXT:      "col": 23,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 26
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
 // CHECK-NEXT:      "col": 23,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 26
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "type": {
@@ -521,13 +485,11 @@ SignedChar cxxfunctionalcast_3(SignedInt
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 23,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 26
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 23,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 26
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -543,13 +505,11 @@ SignedChar cxxfunctionalcast_3(SignedInt
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 23,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 26
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 23,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 26
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -577,13 +537,11 @@ SignedChar cxxfunctionalcast_3(SignedInt
 // CHECK-NEXT:  "range": {
 // CHECK-NEXT:   "begin": {
 // CHECK-NEXT:    "col": 10,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 30
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   },
 // CHECK-NEXT:   "end": {
 // CHECK-NEXT:    "col": 25,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 30
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   }
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "type": {
@@ -598,13 +556,11 @@ SignedChar cxxfunctionalcast_3(SignedInt
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
 // CHECK-NEXT:      "col": 25,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 30
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
 // CHECK-NEXT:      "col": 25,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 30
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "type": {
@@ -620,13 +576,11 @@ SignedChar cxxfunctionalcast_3(SignedInt
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 25,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 30
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 25,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 30
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -642,13 +596,11 @@ SignedChar cxxfunctionalcast_3(SignedInt
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 25,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 30
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 25,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 30
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -676,13 +628,11 @@ SignedChar cxxfunctionalcast_3(SignedInt
 // CHECK-NEXT:  "range": {
 // CHECK-NEXT:   "begin": {
 // CHECK-NEXT:    "col": 10,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 34
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   },
 // CHECK-NEXT:   "end": {
 // CHECK-NEXT:    "col": 23,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 34
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   }
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "type": {
@@ -697,13 +647,11 @@ SignedChar cxxfunctionalcast_3(SignedInt
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
 // CHECK-NEXT:      "col": 23,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 34
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
 // CHECK-NEXT:      "col": 23,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 34
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "type": {
@@ -719,13 +667,11 @@ SignedChar cxxfunctionalcast_3(SignedInt
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 23,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 34
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 23,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 34
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -741,13 +687,11 @@ SignedChar cxxfunctionalcast_3(SignedInt
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 23,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 34
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 23,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 34
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -775,13 +719,11 @@ SignedChar cxxfunctionalcast_3(SignedInt
 // CHECK-NEXT:  "range": {
 // CHECK-NEXT:   "begin": {
 // CHECK-NEXT:    "col": 10,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 40
+// CHECK-NEXT:    "tokLen": 11
 // CHECK-NEXT:   },
 // CHECK-NEXT:   "end": {
 // CHECK-NEXT:    "col": 38,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 40
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   }
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "type": {
@@ -796,13 +738,11 @@ SignedChar cxxfunctionalcast_3(SignedInt
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
 // CHECK-NEXT:      "col": 37,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 40
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
 // CHECK-NEXT:      "col": 37,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 40
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "type": {
@@ -818,13 +758,11 @@ SignedChar cxxfunctionalcast_3(SignedInt
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 37,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 40
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 37,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 40
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -840,13 +778,11 @@ SignedChar cxxfunctionalcast_3(SignedInt
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 37,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 40
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 37,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 40
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -874,13 +810,11 @@ SignedChar cxxfunctionalcast_3(SignedInt
 // CHECK-NEXT:  "range": {
 // CHECK-NEXT:   "begin": {
 // CHECK-NEXT:    "col": 10,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 44
+// CHECK-NEXT:    "tokLen": 11
 // CHECK-NEXT:   },
 // CHECK-NEXT:   "end": {
 // CHECK-NEXT:    "col": 36,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 44
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   }
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "type": {
@@ -895,13 +829,11 @@ SignedChar cxxfunctionalcast_3(SignedInt
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
 // CHECK-NEXT:      "col": 35,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 44
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
 // CHECK-NEXT:      "col": 35,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 44
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "type": {
@@ -917,13 +849,11 @@ SignedChar cxxfunctionalcast_3(SignedInt
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 35,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 44
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 35,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 44
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -939,13 +869,11 @@ SignedChar cxxfunctionalcast_3(SignedInt
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 35,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 44
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 35,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 44
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -973,13 +901,11 @@ SignedChar cxxfunctionalcast_3(SignedInt
 // CHECK-NEXT:  "range": {
 // CHECK-NEXT:   "begin": {
 // CHECK-NEXT:    "col": 10,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 48
+// CHECK-NEXT:    "tokLen": 11
 // CHECK-NEXT:   },
 // CHECK-NEXT:   "end": {
 // CHECK-NEXT:    "col": 38,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 48
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   }
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "type": {
@@ -994,13 +920,11 @@ SignedChar cxxfunctionalcast_3(SignedInt
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
 // CHECK-NEXT:      "col": 37,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 48
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
 // CHECK-NEXT:      "col": 37,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 48
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "type": {
@@ -1016,13 +940,11 @@ SignedChar cxxfunctionalcast_3(SignedInt
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 37,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 48
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 37,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 48
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -1038,13 +960,11 @@ SignedChar cxxfunctionalcast_3(SignedInt
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 37,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 48
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 37,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 48
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -1072,13 +992,11 @@ SignedChar cxxfunctionalcast_3(SignedInt
 // CHECK-NEXT:  "range": {
 // CHECK-NEXT:   "begin": {
 // CHECK-NEXT:    "col": 10,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 52
+// CHECK-NEXT:    "tokLen": 11
 // CHECK-NEXT:   },
 // CHECK-NEXT:   "end": {
 // CHECK-NEXT:    "col": 36,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 52
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   }
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "type": {
@@ -1093,13 +1011,11 @@ SignedChar cxxfunctionalcast_3(SignedInt
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
 // CHECK-NEXT:      "col": 35,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 52
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
 // CHECK-NEXT:      "col": 35,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 52
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "type": {
@@ -1115,13 +1031,11 @@ SignedChar cxxfunctionalcast_3(SignedInt
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 35,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 52
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 35,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 52
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -1137,13 +1051,11 @@ SignedChar cxxfunctionalcast_3(SignedInt
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 35,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 52
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 35,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 52
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -1171,13 +1083,11 @@ SignedChar cxxfunctionalcast_3(SignedInt
 // CHECK-NEXT:  "range": {
 // CHECK-NEXT:   "begin": {
 // CHECK-NEXT:    "col": 10,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 63
+// CHECK-NEXT:    "tokLen": 12
 // CHECK-NEXT:   },
 // CHECK-NEXT:   "end": {
 // CHECK-NEXT:    "col": 24,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 63
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   }
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "type": {
@@ -1193,13 +1103,11 @@ SignedChar cxxfunctionalcast_3(SignedInt
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
 // CHECK-NEXT:      "col": 23,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 63
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
 // CHECK-NEXT:      "col": 23,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 63
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "type": {
@@ -1216,13 +1124,11 @@ SignedChar cxxfunctionalcast_3(SignedInt
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 23,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 63
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 23,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 63
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -1239,13 +1145,11 @@ SignedChar cxxfunctionalcast_3(SignedInt
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 23,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 63
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 23,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 63
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -1275,13 +1179,11 @@ SignedChar cxxfunctionalcast_3(SignedInt
 // CHECK-NEXT:  "range": {
 // CHECK-NEXT:   "begin": {
 // CHECK-NEXT:    "col": 10,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 67
+// CHECK-NEXT:    "tokLen": 10
 // CHECK-NEXT:   },
 // CHECK-NEXT:   "end": {
 // CHECK-NEXT:    "col": 22,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 67
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   }
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "type": {
@@ -1297,13 +1199,11 @@ SignedChar cxxfunctionalcast_3(SignedInt
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
 // CHECK-NEXT:      "col": 21,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 67
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
 // CHECK-NEXT:      "col": 21,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 67
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "type": {
@@ -1320,13 +1220,11 @@ SignedChar cxxfunctionalcast_3(SignedInt
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 21,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 67
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 21,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 67
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -1343,13 +1241,11 @@ SignedChar cxxfunctionalcast_3(SignedInt
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 21,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 67
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 21,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 67
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -1379,13 +1275,11 @@ SignedChar cxxfunctionalcast_3(SignedInt
 // CHECK-NEXT:  "range": {
 // CHECK-NEXT:   "begin": {
 // CHECK-NEXT:    "col": 10,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 71
+// CHECK-NEXT:    "tokLen": 12
 // CHECK-NEXT:   },
 // CHECK-NEXT:   "end": {
 // CHECK-NEXT:    "col": 24,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 71
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   }
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "type": {
@@ -1401,13 +1295,11 @@ SignedChar cxxfunctionalcast_3(SignedInt
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
 // CHECK-NEXT:      "col": 23,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 71
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
 // CHECK-NEXT:      "col": 23,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 71
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "type": {
@@ -1424,13 +1316,11 @@ SignedChar cxxfunctionalcast_3(SignedInt
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 23,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 71
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 23,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 71
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -1447,13 +1337,11 @@ SignedChar cxxfunctionalcast_3(SignedInt
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 23,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 71
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 23,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 71
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {
@@ -1483,13 +1371,11 @@ SignedChar cxxfunctionalcast_3(SignedInt
 // CHECK-NEXT:  "range": {
 // CHECK-NEXT:   "begin": {
 // CHECK-NEXT:    "col": 10,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 75
+// CHECK-NEXT:    "tokLen": 10
 // CHECK-NEXT:   },
 // CHECK-NEXT:   "end": {
 // CHECK-NEXT:    "col": 22,
-// CHECK-NEXT:    "file": "{{.*}}",
-// CHECK-NEXT:    "line": 75
+// CHECK-NEXT:    "tokLen": 1
 // CHECK-NEXT:   }
 // CHECK-NEXT:  },
 // CHECK-NEXT:  "type": {
@@ -1505,13 +1391,11 @@ SignedChar cxxfunctionalcast_3(SignedInt
 // CHECK-NEXT:    "range": {
 // CHECK-NEXT:     "begin": {
 // CHECK-NEXT:      "col": 21,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 75
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     },
 // CHECK-NEXT:     "end": {
 // CHECK-NEXT:      "col": 21,
-// CHECK-NEXT:      "file": "{{.*}}",
-// CHECK-NEXT:      "line": 75
+// CHECK-NEXT:      "tokLen": 1
 // CHECK-NEXT:     }
 // CHECK-NEXT:    },
 // CHECK-NEXT:    "type": {
@@ -1528,13 +1412,11 @@ SignedChar cxxfunctionalcast_3(SignedInt
 // CHECK-NEXT:      "range": {
 // CHECK-NEXT:       "begin": {
 // CHECK-NEXT:        "col": 21,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 75
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       },
 // CHECK-NEXT:       "end": {
 // CHECK-NEXT:        "col": 21,
-// CHECK-NEXT:        "file": "{{.*}}",
-// CHECK-NEXT:        "line": 75
+// CHECK-NEXT:        "tokLen": 1
 // CHECK-NEXT:       }
 // CHECK-NEXT:      },
 // CHECK-NEXT:      "type": {
@@ -1551,13 +1433,11 @@ SignedChar cxxfunctionalcast_3(SignedInt
 // CHECK-NEXT:        "range": {
 // CHECK-NEXT:         "begin": {
 // CHECK-NEXT:          "col": 21,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 75
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         },
 // CHECK-NEXT:         "end": {
 // CHECK-NEXT:          "col": 21,
-// CHECK-NEXT:          "file": "{{.*}}",
-// CHECK-NEXT:          "line": 75
+// CHECK-NEXT:          "tokLen": 1
 // CHECK-NEXT:         }
 // CHECK-NEXT:        },
 // CHECK-NEXT:        "type": {




More information about the cfe-commits mailing list