From 6538274e66a4f07f74c5e192ce3db1135ed0e905 Mon Sep 17 00:00:00 2001
From: Jacob Dufault <jacobdufault@gmail.com>
Date: Sat, 23 Dec 2017 07:36:08 -0800
Subject: [PATCH] Update tests

---
 tests/constructors/constructor.cc             |  2 --
 tests/constructors/destructor.cc              |  5 +---
 tests/constructors/implicit_constructor.cc    |  2 --
 tests/constructors/invalid_reference.cc       |  1 -
 tests/constructors/make_functions.cc          |  7 -----
 tests/declaration_vs_definition/func.cc       |  1 -
 .../func_associated_function_params.cc        |  1 -
 tests/declaration_vs_definition/method.cc     |  3 --
 tests/function_declaration.cc                 |  1 -
 tests/function_declaration_definition.cc      |  1 -
 tests/function_definition.cc                  |  1 -
 tests/inheritance/function_override.cc        |  2 --
 tests/inheritance/interface_pure_virtual.cc   |  1 -
 tests/inheritance/multiple_base_functions.cc  |  9 ++----
 tests/lambdas/lambda.cc                       |  3 +-
 tests/macros/complex.cc                       |  4 +--
 tests/macros/foo.cc                           | 24 +++-------------
 tests/method_declaration.cc                   |  1 -
 tests/method_definition.cc                    |  4 +--
 tests/method_inline_declaration.cc            |  1 -
 tests/multi_file/funky_enum.cc                | 17 ++++-------
 tests/multi_file/impl.cc                      | 28 ++++++-------------
 tests/multi_file/simple_impl.cc               |  3 --
 tests/multi_file/static.cc                    |  4 ---
 tests/namespaces/anonymous_function.cc        |  1 -
 tests/namespaces/function_declaration.cc      |  1 -
 tests/namespaces/function_definition.cc       |  1 -
 tests/namespaces/method_declaration.cc        |  1 -
 tests/namespaces/method_definition.cc         |  1 -
 tests/namespaces/method_inline_declaration.cc |  1 -
 tests/namespaces/namespace_alias.cc           |  3 +-
 tests/namespaces/namespace_reference.cc       |  4 +--
 tests/objective-c/class.m                     | 23 +++++----------
 tests/operators/operator.cc                   |  4 ---
 tests/outline/outline.cc                      | 13 +++------
 tests/outline/outline2.cc                     | 17 ++++-------
 tests/outline/static_function_in_type.cc      |  2 --
 .../func_specialized_template_param.cc        |  1 -
 ...ass_template_func_usage_folded_into_one.cc |  5 ++--
 .../templates/specialized_func_definition.cc  |  1 -
 ...mplate_class_func_usage_folded_into_one.cc |  5 ++--
 ...ass_template_func_usage_folded_into_one.cc |  5 ++--
 .../template_func_usage_folded_into_one.cc    |  5 ++--
 tests/types/typedefs.cc                       |  1 -
 tests/unions/union_usage.cc                   |  7 ++---
 tests/usage/func_called_from_constructor.cc   |  2 --
 .../usage/func_called_from_macro_argument.cc  |  2 --
 tests/usage/func_called_from_template.cc      |  3 --
 tests/usage/func_called_implicit_ctor.cc      |  3 --
 tests/usage/func_usage_addr_func.cc           |  3 --
 tests/usage/func_usage_addr_method.cc         |  2 --
 tests/usage/func_usage_call_func.cc           |  2 --
 tests/usage/func_usage_call_method.cc         |  2 --
 .../usage/func_usage_class_inline_var_def.cc  |  3 +-
 tests/usage/func_usage_forward_decl_func.cc   |  2 --
 tests/usage/func_usage_forward_decl_method.cc |  2 --
 tests/usage/func_usage_template_func.cc       |  2 --
 .../usage/type_usage_as_template_parameter.cc |  5 ++--
 ...ype_usage_as_template_parameter_complex.cc |  6 +---
 tests/usage/type_usage_declare_local.cc       |  1 -
 tests/usage/type_usage_declare_param.cc       |  1 -
 .../type_usage_declare_param_prototype.cc     |  1 -
 .../usage/type_usage_declare_param_unnamed.cc |  1 -
 tests/usage/type_usage_declare_qualifiers.cc  |  1 -
 tests/usage/type_usage_on_return_type.cc      |  5 ----
 tests/usage/type_usage_typedef_and_using.cc   |  4 ---
 tests/usage/type_usage_various.cc             |  3 +-
 tests/usage/usage_inside_of_call.cc           |  7 ++---
 tests/usage/usage_inside_of_call_simple.cc    |  3 --
 tests/usage/var_usage_call_function.cc        |  2 --
 tests/usage/var_usage_class_member.cc         |  7 ++---
 tests/usage/var_usage_class_member_static.cc  |  4 +--
 tests/usage/var_usage_extern.cc               |  3 +-
 tests/usage/var_usage_func_parameter.cc       |  1 -
 tests/usage/var_usage_local.cc                |  1 -
 tests/usage/var_usage_shadowed_local.cc       |  1 -
 tests/usage/var_usage_shadowed_parameter.cc   |  1 -
 tests/usage/var_usage_static.cc               |  3 +-
 tests/vars/deduce_auto_type.cc                |  1 -
 tests/vars/function_local.cc                  |  1 -
 tests/vars/function_param.cc                  |  1 -
 tests/vars/function_param_unnamed.cc          |  1 -
 tests/vars/function_shadow_local.cc           |  1 -
 tests/vars/function_shadow_param.cc           |  1 -
 tests/vars/type_instance_on_using_type.cc     |  1 -
 85 files changed, 66 insertions(+), 258 deletions(-)

diff --git a/tests/constructors/constructor.cc b/tests/constructors/constructor.cc
index 50818dd5..c409042e 100644
--- a/tests/constructors/constructor.cc
+++ b/tests/constructors/constructor.cc
@@ -34,7 +34,6 @@ OUTPUT:
       "usr": "c:@S@Foo@F@Foo#",
       "short_name": "Foo",
       "detailed_name": "void Foo::Foo()",
-      "hover": "void Foo::Foo()",
       "declarations": [],
       "definition_spelling": "3:3-3:6",
       "definition_extent": "3:3-3:11",
@@ -50,7 +49,6 @@ OUTPUT:
       "usr": "c:@F@foo#",
       "short_name": "foo",
       "detailed_name": "void foo()",
-      "hover": "void foo()",
       "declarations": [],
       "definition_spelling": "6:6-6:9",
       "definition_extent": "6:1-9:2",
diff --git a/tests/constructors/destructor.cc b/tests/constructors/destructor.cc
index 233d9562..d1cd860d 100644
--- a/tests/constructors/destructor.cc
+++ b/tests/constructors/destructor.cc
@@ -39,7 +39,6 @@ OUTPUT:
       "usr": "c:@S@Foo@F@Foo#",
       "short_name": "Foo",
       "detailed_name": "void Foo::Foo()",
-      "hover": "void Foo::Foo()",
       "declarations": [],
       "definition_spelling": "3:3-3:6",
       "definition_extent": "3:3-3:11",
@@ -54,8 +53,7 @@ OUTPUT:
       "is_operator": false,
       "usr": "c:@S@Foo@F@~Foo#",
       "short_name": "~Foo",
-      "detailed_name": "void Foo::~Foo() noexcept",
-      "hover": "void Foo::~Foo() noexcept",
+      "detailed_name": "void () noexcept Foo::~Foo",
       "declarations": [],
       "definition_spelling": "4:3-4:7",
       "definition_extent": "4:3-4:12",
@@ -71,7 +69,6 @@ OUTPUT:
       "usr": "c:@F@foo#",
       "short_name": "foo",
       "detailed_name": "void foo()",
-      "hover": "void foo()",
       "declarations": [],
       "definition_spelling": "7:6-7:9",
       "definition_extent": "7:1-9:2",
diff --git a/tests/constructors/implicit_constructor.cc b/tests/constructors/implicit_constructor.cc
index 44485c27..66003391 100644
--- a/tests/constructors/implicit_constructor.cc
+++ b/tests/constructors/implicit_constructor.cc
@@ -33,7 +33,6 @@ OUTPUT:
       "usr": "c:@S@Type@F@Type#",
       "short_name": "Type",
       "detailed_name": "void Type::Type()",
-      "hover": "void Type::Type()",
       "declarations": [],
       "definition_spelling": "2:3-2:7",
       "definition_extent": "2:3-2:12",
@@ -49,7 +48,6 @@ OUTPUT:
       "usr": "c:@F@Make#",
       "short_name": "Make",
       "detailed_name": "void Make()",
-      "hover": "void Make()",
       "declarations": [],
       "definition_spelling": "5:6-5:10",
       "definition_extent": "5:1-8:2",
diff --git a/tests/constructors/invalid_reference.cc b/tests/constructors/invalid_reference.cc
index 47bf34c2..3a8abc4a 100644
--- a/tests/constructors/invalid_reference.cc
+++ b/tests/constructors/invalid_reference.cc
@@ -33,7 +33,6 @@ OUTPUT:
       "usr": "c:@S@Foo@FT@>1#TFoo#v#",
       "short_name": "Foo",
       "detailed_name": "void Foo::Foo()",
-      "hover": "void Foo::Foo()",
       "declarations": [],
       "definition_spelling": "4:6-4:9",
       "definition_extent": "4:1-4:11",
diff --git a/tests/constructors/make_functions.cc b/tests/constructors/make_functions.cc
index 403c420e..37aff408 100644
--- a/tests/constructors/make_functions.cc
+++ b/tests/constructors/make_functions.cc
@@ -63,7 +63,6 @@ OUTPUT: make_functions.h
       "usr": "c:@S@Foobar@F@Foobar#",
       "short_name": "Foobar",
       "detailed_name": "void Foobar::Foobar()",
-      "hover": "void Foobar::Foobar()",
       "declarations": [],
       "definition_spelling": "5:3-5:9",
       "definition_extent": "5:3-5:14",
@@ -79,7 +78,6 @@ OUTPUT: make_functions.h
       "usr": "c:@S@Foobar@F@Foobar#I#",
       "short_name": "Foobar",
       "detailed_name": "void Foobar::Foobar(int)",
-      "hover": "void Foobar::Foobar(int)",
       "declarations": [],
       "definition_spelling": "6:3-6:9",
       "definition_extent": "6:3-6:17",
@@ -95,7 +93,6 @@ OUTPUT: make_functions.h
       "usr": "c:@S@Foobar@F@Foobar#&&I#*$@S@Bar#*b#",
       "short_name": "Foobar",
       "detailed_name": "void Foobar::Foobar(int &&, Bar *, bool *)",
-      "hover": "void Foobar::Foobar(int &&, Bar *, bool *)",
       "declarations": [],
       "definition_spelling": "7:3-7:9",
       "definition_extent": "7:3-7:32",
@@ -111,7 +108,6 @@ OUTPUT: make_functions.h
       "usr": "c:@S@Foobar@F@Foobar#I#*$@S@Bar#*b#",
       "short_name": "Foobar",
       "detailed_name": "void Foobar::Foobar(int, Bar *, bool *)",
-      "hover": "void Foobar::Foobar(int, Bar *, bool *)",
       "declarations": [],
       "definition_spelling": "8:3-8:9",
       "definition_extent": "8:3-8:30",
@@ -210,7 +206,6 @@ OUTPUT: make_functions.cc
       "usr": "c:@FT@>2#T#pTMakeUnique#P&&t0.1#*t0.0#",
       "short_name": "MakeUnique",
       "detailed_name": "T *MakeUnique(Args &&...)",
-      "hover": "T *MakeUnique(Args &&...)",
       "declarations": [],
       "definition_spelling": "4:4-4:14",
       "definition_extent": "4:1-6:2",
@@ -225,7 +220,6 @@ OUTPUT: make_functions.cc
       "usr": "c:@FT@>2#T#pTmaKE_NoRefs#Pt0.1#*t0.0#",
       "short_name": "maKE_NoRefs",
       "detailed_name": "T *maKE_NoRefs(Args...)",
-      "hover": "T *maKE_NoRefs(Args...)",
       "declarations": [],
       "definition_spelling": "9:4-9:15",
       "definition_extent": "9:1-11:2",
@@ -240,7 +234,6 @@ OUTPUT: make_functions.cc
       "usr": "c:@F@caller22#",
       "short_name": "caller22",
       "detailed_name": "void caller22()",
-      "hover": "void caller22()",
       "declarations": [],
       "definition_spelling": "13:6-13:14",
       "definition_extent": "13:1-18:2",
diff --git a/tests/declaration_vs_definition/func.cc b/tests/declaration_vs_definition/func.cc
index df29ceb5..0c9793c0 100644
--- a/tests/declaration_vs_definition/func.cc
+++ b/tests/declaration_vs_definition/func.cc
@@ -16,7 +16,6 @@ OUTPUT:
       "usr": "c:@F@foo#",
       "short_name": "foo",
       "detailed_name": "void foo()",
-      "hover": "void foo()",
       "declarations": [{
           "spelling": "1:6-1:9",
           "extent": "1:1-1:11",
diff --git a/tests/declaration_vs_definition/func_associated_function_params.cc b/tests/declaration_vs_definition/func_associated_function_params.cc
index e2633c0d..7e151953 100644
--- a/tests/declaration_vs_definition/func_associated_function_params.cc
+++ b/tests/declaration_vs_definition/func_associated_function_params.cc
@@ -16,7 +16,6 @@ OUTPUT:
       "usr": "c:@F@foo#I#I#",
       "short_name": "foo",
       "detailed_name": "int foo(int, int)",
-      "hover": "int foo(int, int)",
       "declarations": [{
           "spelling": "1:5-1:8",
           "extent": "1:1-1:18",
diff --git a/tests/declaration_vs_definition/method.cc b/tests/declaration_vs_definition/method.cc
index 1432c538..619bc0ee 100644
--- a/tests/declaration_vs_definition/method.cc
+++ b/tests/declaration_vs_definition/method.cc
@@ -32,7 +32,6 @@ OUTPUT:
       "usr": "c:@S@Foo@F@declonly#",
       "short_name": "declonly",
       "detailed_name": "void Foo::declonly()",
-      "hover": "void Foo::declonly()",
       "declarations": [{
           "spelling": "2:8-2:16",
           "extent": "2:3-2:18",
@@ -51,7 +50,6 @@ OUTPUT:
       "usr": "c:@S@Foo@F@purevirtual#",
       "short_name": "purevirtual",
       "detailed_name": "void Foo::purevirtual()",
-      "hover": "void Foo::purevirtual()",
       "declarations": [{
           "spelling": "3:16-3:27",
           "extent": "3:3-3:33",
@@ -70,7 +68,6 @@ OUTPUT:
       "usr": "c:@S@Foo@F@def#",
       "short_name": "def",
       "detailed_name": "void Foo::def()",
-      "hover": "void Foo::def()",
       "declarations": [{
           "spelling": "4:8-4:11",
           "extent": "4:3-4:13",
diff --git a/tests/function_declaration.cc b/tests/function_declaration.cc
index c07a6c14..42a79bda 100644
--- a/tests/function_declaration.cc
+++ b/tests/function_declaration.cc
@@ -12,7 +12,6 @@ OUTPUT:
       "usr": "c:@F@foo#I#I#",
       "short_name": "foo",
       "detailed_name": "void foo(int, int)",
-      "hover": "void foo(int, int)",
       "declarations": [{
           "spelling": "1:6-1:9",
           "extent": "1:1-1:23",
diff --git a/tests/function_declaration_definition.cc b/tests/function_declaration_definition.cc
index 0bf3ddce..89c45b64 100644
--- a/tests/function_declaration_definition.cc
+++ b/tests/function_declaration_definition.cc
@@ -14,7 +14,6 @@ OUTPUT:
       "usr": "c:@F@foo#",
       "short_name": "foo",
       "detailed_name": "void foo()",
-      "hover": "void foo()",
       "declarations": [{
           "spelling": "1:6-1:9",
           "extent": "1:1-1:11",
diff --git a/tests/function_definition.cc b/tests/function_definition.cc
index 87af763b..cc238661 100644
--- a/tests/function_definition.cc
+++ b/tests/function_definition.cc
@@ -12,7 +12,6 @@ OUTPUT:
       "usr": "c:@F@foo#",
       "short_name": "foo",
       "detailed_name": "void foo()",
-      "hover": "void foo()",
       "declarations": [],
       "definition_spelling": "1:6-1:9",
       "definition_extent": "1:1-1:14",
diff --git a/tests/inheritance/function_override.cc b/tests/inheritance/function_override.cc
index 0103f643..935ec4a1 100644
--- a/tests/inheritance/function_override.cc
+++ b/tests/inheritance/function_override.cc
@@ -45,7 +45,6 @@ OUTPUT:
       "usr": "c:@S@Root@F@foo#",
       "short_name": "foo",
       "detailed_name": "void Root::foo()",
-      "hover": "void Root::foo()",
       "declarations": [{
           "spelling": "2:16-2:19",
           "extent": "2:3-2:21",
@@ -64,7 +63,6 @@ OUTPUT:
       "usr": "c:@S@Derived@F@foo#",
       "short_name": "foo",
       "detailed_name": "void Derived::foo()",
-      "hover": "void Derived::foo()",
       "declarations": [],
       "definition_spelling": "5:8-5:11",
       "definition_extent": "5:3-5:25",
diff --git a/tests/inheritance/interface_pure_virtual.cc b/tests/inheritance/interface_pure_virtual.cc
index 822048fe..7abff382 100644
--- a/tests/inheritance/interface_pure_virtual.cc
+++ b/tests/inheritance/interface_pure_virtual.cc
@@ -28,7 +28,6 @@ OUTPUT:
       "usr": "c:@S@IFoo@F@foo#",
       "short_name": "foo",
       "detailed_name": "void IFoo::foo()",
-      "hover": "void IFoo::foo()",
       "declarations": [{
           "spelling": "2:16-2:19",
           "extent": "2:3-2:25",
diff --git a/tests/inheritance/multiple_base_functions.cc b/tests/inheritance/multiple_base_functions.cc
index db0a497d..a847c8ac 100644
--- a/tests/inheritance/multiple_base_functions.cc
+++ b/tests/inheritance/multiple_base_functions.cc
@@ -61,8 +61,7 @@ OUTPUT:
       "is_operator": false,
       "usr": "c:@S@Base0@F@~Base0#",
       "short_name": "~Base0",
-      "detailed_name": "void Base0::~Base0() noexcept",
-      "hover": "void Base0::~Base0() noexcept",
+      "detailed_name": "void () noexcept Base0::~Base0",
       "declarations": [],
       "definition_spelling": "2:11-2:17",
       "definition_extent": "2:3-2:23",
@@ -77,8 +76,7 @@ OUTPUT:
       "is_operator": false,
       "usr": "c:@S@Base1@F@~Base1#",
       "short_name": "~Base1",
-      "detailed_name": "void Base1::~Base1() noexcept",
-      "hover": "void Base1::~Base1() noexcept",
+      "detailed_name": "void () noexcept Base1::~Base1",
       "declarations": [],
       "definition_spelling": "5:11-5:17",
       "definition_extent": "5:3-5:23",
@@ -93,8 +91,7 @@ OUTPUT:
       "is_operator": false,
       "usr": "c:@S@Derived@F@~Derived#",
       "short_name": "~Derived",
-      "detailed_name": "void Derived::~Derived() noexcept",
-      "hover": "void Derived::~Derived() noexcept",
+      "detailed_name": "void () noexcept Derived::~Derived",
       "declarations": [],
       "definition_spelling": "8:3-8:11",
       "definition_extent": "8:3-8:26",
diff --git a/tests/lambdas/lambda.cc b/tests/lambdas/lambda.cc
index aa5bb971..9e23fde3 100644
--- a/tests/lambdas/lambda.cc
+++ b/tests/lambdas/lambda.cc
@@ -35,7 +35,6 @@ OUTPUT:
       "usr": "c:@F@foo#",
       "short_name": "foo",
       "detailed_name": "void foo()",
-      "hover": "void foo()",
       "declarations": [],
       "definition_spelling": "1:6-1:9",
       "definition_extent": "1:1-12:2",
@@ -92,7 +91,7 @@ OUTPUT:
       "is_local": false,
       "is_macro": false,
       "is_global": false,
-      "is_member": false,
+      "is_member": true,
       "uses": ["4:31-4:32", "6:7-6:8"]
     }]
 }
diff --git a/tests/macros/complex.cc b/tests/macros/complex.cc
index f32275a5..fec5956f 100644
--- a/tests/macros/complex.cc
+++ b/tests/macros/complex.cc
@@ -23,7 +23,6 @@ OUTPUT:
       "usr": "c:@F@make1#",
       "short_name": "make1",
       "detailed_name": "int make1()",
-      "hover": "int make1()",
       "declarations": [],
       "definition_spelling": "6:5-6:10",
       "definition_extent": "6:1-8:2",
@@ -38,7 +37,6 @@ OUTPUT:
       "usr": "c:@F@a#",
       "short_name": "a",
       "detailed_name": "int a()",
-      "hover": "int a()",
       "declarations": [{
           "spelling": "12:1-12:20",
           "extent": "12:1-12:20",
@@ -62,7 +60,7 @@ OUTPUT:
       "definition_extent": "9:1-9:20",
       "is_local": false,
       "is_macro": false,
-      "is_global": false,
+      "is_global": true,
       "is_member": false,
       "uses": ["9:11-9:16", "12:14-12:19"]
     }, {
diff --git a/tests/macros/foo.cc b/tests/macros/foo.cc
index 85616211..b17109cd 100644
--- a/tests/macros/foo.cc
+++ b/tests/macros/foo.cc
@@ -22,28 +22,12 @@ OUTPUT:
       "parents": [],
       "derived": [],
       "types": [],
-      "funcs": [0],
+      "funcs": [],
       "vars": [],
       "instances": [],
-      "uses": ["4:8-4:11", "5:12-5:15"]
-    }],
-  "funcs": [{
-      "id": 0,
-      "is_operator": false,
-      "usr": "c:@S@Foo@F@Foo#&&$@S@Foo#",
-      "short_name": "Foo",
-      "detailed_name": "void Foo::Foo(Foo &&)",
-      "hover": "void Foo::Foo(Foo &&)",
-      "declarations": [],
-      "definition_spelling": "5:12-5:15",
-      "definition_extent": "5:12-5:16",
-      "declaring_type": 0,
-      "base": [],
-      "derived": [],
-      "locals": [],
-      "callers": [],
-      "callees": []
+      "uses": ["4:8-4:11"]
     }],
+  "funcs": [],
   "vars": [{
       "id": 0,
       "usr": "c:@x",
@@ -53,7 +37,7 @@ OUTPUT:
       "definition_extent": "8:1-8:10",
       "is_local": false,
       "is_macro": false,
-      "is_global": false,
+      "is_global": true,
       "is_member": false,
       "uses": ["8:5-8:6"]
     }, {
diff --git a/tests/method_declaration.cc b/tests/method_declaration.cc
index 2fac5c9f..84aabd1c 100644
--- a/tests/method_declaration.cc
+++ b/tests/method_declaration.cc
@@ -32,7 +32,6 @@ OUTPUT:
       "usr": "c:@S@Foo@F@foo#",
       "short_name": "foo",
       "detailed_name": "void Foo::foo()",
-      "hover": "void Foo::foo()",
       "declarations": [{
           "spelling": "2:8-2:11",
           "extent": "2:3-2:13",
diff --git a/tests/method_definition.cc b/tests/method_definition.cc
index 170af79f..b26dd0e5 100644
--- a/tests/method_definition.cc
+++ b/tests/method_definition.cc
@@ -14,7 +14,6 @@ OUTPUT:
       "usr": "c:@S@Foo",
       "short_name": "Foo",
       "detailed_name": "Foo",
-      "hover": "Foo",
       "definition_spelling": "1:7-1:10",
       "definition_extent": "1:1-3:2",
       "parents": [],
@@ -30,8 +29,7 @@ OUTPUT:
       "is_operator": false,
       "usr": "c:@S@Foo@F@foo#1",
       "short_name": "foo",
-      "detailed_name": "void Foo::foo() const",
-      "hover": "void Foo::foo() const",
+      "detailed_name": "void () const Foo::foo",
       "declarations": [{
           "spelling": "2:8-2:11",
           "extent": "2:3-2:19",
diff --git a/tests/method_inline_declaration.cc b/tests/method_inline_declaration.cc
index fbb85301..55ca1de1 100644
--- a/tests/method_inline_declaration.cc
+++ b/tests/method_inline_declaration.cc
@@ -28,7 +28,6 @@ OUTPUT:
       "usr": "c:@S@Foo@F@foo#",
       "short_name": "foo",
       "detailed_name": "void Foo::foo()",
-      "hover": "void Foo::foo()",
       "declarations": [],
       "definition_spelling": "2:8-2:11",
       "definition_extent": "2:3-2:16",
diff --git a/tests/multi_file/funky_enum.cc b/tests/multi_file/funky_enum.cc
index 555c60fb..b74c6694 100644
--- a/tests/multi_file/funky_enum.cc
+++ b/tests/multi_file/funky_enum.cc
@@ -15,7 +15,6 @@ OUTPUT: funky_enum.h
       "usr": "c:@E@Foo",
       "short_name": "",
       "detailed_name": "",
-      "hover": "",
       "parents": [],
       "derived": [],
       "types": [],
@@ -29,8 +28,7 @@ OUTPUT: funky_enum.h
       "id": 0,
       "usr": "c:@E@Foo@A",
       "short_name": "A",
-      "detailed_name": "Foo Foo::A",
-      "hover": "Foo",
+      "detailed_name": "Foo::A",
       "definition_spelling": "4:1-4:2",
       "definition_extent": "4:1-4:2",
       "variable_type": 0,
@@ -38,14 +36,13 @@ OUTPUT: funky_enum.h
       "is_local": false,
       "is_macro": false,
       "is_global": false,
-      "is_member": false,
+      "is_member": true,
       "uses": ["4:1-4:2"]
     }, {
       "id": 1,
       "usr": "c:@E@Foo@B",
       "short_name": "B",
-      "detailed_name": "Foo Foo::B",
-      "hover": "Foo",
+      "detailed_name": "Foo::B",
       "definition_spelling": "5:1-5:2",
       "definition_extent": "5:1-5:2",
       "variable_type": 0,
@@ -53,14 +50,13 @@ OUTPUT: funky_enum.h
       "is_local": false,
       "is_macro": false,
       "is_global": false,
-      "is_member": false,
+      "is_member": true,
       "uses": ["5:1-5:2"]
     }, {
       "id": 2,
       "usr": "c:@E@Foo@C",
       "short_name": "C",
-      "detailed_name": "Foo Foo::C",
-      "hover": "Foo",
+      "detailed_name": "Foo::C",
       "definition_spelling": "6:1-6:2",
       "definition_extent": "6:1-6:2",
       "variable_type": 0,
@@ -68,7 +64,7 @@ OUTPUT: funky_enum.h
       "is_local": false,
       "is_macro": false,
       "is_global": false,
-      "is_member": false,
+      "is_member": true,
       "uses": ["6:1-6:2"]
     }]
 }
@@ -84,7 +80,6 @@ OUTPUT: funky_enum.cc
       "usr": "c:@E@Foo",
       "short_name": "Foo",
       "detailed_name": "Foo",
-      "hover": "Foo",
       "definition_spelling": "1:6-1:9",
       "definition_extent": "1:1-3:2",
       "parents": [],
diff --git a/tests/multi_file/impl.cc b/tests/multi_file/impl.cc
index 4a94ec23..187dfe8c 100644
--- a/tests/multi_file/impl.cc
+++ b/tests/multi_file/impl.cc
@@ -14,7 +14,6 @@ OUTPUT: header.h
       "usr": "c:@S@Base",
       "short_name": "Base",
       "detailed_name": "Base",
-      "hover": "Base",
       "definition_spelling": "3:8-3:12",
       "definition_extent": "3:1-3:15",
       "parents": [],
@@ -29,7 +28,6 @@ OUTPUT: header.h
       "usr": "c:@S@SameFileDerived",
       "short_name": "SameFileDerived",
       "detailed_name": "SameFileDerived",
-      "hover": "SameFileDerived",
       "definition_spelling": "5:8-5:23",
       "definition_extent": "5:1-5:33",
       "parents": [0],
@@ -60,7 +58,6 @@ OUTPUT: header.h
       "usr": "c:@ST>1#T@Foo2",
       "short_name": "Foo2",
       "detailed_name": "Foo2",
-      "hover": "Foo2",
       "definition_spelling": "13:8-13:12",
       "definition_extent": "13:1-13:15",
       "parents": [],
@@ -75,7 +72,6 @@ OUTPUT: header.h
       "usr": "c:@E@Foo3",
       "short_name": "Foo3",
       "detailed_name": "Foo3",
-      "hover": "Foo3",
       "definition_spelling": "15:6-15:10",
       "definition_extent": "15:1-15:22",
       "parents": [],
@@ -92,7 +88,6 @@ OUTPUT: header.h
       "usr": "c:@FT@>1#TFoo1#v#",
       "short_name": "Foo1",
       "detailed_name": "void Foo1()",
-      "hover": "void Foo1()",
       "declarations": [],
       "definition_spelling": "10:6-10:10",
       "definition_extent": "10:1-10:15",
@@ -106,8 +101,7 @@ OUTPUT: header.h
       "id": 0,
       "usr": "c:@E@Foo3@A",
       "short_name": "A",
-      "detailed_name": "Foo3 Foo3::A",
-      "hover": "Foo3",
+      "detailed_name": "Foo3::A",
       "definition_spelling": "15:13-15:14",
       "definition_extent": "15:13-15:14",
       "variable_type": 4,
@@ -115,14 +109,13 @@ OUTPUT: header.h
       "is_local": false,
       "is_macro": false,
       "is_global": false,
-      "is_member": false,
+      "is_member": true,
       "uses": ["15:13-15:14"]
     }, {
       "id": 1,
       "usr": "c:@E@Foo3@B",
       "short_name": "B",
-      "detailed_name": "Foo3 Foo3::B",
-      "hover": "Foo3",
+      "detailed_name": "Foo3::B",
       "definition_spelling": "15:16-15:17",
       "definition_extent": "15:16-15:17",
       "variable_type": 4,
@@ -130,14 +123,13 @@ OUTPUT: header.h
       "is_local": false,
       "is_macro": false,
       "is_global": false,
-      "is_member": false,
+      "is_member": true,
       "uses": ["15:16-15:17"]
     }, {
       "id": 2,
       "usr": "c:@E@Foo3@C",
       "short_name": "C",
-      "detailed_name": "Foo3 Foo3::C",
-      "hover": "Foo3",
+      "detailed_name": "Foo3::C",
       "definition_spelling": "15:19-15:20",
       "definition_extent": "15:19-15:20",
       "variable_type": 4,
@@ -145,19 +137,18 @@ OUTPUT: header.h
       "is_local": false,
       "is_macro": false,
       "is_global": false,
-      "is_member": false,
+      "is_member": true,
       "uses": ["15:19-15:20"]
     }, {
       "id": 3,
       "usr": "c:@Foo4",
       "short_name": "Foo4",
       "detailed_name": "int Foo4",
-      "hover": "int",
       "definition_spelling": "17:5-17:9",
       "definition_extent": "17:1-17:9",
       "is_local": false,
       "is_macro": false,
-      "is_global": false,
+      "is_global": true,
       "is_member": false,
       "uses": ["17:5-17:9"]
     }, {
@@ -165,12 +156,11 @@ OUTPUT: header.h
       "usr": "c:header.h@Foo5",
       "short_name": "Foo5",
       "detailed_name": "int Foo5",
-      "hover": "int",
       "definition_spelling": "18:12-18:16",
       "definition_extent": "18:1-18:16",
       "is_local": false,
       "is_macro": false,
-      "is_global": false,
+      "is_global": true,
       "is_member": false,
       "uses": ["18:12-18:16"]
     }]
@@ -189,7 +179,6 @@ OUTPUT: impl.cc
       "usr": "c:@F@Impl#",
       "short_name": "Impl",
       "detailed_name": "void Impl()",
-      "hover": "void Impl()",
       "declarations": [],
       "definition_spelling": "3:6-3:10",
       "definition_extent": "3:1-5:2",
@@ -204,7 +193,6 @@ OUTPUT: impl.cc
       "usr": "c:@FT@>1#TFoo1#v#",
       "short_name": "",
       "detailed_name": "",
-      "hover": "",
       "declarations": [],
       "base": [],
       "derived": [],
diff --git a/tests/multi_file/simple_impl.cc b/tests/multi_file/simple_impl.cc
index 3e5a40bf..52027153 100644
--- a/tests/multi_file/simple_impl.cc
+++ b/tests/multi_file/simple_impl.cc
@@ -16,7 +16,6 @@ OUTPUT: simple_header.h
       "usr": "c:@F@header#",
       "short_name": "header",
       "detailed_name": "void header()",
-      "hover": "void header()",
       "declarations": [{
           "spelling": "3:6-3:12",
           "extent": "3:1-3:14",
@@ -45,7 +44,6 @@ OUTPUT: simple_impl.cc
       "usr": "c:@F@impl#",
       "short_name": "impl",
       "detailed_name": "void impl()",
-      "hover": "void impl()",
       "declarations": [],
       "definition_spelling": "3:6-3:10",
       "definition_extent": "3:1-5:2",
@@ -60,7 +58,6 @@ OUTPUT: simple_impl.cc
       "usr": "c:@F@header#",
       "short_name": "",
       "detailed_name": "",
-      "hover": "",
       "declarations": [],
       "base": [],
       "derived": [],
diff --git a/tests/multi_file/static.cc b/tests/multi_file/static.cc
index 18cec1c4..f34eee00 100644
--- a/tests/multi_file/static.cc
+++ b/tests/multi_file/static.cc
@@ -12,7 +12,6 @@ OUTPUT: static.h
       "usr": "c:@S@Buffer",
       "short_name": "Buffer",
       "detailed_name": "Buffer",
-      "hover": "Buffer",
       "definition_spelling": "3:8-3:14",
       "definition_extent": "3:1-5:2",
       "parents": [],
@@ -29,7 +28,6 @@ OUTPUT: static.h
       "usr": "c:@S@Buffer@F@CreateSharedBuffer#S",
       "short_name": "CreateSharedBuffer",
       "detailed_name": "void Buffer::CreateSharedBuffer()",
-      "hover": "void Buffer::CreateSharedBuffer()",
       "declarations": [{
           "spelling": "4:15-4:33",
           "extent": "4:3-4:35",
@@ -57,7 +55,6 @@ OUTPUT: static.cc
       "usr": "c:@S@Buffer",
       "short_name": "",
       "detailed_name": "",
-      "hover": "",
       "parents": [],
       "derived": [],
       "types": [],
@@ -72,7 +69,6 @@ OUTPUT: static.cc
       "usr": "c:@S@Buffer@F@CreateSharedBuffer#S",
       "short_name": "CreateSharedBuffer",
       "detailed_name": "void Buffer::CreateSharedBuffer()",
-      "hover": "void Buffer::CreateSharedBuffer()",
       "declarations": [],
       "definition_spelling": "3:14-3:32",
       "definition_extent": "3:1-3:37",
diff --git a/tests/namespaces/anonymous_function.cc b/tests/namespaces/anonymous_function.cc
index d15c829b..e3607f53 100644
--- a/tests/namespaces/anonymous_function.cc
+++ b/tests/namespaces/anonymous_function.cc
@@ -14,7 +14,6 @@ OUTPUT:
       "usr": "c:anonymous_function.cc@aN@F@foo#",
       "short_name": "foo",
       "detailed_name": "void (anon)::foo()",
-      "hover": "void (anon)::foo()",
       "declarations": [{
           "spelling": "2:6-2:9",
           "extent": "2:1-2:11",
diff --git a/tests/namespaces/function_declaration.cc b/tests/namespaces/function_declaration.cc
index 25f36ff1..d1e1afa2 100644
--- a/tests/namespaces/function_declaration.cc
+++ b/tests/namespaces/function_declaration.cc
@@ -14,7 +14,6 @@ OUTPUT:
       "usr": "c:@N@hello@F@foo#I#I#",
       "short_name": "foo",
       "detailed_name": "void hello::foo(int, int)",
-      "hover": "void hello::foo(int, int)",
       "declarations": [{
           "spelling": "2:6-2:9",
           "extent": "2:1-2:23",
diff --git a/tests/namespaces/function_definition.cc b/tests/namespaces/function_definition.cc
index 75a93408..84ee3087 100644
--- a/tests/namespaces/function_definition.cc
+++ b/tests/namespaces/function_definition.cc
@@ -14,7 +14,6 @@ OUTPUT:
       "usr": "c:@N@hello@F@foo#",
       "short_name": "foo",
       "detailed_name": "void hello::foo()",
-      "hover": "void hello::foo()",
       "declarations": [],
       "definition_spelling": "2:6-2:9",
       "definition_extent": "2:1-2:14",
diff --git a/tests/namespaces/method_declaration.cc b/tests/namespaces/method_declaration.cc
index b0318700..eb7b6469 100644
--- a/tests/namespaces/method_declaration.cc
+++ b/tests/namespaces/method_declaration.cc
@@ -30,7 +30,6 @@ OUTPUT:
       "usr": "c:@N@hello@S@Foo@F@foo#",
       "short_name": "foo",
       "detailed_name": "void hello::Foo::foo()",
-      "hover": "void hello::Foo::foo()",
       "declarations": [{
           "spelling": "3:8-3:11",
           "extent": "3:3-3:13",
diff --git a/tests/namespaces/method_definition.cc b/tests/namespaces/method_definition.cc
index 58e794ed..3255d8e4 100644
--- a/tests/namespaces/method_definition.cc
+++ b/tests/namespaces/method_definition.cc
@@ -32,7 +32,6 @@ OUTPUT:
       "usr": "c:@N@hello@S@Foo@F@foo#",
       "short_name": "foo",
       "detailed_name": "void hello::Foo::foo()",
-      "hover": "void hello::Foo::foo()",
       "declarations": [{
           "spelling": "3:8-3:11",
           "extent": "3:3-3:13",
diff --git a/tests/namespaces/method_inline_declaration.cc b/tests/namespaces/method_inline_declaration.cc
index 9ffb39b2..b78c561e 100644
--- a/tests/namespaces/method_inline_declaration.cc
+++ b/tests/namespaces/method_inline_declaration.cc
@@ -30,7 +30,6 @@ OUTPUT:
       "usr": "c:@N@hello@S@Foo@F@foo#",
       "short_name": "foo",
       "detailed_name": "void hello::Foo::foo()",
-      "hover": "void hello::Foo::foo()",
       "declarations": [],
       "definition_spelling": "3:8-3:11",
       "definition_extent": "3:3-3:16",
diff --git a/tests/namespaces/namespace_alias.cc b/tests/namespaces/namespace_alias.cc
index 4119ed8b..becef09b 100644
--- a/tests/namespaces/namespace_alias.cc
+++ b/tests/namespaces/namespace_alias.cc
@@ -25,7 +25,6 @@ OUTPUT:
       "usr": "c:@F@func#",
       "short_name": "func",
       "detailed_name": "void func()",
-      "hover": "void func()",
       "declarations": [],
       "definition_spelling": "11:6-11:10",
       "definition_extent": "11:1-14:2",
@@ -44,7 +43,7 @@ OUTPUT:
       "definition_extent": "4:14-4:26",
       "is_local": false,
       "is_macro": false,
-      "is_global": false,
+      "is_global": true,
       "is_member": false,
       "uses": ["4:18-4:21", "12:26-12:29", "13:16-13:19"]
     }, {
diff --git a/tests/namespaces/namespace_reference.cc b/tests/namespaces/namespace_reference.cc
index 2b60797a..e065ed1c 100644
--- a/tests/namespaces/namespace_reference.cc
+++ b/tests/namespaces/namespace_reference.cc
@@ -21,7 +21,6 @@ OUTPUT:
       "usr": "c:@N@ns@F@Accept#I#",
       "short_name": "Accept",
       "detailed_name": "void ns::Accept(int)",
-      "hover": "void ns::Accept(int)",
       "declarations": [],
       "definition_spelling": "3:8-3:14",
       "definition_extent": "3:3-3:24",
@@ -36,7 +35,6 @@ OUTPUT:
       "usr": "c:@F@Runner#",
       "short_name": "Runner",
       "detailed_name": "void Runner()",
-      "hover": "void Runner()",
       "declarations": [],
       "definition_spelling": "6:6-6:12",
       "definition_extent": "6:1-10:2",
@@ -55,7 +53,7 @@ OUTPUT:
       "definition_extent": "2:3-2:10",
       "is_local": false,
       "is_macro": false,
-      "is_global": false,
+      "is_global": true,
       "is_member": false,
       "uses": ["2:7-2:10", "7:18-7:21", "9:10-9:13"]
     }, {
diff --git a/tests/objective-c/class.m b/tests/objective-c/class.m
index 4c987032..098bc1c4 100644
--- a/tests/objective-c/class.m
+++ b/tests/objective-c/class.m
@@ -26,7 +26,6 @@ OUTPUT:
       "usr": "c:objc(cs)AClass",
       "short_name": "AClass",
       "detailed_name": "AClass",
-      "hover": "AClass",
       "definition_spelling": "7:17-7:23",
       "definition_extent": "7:1-10:2",
       "parents": [],
@@ -42,8 +41,7 @@ OUTPUT:
       "is_operator": false,
       "usr": "c:objc(cs)AClass(cm)test",
       "short_name": "test",
-      "detailed_name": " test",
-      "hover": " test",
+      "detailed_name": " AClass::test",
       "declarations": [{
           "spelling": "2:11-2:15",
           "extent": "2:3-2:16",
@@ -62,8 +60,7 @@ OUTPUT:
       "is_operator": false,
       "usr": "c:objc(cs)AClass(im)anInstanceMethod",
       "short_name": "anInstanceMethod",
-      "detailed_name": " anInstanceMethod",
-      "hover": " anInstanceMethod",
+      "detailed_name": " AClass::anInstanceMethod",
       "declarations": [{
           "spelling": "3:11-3:27",
           "extent": "3:3-3:28",
@@ -82,8 +79,7 @@ OUTPUT:
       "is_operator": false,
       "usr": "c:objc(cs)AClass(im)aProp",
       "short_name": "aProp",
-      "detailed_name": " aProp",
-      "hover": " aProp",
+      "detailed_name": " AClass::aProp",
       "declarations": [{
           "spelling": "0:0-0:0",
           "extent": "4:29-4:34",
@@ -100,8 +96,7 @@ OUTPUT:
       "is_operator": false,
       "usr": "c:objc(cs)AClass(im)setAProp:",
       "short_name": "setAProp:",
-      "detailed_name": " setAProp:",
-      "hover": " setAProp:",
+      "detailed_name": " AClass::setAProp:",
       "declarations": [{
           "spelling": "0:0-0:0",
           "extent": "4:29-4:34",
@@ -119,7 +114,6 @@ OUTPUT:
       "usr": "c:@F@main#",
       "short_name": "main",
       "detailed_name": "int main()",
-      "hover": "int main()",
       "declarations": [],
       "definition_spelling": "12:5-12:9",
       "definition_extent": "12:1-17:2",
@@ -133,8 +127,7 @@ OUTPUT:
       "id": 0,
       "usr": "c:objc(cs)AClass(py)aProp",
       "short_name": "aProp",
-      "detailed_name": "int aProp",
-      "hover": "int",
+      "detailed_name": "int AClass::aProp",
       "declaration": "4:29-4:34",
       "is_local": true,
       "is_macro": false,
@@ -145,8 +138,7 @@ OUTPUT:
       "id": 1,
       "usr": "c:objc(cs)AClass@_aProp",
       "short_name": "_aProp",
-      "detailed_name": "int _aProp",
-      "hover": "int",
+      "detailed_name": "int AClass::_aProp",
       "definition_spelling": "4:29-4:34",
       "definition_extent": "4:29-4:34",
       "is_local": true,
@@ -156,10 +148,9 @@ OUTPUT:
       "uses": ["4:29-4:34"]
     }, {
       "id": 2,
-      "usr": "c:class.m@195@F@main#@instance",
+      "usr": "c:class.m@208@F@main#@instance",
       "short_name": "instance",
       "detailed_name": "AClass * instance",
-      "hover": "AClass *",
       "definition_spelling": "14:11-14:19",
       "definition_extent": "14:3-14:35",
       "is_local": true,
diff --git a/tests/operators/operator.cc b/tests/operators/operator.cc
index b568ad7b..f1f62820 100644
--- a/tests/operators/operator.cc
+++ b/tests/operators/operator.cc
@@ -32,7 +32,6 @@ OUTPUT:
       "usr": "c:@S@Foo@F@operator()#I#",
       "short_name": "operator()",
       "detailed_name": "void Foo::operator()(int)",
-      "hover": "void Foo::operator()(int)",
       "declarations": [],
       "definition_spelling": "2:8-2:18",
       "definition_extent": "2:3-2:27",
@@ -48,7 +47,6 @@ OUTPUT:
       "usr": "c:@S@Foo@F@operator()#b#",
       "short_name": "operator()",
       "detailed_name": "void Foo::operator()(bool)",
-      "hover": "void Foo::operator()(bool)",
       "declarations": [{
           "spelling": "3:8-3:18",
           "extent": "3:3-3:24",
@@ -67,7 +65,6 @@ OUTPUT:
       "usr": "c:@S@Foo@F@operator()#I#I#",
       "short_name": "operator()",
       "detailed_name": "int Foo::operator()(int, int)",
-      "hover": "int Foo::operator()(int, int)",
       "declarations": [{
           "spelling": "4:7-4:17",
           "extent": "4:3-4:31",
@@ -86,7 +83,6 @@ OUTPUT:
       "usr": "c:@F@operator+=#&1$@S@Foo#&1I#",
       "short_name": "operator+=",
       "detailed_name": "Foo &operator+=(const Foo &, const int &)",
-      "hover": "Foo &operator+=(const Foo &, const int &)",
       "declarations": [{
           "spelling": "7:6-7:17",
           "extent": "7:1-7:42",
diff --git a/tests/outline/outline.cc b/tests/outline/outline.cc
index 0a6f60ba..7604944c 100644
--- a/tests/outline/outline.cc
+++ b/tests/outline/outline.cc
@@ -22,7 +22,6 @@ OUTPUT:
       "usr": "c:@S@MergeableUpdate",
       "short_name": "MergeableUpdate",
       "detailed_name": "MergeableUpdate",
-      "hover": "MergeableUpdate",
       "definition_spelling": "3:8-3:23",
       "definition_extent": "3:1-7:2",
       "parents": [],
@@ -34,10 +33,9 @@ OUTPUT:
       "uses": ["3:8-3:23"]
     }, {
       "id": 1,
-      "usr": "c:@N@std@ST>2#T#T@vector",
+      "usr": "c:@N@std@N@__1@ST>2#T#T@vector",
       "short_name": "",
       "detailed_name": "",
-      "hover": "",
       "parents": [],
       "derived": [],
       "types": [],
@@ -52,35 +50,32 @@ OUTPUT:
       "usr": "c:@S@MergeableUpdate@FI@a",
       "short_name": "a",
       "detailed_name": "int MergeableUpdate::a",
-      "hover": "int",
       "definition_spelling": "4:7-4:8",
       "definition_extent": "4:3-4:8",
       "declaring_type": 0,
       "is_local": false,
       "is_macro": false,
       "is_global": false,
-      "is_member": false,
+      "is_member": true,
       "uses": ["4:7-4:8"]
     }, {
       "id": 1,
       "usr": "c:@S@MergeableUpdate@FI@b",
       "short_name": "b",
       "detailed_name": "int MergeableUpdate::b",
-      "hover": "int",
       "definition_spelling": "5:7-5:8",
       "definition_extent": "5:3-5:8",
       "declaring_type": 0,
       "is_local": false,
       "is_macro": false,
       "is_global": false,
-      "is_member": false,
+      "is_member": true,
       "uses": ["5:7-5:8"]
     }, {
       "id": 2,
       "usr": "c:@S@MergeableUpdate@FI@to_add",
       "short_name": "to_add",
       "detailed_name": "std::vector<int> MergeableUpdate::to_add",
-      "hover": "std::vector<int>",
       "definition_spelling": "6:20-6:26",
       "definition_extent": "6:3-6:26",
       "variable_type": 1,
@@ -88,7 +83,7 @@ OUTPUT:
       "is_local": false,
       "is_macro": false,
       "is_global": false,
-      "is_member": false,
+      "is_member": true,
       "uses": ["6:20-6:26"]
     }]
 }
diff --git a/tests/outline/outline2.cc b/tests/outline/outline2.cc
index 58385fb5..971ac2e6 100644
--- a/tests/outline/outline2.cc
+++ b/tests/outline/outline2.cc
@@ -34,7 +34,6 @@ OUTPUT:
       "usr": "c:@S@CompilationEntry",
       "short_name": "CompilationEntry",
       "detailed_name": "CompilationEntry",
-      "hover": "CompilationEntry",
       "definition_spelling": "6:8-6:24",
       "definition_extent": "6:1-10:2",
       "parents": [],
@@ -46,10 +45,9 @@ OUTPUT:
       "uses": ["6:8-6:24", "12:13-12:29"]
     }, {
       "id": 1,
-      "usr": "c:@N@std@T@string",
+      "usr": "c:@N@std@N@__1@T@string",
       "short_name": "",
       "detailed_name": "",
-      "hover": "",
       "parents": [],
       "derived": [],
       "types": [],
@@ -59,10 +57,9 @@ OUTPUT:
       "uses": ["7:8-7:14", "8:8-8:14", "9:20-9:26", "12:78-12:84"]
     }, {
       "id": 2,
-      "usr": "c:@N@std@ST>2#T#T@vector",
+      "usr": "c:@N@std@N@__1@ST>2#T#T@vector",
       "short_name": "",
       "detailed_name": "",
-      "hover": "",
       "parents": [],
       "derived": [],
       "types": [],
@@ -77,7 +74,6 @@ OUTPUT:
       "usr": "c:@F@LoadCompilationEntriesFromDirectory#&1$@N@std@S@basic_string>#C#$@N@std@S@char_traits>#C#$@N@std@S@allocator>#C#",
       "short_name": "LoadCompilationEntriesFromDirectory",
       "detailed_name": "std::vector<CompilationEntry> LoadCompilationEntriesFromDirectory(const std::string &)",
-      "hover": "std::vector<CompilationEntry> LoadCompilationEntriesFromDirectory(const std::string &)",
       "declarations": [{
           "spelling": "12:31-12:66",
           "extent": "12:1-12:104",
@@ -95,7 +91,6 @@ OUTPUT:
       "usr": "c:@S@CompilationEntry@FI@directory",
       "short_name": "directory",
       "detailed_name": "std::string CompilationEntry::directory",
-      "hover": "std::string",
       "definition_spelling": "7:15-7:24",
       "definition_extent": "7:3-7:24",
       "variable_type": 1,
@@ -103,14 +98,13 @@ OUTPUT:
       "is_local": false,
       "is_macro": false,
       "is_global": false,
-      "is_member": false,
+      "is_member": true,
       "uses": ["7:15-7:24"]
     }, {
       "id": 1,
       "usr": "c:@S@CompilationEntry@FI@filename",
       "short_name": "filename",
       "detailed_name": "std::string CompilationEntry::filename",
-      "hover": "std::string",
       "definition_spelling": "8:15-8:23",
       "definition_extent": "8:3-8:23",
       "variable_type": 1,
@@ -118,14 +112,13 @@ OUTPUT:
       "is_local": false,
       "is_macro": false,
       "is_global": false,
-      "is_member": false,
+      "is_member": true,
       "uses": ["8:15-8:23"]
     }, {
       "id": 2,
       "usr": "c:@S@CompilationEntry@FI@args",
       "short_name": "args",
       "detailed_name": "std::vector<std::string> CompilationEntry::args",
-      "hover": "std::vector<std::string>",
       "definition_spelling": "9:28-9:32",
       "definition_extent": "9:3-9:32",
       "variable_type": 2,
@@ -133,7 +126,7 @@ OUTPUT:
       "is_local": false,
       "is_macro": false,
       "is_global": false,
-      "is_member": false,
+      "is_member": true,
       "uses": ["9:28-9:32"]
     }]
 }
diff --git a/tests/outline/static_function_in_type.cc b/tests/outline/static_function_in_type.cc
index 1edb682f..018787b8 100644
--- a/tests/outline/static_function_in_type.cc
+++ b/tests/outline/static_function_in_type.cc
@@ -44,7 +44,6 @@ OUTPUT: static_function_in_type.h
       "usr": "c:@N@ns@S@Foo@F@Register#*$@N@ns@S@Manager#S",
       "short_name": "Register",
       "detailed_name": "void ns::Foo::Register(ns::Manager *)",
-      "hover": "void ns::Foo::Register(ns::Manager *)",
       "declarations": [{
           "spelling": "6:15-6:23",
           "extent": "6:3-6:33",
@@ -98,7 +97,6 @@ OUTPUT: static_function_in_type.cc
       "usr": "c:@N@ns@S@Foo@F@Register#*$@N@ns@S@Manager#S",
       "short_name": "Register",
       "detailed_name": "void ns::Foo::Register(ns::Manager *)",
-      "hover": "void ns::Foo::Register(ns::Manager *)",
       "declarations": [],
       "definition_spelling": "5:11-5:19",
       "definition_extent": "5:1-6:2",
diff --git a/tests/templates/func_specialized_template_param.cc b/tests/templates/func_specialized_template_param.cc
index 87dacd3c..0e38b8d6 100644
--- a/tests/templates/func_specialized_template_param.cc
+++ b/tests/templates/func_specialized_template_param.cc
@@ -47,7 +47,6 @@ OUTPUT:
       "usr": "c:@S@Foo@F@Bar#&$@S@Template>#d#",
       "short_name": "Bar",
       "detailed_name": "void Foo::Bar(Template<double> &)",
-      "hover": "void Foo::Bar(Template<double> &)",
       "declarations": [{
           "spelling": "5:8-5:11",
           "extent": "5:3-5:30",
diff --git a/tests/templates/namespace_template_class_template_func_usage_folded_into_one.cc b/tests/templates/namespace_template_class_template_func_usage_folded_into_one.cc
index ceea291a..11d6d17f 100644
--- a/tests/templates/namespace_template_class_template_func_usage_folded_into_one.cc
+++ b/tests/templates/namespace_template_class_template_func_usage_folded_into_one.cc
@@ -37,7 +37,6 @@ OUTPUT:
       "usr": "c:@N@ns@ST>1#T@Foo@FT@>1#Tfoo#I#S",
       "short_name": "foo",
       "detailed_name": "int ns::Foo::foo()",
-      "hover": "int ns::Foo::foo()",
       "declarations": [],
       "definition_spelling": "5:16-5:19",
       "definition_extent": "5:5-7:6",
@@ -57,7 +56,7 @@ OUTPUT:
       "definition_extent": "10:3-10:33",
       "is_local": false,
       "is_macro": false,
-      "is_global": false,
+      "is_global": true,
       "is_member": false,
       "uses": ["10:7-10:8"]
     }, {
@@ -69,7 +68,7 @@ OUTPUT:
       "definition_extent": "11:3-11:35",
       "is_local": false,
       "is_macro": false,
-      "is_global": false,
+      "is_global": true,
       "is_member": false,
       "uses": ["11:7-11:8"]
     }]
diff --git a/tests/templates/specialized_func_definition.cc b/tests/templates/specialized_func_definition.cc
index 323c5331..a645b3c7 100644
--- a/tests/templates/specialized_func_definition.cc
+++ b/tests/templates/specialized_func_definition.cc
@@ -43,7 +43,6 @@ OUTPUT:
       "usr": "c:@ST>1#T@Template@F@Foo#",
       "short_name": "Foo",
       "detailed_name": "void Template::Foo()",
-      "hover": "void Template::Foo()",
       "declarations": [{
           "spelling": "3:8-3:11",
           "extent": "3:3-3:13",
diff --git a/tests/templates/template_class_func_usage_folded_into_one.cc b/tests/templates/template_class_func_usage_folded_into_one.cc
index bb1dbfb0..f46d95ec 100644
--- a/tests/templates/template_class_func_usage_folded_into_one.cc
+++ b/tests/templates/template_class_func_usage_folded_into_one.cc
@@ -34,7 +34,6 @@ OUTPUT:
       "usr": "c:@ST>1#T@Foo@F@foo#S",
       "short_name": "foo",
       "detailed_name": "int Foo::foo()",
-      "hover": "int Foo::foo()",
       "declarations": [],
       "definition_spelling": "3:14-3:17",
       "definition_extent": "3:3-5:4",
@@ -54,7 +53,7 @@ OUTPUT:
       "definition_extent": "8:1-8:24",
       "is_local": false,
       "is_macro": false,
-      "is_global": false,
+      "is_global": true,
       "is_member": false,
       "uses": ["8:5-8:6"]
     }, {
@@ -66,7 +65,7 @@ OUTPUT:
       "definition_extent": "9:1-9:25",
       "is_local": false,
       "is_macro": false,
-      "is_global": false,
+      "is_global": true,
       "is_member": false,
       "uses": ["9:5-9:6"]
     }]
diff --git a/tests/templates/template_class_template_func_usage_folded_into_one.cc b/tests/templates/template_class_template_func_usage_folded_into_one.cc
index e554d720..06f4a9b1 100644
--- a/tests/templates/template_class_template_func_usage_folded_into_one.cc
+++ b/tests/templates/template_class_template_func_usage_folded_into_one.cc
@@ -35,7 +35,6 @@ OUTPUT:
       "usr": "c:@ST>1#T@Foo@FT@>1#Tfoo#I#S",
       "short_name": "foo",
       "detailed_name": "int Foo::foo()",
-      "hover": "int Foo::foo()",
       "declarations": [],
       "definition_spelling": "4:14-4:17",
       "definition_extent": "4:3-6:4",
@@ -55,7 +54,7 @@ OUTPUT:
       "definition_extent": "9:1-9:31",
       "is_local": false,
       "is_macro": false,
-      "is_global": false,
+      "is_global": true,
       "is_member": false,
       "uses": ["9:5-9:6"]
     }, {
@@ -67,7 +66,7 @@ OUTPUT:
       "definition_extent": "10:1-10:33",
       "is_local": false,
       "is_macro": false,
-      "is_global": false,
+      "is_global": true,
       "is_member": false,
       "uses": ["10:5-10:6"]
     }]
diff --git a/tests/templates/template_func_usage_folded_into_one.cc b/tests/templates/template_func_usage_folded_into_one.cc
index 998add0c..315527d9 100644
--- a/tests/templates/template_func_usage_folded_into_one.cc
+++ b/tests/templates/template_func_usage_folded_into_one.cc
@@ -21,7 +21,6 @@ OUTPUT:
       "usr": "c:template_func_usage_folded_into_one.cc@FT@>1#Tfoo#I#",
       "short_name": "foo",
       "detailed_name": "int foo()",
-      "hover": "int foo()",
       "declarations": [],
       "definition_spelling": "2:12-2:15",
       "definition_extent": "2:1-4:2",
@@ -40,7 +39,7 @@ OUTPUT:
       "definition_extent": "6:1-6:19",
       "is_local": false,
       "is_macro": false,
-      "is_global": false,
+      "is_global": true,
       "is_member": false,
       "uses": ["6:5-6:6"]
     }, {
@@ -52,7 +51,7 @@ OUTPUT:
       "definition_extent": "7:1-7:20",
       "is_local": false,
       "is_macro": false,
-      "is_global": false,
+      "is_global": true,
       "is_member": false,
       "uses": ["7:5-7:6"]
     }]
diff --git a/tests/types/typedefs.cc b/tests/types/typedefs.cc
index 56472d50..70750c88 100644
--- a/tests/types/typedefs.cc
+++ b/tests/types/typedefs.cc
@@ -28,7 +28,6 @@ OUTPUT:
       "usr": "c:typedefs.cc@F@g#*1I#S0_#",
       "short_name": "g",
       "detailed_name": "func g",
-      "hover": "func g",
       "declarations": [{
           "spelling": "2:13-2:14",
           "extent": "2:1-2:14",
diff --git a/tests/unions/union_usage.cc b/tests/unions/union_usage.cc
index 7e44fb9b..4a796dbb 100644
--- a/tests/unions/union_usage.cc
+++ b/tests/unions/union_usage.cc
@@ -37,7 +37,6 @@ OUTPUT:
       "usr": "c:@F@act#*$@U@Foo#",
       "short_name": "act",
       "detailed_name": "void act(Foo *)",
-      "hover": "void act(Foo *)",
       "declarations": [],
       "definition_spelling": "8:6-8:9",
       "definition_extent": "8:1-10:2",
@@ -58,7 +57,7 @@ OUTPUT:
       "is_local": false,
       "is_macro": false,
       "is_global": false,
-      "is_member": false,
+      "is_member": true,
       "uses": ["2:7-2:8", "9:5-9:6"]
     }, {
       "id": 1,
@@ -71,7 +70,7 @@ OUTPUT:
       "is_local": false,
       "is_macro": false,
       "is_global": false,
-      "is_member": false,
+      "is_member": true,
       "uses": ["3:8-3:9"]
     }, {
       "id": 2,
@@ -83,7 +82,7 @@ OUTPUT:
       "variable_type": 0,
       "is_local": false,
       "is_macro": false,
-      "is_global": false,
+      "is_global": true,
       "is_member": false,
       "uses": ["6:5-6:6", "9:3-9:4"]
     }]
diff --git a/tests/usage/func_called_from_constructor.cc b/tests/usage/func_called_from_constructor.cc
index 54fb6b00..71f21002 100644
--- a/tests/usage/func_called_from_constructor.cc
+++ b/tests/usage/func_called_from_constructor.cc
@@ -34,7 +34,6 @@ OUTPUT:
       "usr": "c:@F@called#",
       "short_name": "called",
       "detailed_name": "void called()",
-      "hover": "void called()",
       "declarations": [],
       "definition_spelling": "1:6-1:12",
       "definition_extent": "1:1-1:17",
@@ -49,7 +48,6 @@ OUTPUT:
       "usr": "c:@S@Foo@F@Foo#",
       "short_name": "Foo",
       "detailed_name": "void Foo::Foo()",
-      "hover": "void Foo::Foo()",
       "declarations": [{
           "spelling": "4:3-4:6",
           "extent": "4:3-4:8",
diff --git a/tests/usage/func_called_from_macro_argument.cc b/tests/usage/func_called_from_macro_argument.cc
index 36bbbd68..dfe9f52b 100644
--- a/tests/usage/func_called_from_macro_argument.cc
+++ b/tests/usage/func_called_from_macro_argument.cc
@@ -18,7 +18,6 @@ OUTPUT:
       "usr": "c:@F@called#b#b#",
       "short_name": "called",
       "detailed_name": "bool called(bool, bool)",
-      "hover": "bool called(bool, bool)",
       "declarations": [{
           "spelling": "3:6-3:12",
           "extent": "3:1-3:28",
@@ -36,7 +35,6 @@ OUTPUT:
       "usr": "c:@F@caller#",
       "short_name": "caller",
       "detailed_name": "void caller()",
-      "hover": "void caller()",
       "declarations": [],
       "definition_spelling": "5:6-5:12",
       "definition_extent": "5:1-7:2",
diff --git a/tests/usage/func_called_from_template.cc b/tests/usage/func_called_from_template.cc
index b1cb4066..c8b35c0b 100644
--- a/tests/usage/func_called_from_template.cc
+++ b/tests/usage/func_called_from_template.cc
@@ -23,7 +23,6 @@ OUTPUT:
       "usr": "c:@F@called#",
       "short_name": "called",
       "detailed_name": "void called()",
-      "hover": "void called()",
       "declarations": [{
           "spelling": "1:6-1:12",
           "extent": "1:1-1:14",
@@ -41,7 +40,6 @@ OUTPUT:
       "usr": "c:@FT@>1#Tcaller#v#",
       "short_name": "caller",
       "detailed_name": "void caller()",
-      "hover": "void caller()",
       "declarations": [],
       "definition_spelling": "4:6-4:12",
       "definition_extent": "4:1-6:2",
@@ -56,7 +54,6 @@ OUTPUT:
       "usr": "c:@F@foo#",
       "short_name": "foo",
       "detailed_name": "void foo()",
-      "hover": "void foo()",
       "declarations": [],
       "definition_spelling": "8:6-8:9",
       "definition_extent": "8:1-10:2",
diff --git a/tests/usage/func_called_implicit_ctor.cc b/tests/usage/func_called_implicit_ctor.cc
index 5dda9842..06666c2c 100644
--- a/tests/usage/func_called_implicit_ctor.cc
+++ b/tests/usage/func_called_implicit_ctor.cc
@@ -34,7 +34,6 @@ OUTPUT:
       "usr": "c:@S@Wrapper@F@Wrapper#I#",
       "short_name": "Wrapper",
       "detailed_name": "void Wrapper::Wrapper(int)",
-      "hover": "void Wrapper::Wrapper(int)",
       "declarations": [{
           "spelling": "2:3-2:10",
           "extent": "2:3-2:17",
@@ -53,7 +52,6 @@ OUTPUT:
       "usr": "c:@F@called#",
       "short_name": "called",
       "detailed_name": "int called()",
-      "hover": "int called()",
       "declarations": [],
       "definition_spelling": "5:5-5:11",
       "definition_extent": "5:1-5:27",
@@ -68,7 +66,6 @@ OUTPUT:
       "usr": "c:@F@caller#",
       "short_name": "caller",
       "detailed_name": "Wrapper caller()",
-      "hover": "Wrapper caller()",
       "declarations": [],
       "definition_spelling": "7:9-7:15",
       "definition_extent": "7:1-9:2",
diff --git a/tests/usage/func_usage_addr_func.cc b/tests/usage/func_usage_addr_func.cc
index f6c23d75..5340caeb 100644
--- a/tests/usage/func_usage_addr_func.cc
+++ b/tests/usage/func_usage_addr_func.cc
@@ -19,7 +19,6 @@ OUTPUT:
       "usr": "c:@F@consume#*Fv#",
       "short_name": "consume",
       "detailed_name": "void consume(void (*)())",
-      "hover": "void consume(void (*)())",
       "declarations": [],
       "definition_spelling": "1:6-1:13",
       "definition_extent": "1:1-1:28",
@@ -34,7 +33,6 @@ OUTPUT:
       "usr": "c:@F@used#",
       "short_name": "used",
       "detailed_name": "void used()",
-      "hover": "void used()",
       "declarations": [],
       "definition_spelling": "3:6-3:10",
       "definition_extent": "3:1-3:15",
@@ -49,7 +47,6 @@ OUTPUT:
       "usr": "c:@F@user#",
       "short_name": "user",
       "detailed_name": "void user()",
-      "hover": "void user()",
       "declarations": [],
       "definition_spelling": "5:6-5:10",
       "definition_extent": "5:1-8:2",
diff --git a/tests/usage/func_usage_addr_method.cc b/tests/usage/func_usage_addr_method.cc
index b02cf64e..bdbdc060 100644
--- a/tests/usage/func_usage_addr_method.cc
+++ b/tests/usage/func_usage_addr_method.cc
@@ -33,7 +33,6 @@ OUTPUT:
       "usr": "c:@S@Foo@F@Used#",
       "short_name": "Used",
       "detailed_name": "void Foo::Used()",
-      "hover": "void Foo::Used()",
       "declarations": [{
           "spelling": "2:8-2:12",
           "extent": "2:3-2:14",
@@ -52,7 +51,6 @@ OUTPUT:
       "usr": "c:@F@user#",
       "short_name": "user",
       "detailed_name": "void user()",
-      "hover": "void user()",
       "declarations": [],
       "definition_spelling": "5:6-5:10",
       "definition_extent": "5:1-7:2",
diff --git a/tests/usage/func_usage_call_func.cc b/tests/usage/func_usage_call_func.cc
index 43bcf698..af16de6f 100644
--- a/tests/usage/func_usage_call_func.cc
+++ b/tests/usage/func_usage_call_func.cc
@@ -15,7 +15,6 @@ OUTPUT:
       "usr": "c:@F@called#",
       "short_name": "called",
       "detailed_name": "void called()",
-      "hover": "void called()",
       "declarations": [],
       "definition_spelling": "1:6-1:12",
       "definition_extent": "1:1-1:17",
@@ -30,7 +29,6 @@ OUTPUT:
       "usr": "c:@F@caller#",
       "short_name": "caller",
       "detailed_name": "void caller()",
-      "hover": "void caller()",
       "declarations": [],
       "definition_spelling": "2:6-2:12",
       "definition_extent": "2:1-4:2",
diff --git a/tests/usage/func_usage_call_method.cc b/tests/usage/func_usage_call_method.cc
index c684be39..9c5dae77 100644
--- a/tests/usage/func_usage_call_method.cc
+++ b/tests/usage/func_usage_call_method.cc
@@ -33,7 +33,6 @@ OUTPUT:
       "usr": "c:@S@Foo@F@Used#",
       "short_name": "Used",
       "detailed_name": "void Foo::Used()",
-      "hover": "void Foo::Used()",
       "declarations": [{
           "spelling": "2:8-2:12",
           "extent": "2:3-2:14",
@@ -52,7 +51,6 @@ OUTPUT:
       "usr": "c:@F@user#",
       "short_name": "user",
       "detailed_name": "void user()",
-      "hover": "void user()",
       "declarations": [],
       "definition_spelling": "5:6-5:10",
       "definition_extent": "5:1-8:2",
diff --git a/tests/usage/func_usage_class_inline_var_def.cc b/tests/usage/func_usage_class_inline_var_def.cc
index 177901e7..425245ee 100644
--- a/tests/usage/func_usage_class_inline_var_def.cc
+++ b/tests/usage/func_usage_class_inline_var_def.cc
@@ -32,7 +32,6 @@ OUTPUT:
       "usr": "c:func_usage_class_inline_var_def.cc@F@helper#",
       "short_name": "helper",
       "detailed_name": "int helper()",
-      "hover": "int helper()",
       "declarations": [],
       "definition_spelling": "1:12-1:18",
       "definition_extent": "1:1-3:2",
@@ -53,7 +52,7 @@ OUTPUT:
       "is_local": false,
       "is_macro": false,
       "is_global": false,
-      "is_member": false,
+      "is_member": true,
       "uses": ["6:7-6:8"]
     }]
 }
diff --git a/tests/usage/func_usage_forward_decl_func.cc b/tests/usage/func_usage_forward_decl_func.cc
index 60c01f46..aa887e24 100644
--- a/tests/usage/func_usage_forward_decl_func.cc
+++ b/tests/usage/func_usage_forward_decl_func.cc
@@ -15,7 +15,6 @@ OUTPUT:
       "usr": "c:@F@foo#",
       "short_name": "foo",
       "detailed_name": "void foo()",
-      "hover": "void foo()",
       "declarations": [{
           "spelling": "1:6-1:9",
           "extent": "1:1-1:11",
@@ -33,7 +32,6 @@ OUTPUT:
       "usr": "c:@F@usage#",
       "short_name": "usage",
       "detailed_name": "void usage()",
-      "hover": "void usage()",
       "declarations": [],
       "definition_spelling": "3:6-3:11",
       "definition_extent": "3:1-5:2",
diff --git a/tests/usage/func_usage_forward_decl_method.cc b/tests/usage/func_usage_forward_decl_method.cc
index 9a6be8c0..c97d92dd 100644
--- a/tests/usage/func_usage_forward_decl_method.cc
+++ b/tests/usage/func_usage_forward_decl_method.cc
@@ -32,7 +32,6 @@ OUTPUT:
       "usr": "c:@S@Foo@F@foo#",
       "short_name": "foo",
       "detailed_name": "void Foo::foo()",
-      "hover": "void Foo::foo()",
       "declarations": [{
           "spelling": "2:8-2:11",
           "extent": "2:3-2:13",
@@ -51,7 +50,6 @@ OUTPUT:
       "usr": "c:@F@usage#",
       "short_name": "usage",
       "detailed_name": "void usage()",
-      "hover": "void usage()",
       "declarations": [],
       "definition_spelling": "5:6-5:11",
       "definition_extent": "5:1-8:2",
diff --git a/tests/usage/func_usage_template_func.cc b/tests/usage/func_usage_template_func.cc
index c32a2a3f..aeac20f8 100644
--- a/tests/usage/func_usage_template_func.cc
+++ b/tests/usage/func_usage_template_func.cc
@@ -18,7 +18,6 @@ OUTPUT:
       "usr": "c:@FT@>1#Taccept#t0.0#v#",
       "short_name": "accept",
       "detailed_name": "void accept(T)",
-      "hover": "void accept(T)",
       "declarations": [{
           "spelling": "2:6-2:12",
           "extent": "2:1-2:15",
@@ -36,7 +35,6 @@ OUTPUT:
       "usr": "c:@F@foo#",
       "short_name": "foo",
       "detailed_name": "void foo()",
-      "hover": "void foo()",
       "declarations": [],
       "definition_spelling": "4:6-4:9",
       "definition_extent": "4:1-7:2",
diff --git a/tests/usage/type_usage_as_template_parameter.cc b/tests/usage/type_usage_as_template_parameter.cc
index 65867a38..690fa8a8 100644
--- a/tests/usage/type_usage_as_template_parameter.cc
+++ b/tests/usage/type_usage_as_template_parameter.cc
@@ -50,7 +50,6 @@ OUTPUT:
       "usr": "c:@F@return_type#",
       "short_name": "return_type",
       "detailed_name": "unique_ptr<S> *return_type()",
-      "hover": "unique_ptr<S> *return_type()",
       "declarations": [],
       "definition_spelling": "9:16-9:27",
       "definition_extent": "9:1-12:2",
@@ -70,7 +69,7 @@ OUTPUT:
       "variable_type": 0,
       "is_local": false,
       "is_macro": false,
-      "is_global": false,
+      "is_global": true,
       "is_member": false,
       "uses": ["6:25-6:27"]
     }, {
@@ -83,7 +82,7 @@ OUTPUT:
       "variable_type": 0,
       "is_local": false,
       "is_macro": false,
-      "is_global": false,
+      "is_global": true,
       "is_member": false,
       "uses": ["7:22-7:24"]
     }, {
diff --git a/tests/usage/type_usage_as_template_parameter_complex.cc b/tests/usage/type_usage_as_template_parameter_complex.cc
index df879e8d..e6d327e8 100644
--- a/tests/usage/type_usage_as_template_parameter_complex.cc
+++ b/tests/usage/type_usage_as_template_parameter_complex.cc
@@ -140,7 +140,6 @@ OUTPUT:
       "usr": "c:@F@as_return_type#*$@S@unique_ptr>#$@S@S1#$@S@S2#",
       "short_name": "as_return_type",
       "detailed_name": "unique_ptr<unique_ptr<S1, S2>, S2> *as_return_type(unique_ptr<S1, S2> *)",
-      "hover": "unique_ptr<unique_ptr<S1, S2>, S2> *as_return_type(unique_ptr<S1, S2> *)",
       "declarations": [],
       "definition_spelling": "33:37-33:51",
       "definition_extent": "33:1-33:92",
@@ -155,7 +154,6 @@ OUTPUT:
       "usr": "c:@F@no_return_type#I#",
       "short_name": "no_return_type",
       "detailed_name": "void no_return_type(int)",
-      "hover": "void no_return_type(int)",
       "declarations": [],
       "definition_spelling": "40:6-40:20",
       "definition_extent": "40:1-40:28",
@@ -170,7 +168,6 @@ OUTPUT:
       "usr": "c:@F@empty#",
       "short_name": "empty",
       "detailed_name": "void empty()",
-      "hover": "void empty()",
       "declarations": [],
       "definition_spelling": "53:6-53:11",
       "definition_extent": "53:1-55:2",
@@ -185,7 +182,6 @@ OUTPUT:
       "usr": "c:@S@Foo@F@foo#",
       "short_name": "foo",
       "detailed_name": "unique_ptr<S1, S2> *Foo::foo()",
-      "hover": "unique_ptr<S1, S2> *Foo::foo()",
       "declarations": [{
           "spelling": "65:23-65:26",
           "extent": "65:3-65:28",
@@ -210,7 +206,7 @@ OUTPUT:
       "variable_type": 0,
       "is_local": false,
       "is_macro": false,
-      "is_global": false,
+      "is_global": true,
       "is_member": false,
       "uses": ["15:43-15:44"]
     }, {
diff --git a/tests/usage/type_usage_declare_local.cc b/tests/usage/type_usage_declare_local.cc
index d38a6938..f30c356b 100644
--- a/tests/usage/type_usage_declare_local.cc
+++ b/tests/usage/type_usage_declare_local.cc
@@ -44,7 +44,6 @@ OUTPUT:
       "usr": "c:@F@Foo#",
       "short_name": "Foo",
       "detailed_name": "void Foo()",
-      "hover": "void Foo()",
       "declarations": [],
       "definition_spelling": "4:6-4:9",
       "definition_extent": "4:1-7:2",
diff --git a/tests/usage/type_usage_declare_param.cc b/tests/usage/type_usage_declare_param.cc
index 5b26075e..e797eb79 100644
--- a/tests/usage/type_usage_declare_param.cc
+++ b/tests/usage/type_usage_declare_param.cc
@@ -41,7 +41,6 @@ OUTPUT:
       "usr": "c:@F@foo#*$@S@ForwardType#$@S@ImplementedType#",
       "short_name": "foo",
       "detailed_name": "void foo(ForwardType *, ImplementedType)",
-      "hover": "void foo(ForwardType *, ImplementedType)",
       "declarations": [],
       "definition_spelling": "4:6-4:9",
       "definition_extent": "4:1-4:47",
diff --git a/tests/usage/type_usage_declare_param_prototype.cc b/tests/usage/type_usage_declare_param_prototype.cc
index f79873ea..37059ffb 100644
--- a/tests/usage/type_usage_declare_param_prototype.cc
+++ b/tests/usage/type_usage_declare_param_prototype.cc
@@ -32,7 +32,6 @@ OUTPUT:
       "usr": "c:@F@foo#*$@S@Foo#S0_#",
       "short_name": "foo",
       "detailed_name": "void foo(Foo *, Foo *)",
-      "hover": "void foo(Foo *, Foo *)",
       "declarations": [{
           "spelling": "3:6-3:9",
           "extent": "3:1-3:23",
diff --git a/tests/usage/type_usage_declare_param_unnamed.cc b/tests/usage/type_usage_declare_param_unnamed.cc
index 685c0127..b77318ff 100644
--- a/tests/usage/type_usage_declare_param_unnamed.cc
+++ b/tests/usage/type_usage_declare_param_unnamed.cc
@@ -24,7 +24,6 @@ OUTPUT:
       "usr": "c:@F@foo#*$@S@ForwardType#",
       "short_name": "foo",
       "detailed_name": "void foo(ForwardType *)",
-      "hover": "void foo(ForwardType *)",
       "declarations": [],
       "definition_spelling": "2:6-2:9",
       "definition_extent": "2:1-2:26",
diff --git a/tests/usage/type_usage_declare_qualifiers.cc b/tests/usage/type_usage_declare_qualifiers.cc
index c392a474..9b828949 100644
--- a/tests/usage/type_usage_declare_qualifiers.cc
+++ b/tests/usage/type_usage_declare_qualifiers.cc
@@ -32,7 +32,6 @@ OUTPUT:
       "usr": "c:@F@foo#&$@S@Type#&1S1_#",
       "short_name": "foo",
       "detailed_name": "void foo(Type &, const Type &)",
-      "hover": "void foo(Type &, const Type &)",
       "declarations": [],
       "definition_spelling": "3:6-3:9",
       "definition_extent": "3:1-8:2",
diff --git a/tests/usage/type_usage_on_return_type.cc b/tests/usage/type_usage_on_return_type.cc
index eb7741ce..7d1d24f6 100644
--- a/tests/usage/type_usage_on_return_type.cc
+++ b/tests/usage/type_usage_on_return_type.cc
@@ -55,7 +55,6 @@ OUTPUT:
       "usr": "c:@F@foo#",
       "short_name": "foo",
       "detailed_name": "Type *foo()",
-      "hover": "Type *foo()",
       "declarations": [{
           "spelling": "3:7-3:10",
           "extent": "3:1-3:12",
@@ -80,7 +79,6 @@ OUTPUT:
       "usr": "c:@S@Foo@F@Get#I#",
       "short_name": "Get",
       "detailed_name": "Type *Foo::Get(int)",
-      "hover": "Type *Foo::Get(int)",
       "declarations": [{
           "spelling": "8:9-8:12",
           "extent": "8:3-8:17",
@@ -101,7 +99,6 @@ OUTPUT:
       "usr": "c:@S@Foo@F@Empty#",
       "short_name": "Empty",
       "detailed_name": "void Foo::Empty()",
-      "hover": "void Foo::Empty()",
       "declarations": [{
           "spelling": "9:8-9:13",
           "extent": "9:3-9:15",
@@ -122,7 +119,6 @@ OUTPUT:
       "usr": "c:@F@external#",
       "short_name": "external",
       "detailed_name": "const Type &external()",
-      "hover": "const Type &external()",
       "declarations": [{
           "spelling": "15:20-15:28",
           "extent": "15:1-15:30",
@@ -140,7 +136,6 @@ OUTPUT:
       "usr": "c:type_usage_on_return_type.cc@F@bar#",
       "short_name": "bar",
       "detailed_name": "Type *bar()",
-      "hover": "Type *bar()",
       "declarations": [{
           "spelling": "17:14-17:17",
           "extent": "17:1-17:19",
diff --git a/tests/usage/type_usage_typedef_and_using.cc b/tests/usage/type_usage_typedef_and_using.cc
index 37203884..cd313309 100644
--- a/tests/usage/type_usage_typedef_and_using.cc
+++ b/tests/usage/type_usage_typedef_and_using.cc
@@ -96,7 +96,6 @@ OUTPUT:
       "usr": "c:@F@accept#*$@S@Foo#",
       "short_name": "accept",
       "detailed_name": "void accept(Foo *)",
-      "hover": "void accept(Foo *)",
       "declarations": [],
       "definition_spelling": "7:6-7:12",
       "definition_extent": "7:1-7:21",
@@ -111,7 +110,6 @@ OUTPUT:
       "usr": "c:@F@accept1#**$@S@Foo#",
       "short_name": "accept1",
       "detailed_name": "void accept1(Foo1 *)",
-      "hover": "void accept1(Foo1 *)",
       "declarations": [],
       "definition_spelling": "8:6-8:13",
       "definition_extent": "8:1-8:23",
@@ -126,7 +124,6 @@ OUTPUT:
       "usr": "c:@F@accept2#*$@S@Foo#",
       "short_name": "accept2",
       "detailed_name": "void accept2(Foo2 *)",
-      "hover": "void accept2(Foo2 *)",
       "declarations": [],
       "definition_spelling": "9:6-9:13",
       "definition_extent": "9:1-9:23",
@@ -141,7 +138,6 @@ OUTPUT:
       "usr": "c:@F@accept3#**$@S@Foo#",
       "short_name": "accept3",
       "detailed_name": "void accept3(Foo3 *)",
-      "hover": "void accept3(Foo3 *)",
       "declarations": [],
       "definition_spelling": "10:6-10:13",
       "definition_extent": "10:1-10:23",
diff --git a/tests/usage/type_usage_various.cc b/tests/usage/type_usage_various.cc
index 41ff8da6..e9fafcd6 100644
--- a/tests/usage/type_usage_various.cc
+++ b/tests/usage/type_usage_various.cc
@@ -35,7 +35,6 @@ OUTPUT:
       "usr": "c:@S@Foo@F@make#",
       "short_name": "make",
       "detailed_name": "Foo *Foo::make()",
-      "hover": "Foo *Foo::make()",
       "declarations": [{
           "spelling": "2:8-2:12",
           "extent": "2:3-2:14",
@@ -73,7 +72,7 @@ OUTPUT:
       "variable_type": 0,
       "is_local": false,
       "is_macro": false,
-      "is_global": false,
+      "is_global": true,
       "is_member": false,
       "uses": ["10:12-10:15"]
     }]
diff --git a/tests/usage/usage_inside_of_call.cc b/tests/usage/usage_inside_of_call.cc
index 8333fd44..d78ed126 100644
--- a/tests/usage/usage_inside_of_call.cc
+++ b/tests/usage/usage_inside_of_call.cc
@@ -40,7 +40,6 @@ OUTPUT:
       "usr": "c:@F@called#I#",
       "short_name": "called",
       "detailed_name": "void called(int)",
-      "hover": "void called(int)",
       "declarations": [{
           "spelling": "1:6-1:12",
           "extent": "1:1-1:19",
@@ -58,7 +57,6 @@ OUTPUT:
       "usr": "c:@F@gen#",
       "short_name": "gen",
       "detailed_name": "int gen()",
-      "hover": "int gen()",
       "declarations": [{
           "spelling": "3:5-3:8",
           "extent": "3:1-3:10",
@@ -76,7 +74,6 @@ OUTPUT:
       "usr": "c:@F@foo#",
       "short_name": "foo",
       "detailed_name": "void foo()",
-      "hover": "void foo()",
       "declarations": [],
       "definition_spelling": "12:6-12:9",
       "definition_extent": "12:1-15:2",
@@ -98,7 +95,7 @@ OUTPUT:
       "is_local": false,
       "is_macro": false,
       "is_global": false,
-      "is_member": false,
+      "is_member": true,
       "uses": ["6:14-6:24", "10:10-10:20", "14:45-14:55"]
     }, {
       "id": 1,
@@ -111,7 +108,7 @@ OUTPUT:
       "is_local": false,
       "is_macro": false,
       "is_global": false,
-      "is_member": false,
+      "is_member": true,
       "uses": ["7:7-7:16", "14:28-14:37"]
     }, {
       "id": 2,
diff --git a/tests/usage/usage_inside_of_call_simple.cc b/tests/usage/usage_inside_of_call_simple.cc
index 5debfbea..3e883bbd 100644
--- a/tests/usage/usage_inside_of_call_simple.cc
+++ b/tests/usage/usage_inside_of_call_simple.cc
@@ -18,7 +18,6 @@ OUTPUT:
       "usr": "c:@F@called#I#",
       "short_name": "called",
       "detailed_name": "void called(int)",
-      "hover": "void called(int)",
       "declarations": [{
           "spelling": "1:6-1:12",
           "extent": "1:1-1:19",
@@ -36,7 +35,6 @@ OUTPUT:
       "usr": "c:@F@gen#",
       "short_name": "gen",
       "detailed_name": "int gen()",
-      "hover": "int gen()",
       "declarations": [],
       "definition_spelling": "3:5-3:8",
       "definition_extent": "3:1-3:24",
@@ -51,7 +49,6 @@ OUTPUT:
       "usr": "c:@F@foo#",
       "short_name": "foo",
       "detailed_name": "void foo()",
-      "hover": "void foo()",
       "declarations": [],
       "definition_spelling": "5:6-5:9",
       "definition_extent": "5:1-7:2",
diff --git a/tests/usage/var_usage_call_function.cc b/tests/usage/var_usage_call_function.cc
index 2515e751..b4f17bc2 100644
--- a/tests/usage/var_usage_call_function.cc
+++ b/tests/usage/var_usage_call_function.cc
@@ -19,7 +19,6 @@ OUTPUT:
       "usr": "c:@F@called#",
       "short_name": "called",
       "detailed_name": "void called()",
-      "hover": "void called()",
       "declarations": [],
       "definition_spelling": "1:6-1:12",
       "definition_extent": "1:1-1:17",
@@ -34,7 +33,6 @@ OUTPUT:
       "usr": "c:@F@caller#",
       "short_name": "caller",
       "detailed_name": "void caller()",
-      "hover": "void caller()",
       "declarations": [],
       "definition_spelling": "3:6-3:12",
       "definition_extent": "3:1-8:2",
diff --git a/tests/usage/var_usage_class_member.cc b/tests/usage/var_usage_class_member.cc
index 8e6562d7..3d37a907 100644
--- a/tests/usage/var_usage_class_member.cc
+++ b/tests/usage/var_usage_class_member.cc
@@ -43,7 +43,6 @@ OUTPUT:
       "usr": "c:@F@accept#I#",
       "short_name": "accept",
       "detailed_name": "void accept(int)",
-      "hover": "void accept(int)",
       "declarations": [{
           "spelling": "7:6-7:12",
           "extent": "7:1-7:17",
@@ -61,7 +60,6 @@ OUTPUT:
       "usr": "c:@F@accept#*I#",
       "short_name": "accept",
       "detailed_name": "void accept(int *)",
-      "hover": "void accept(int *)",
       "declarations": [{
           "spelling": "8:6-8:12",
           "extent": "8:1-8:18",
@@ -79,7 +77,6 @@ OUTPUT:
       "usr": "c:@F@foo#",
       "short_name": "foo",
       "detailed_name": "void foo()",
-      "hover": "void foo()",
       "declarations": [],
       "definition_spelling": "10:6-10:9",
       "definition_extent": "10:1-18:2",
@@ -100,7 +97,7 @@ OUTPUT:
       "is_local": false,
       "is_macro": false,
       "is_global": false,
-      "is_member": false,
+      "is_member": true,
       "uses": ["3:7-3:8", "12:5-12:6", "13:5-13:6", "14:12-14:13", "15:12-15:13", "16:13-16:14"]
     }, {
       "id": 1,
@@ -113,7 +110,7 @@ OUTPUT:
       "is_local": false,
       "is_macro": false,
       "is_global": false,
-      "is_member": false,
+      "is_member": true,
       "uses": ["4:7-4:8", "17:12-17:13"]
     }, {
       "id": 2,
diff --git a/tests/usage/var_usage_class_member_static.cc b/tests/usage/var_usage_class_member_static.cc
index 4dc2f4c7..1326920b 100644
--- a/tests/usage/var_usage_class_member_static.cc
+++ b/tests/usage/var_usage_class_member_static.cc
@@ -34,7 +34,6 @@ OUTPUT:
       "usr": "c:@F@accept#I#",
       "short_name": "accept",
       "detailed_name": "void accept(int)",
-      "hover": "void accept(int)",
       "declarations": [{
           "spelling": "5:6-5:12",
           "extent": "5:1-5:17",
@@ -52,7 +51,6 @@ OUTPUT:
       "usr": "c:@F@foo#",
       "short_name": "foo",
       "detailed_name": "void foo()",
-      "hover": "void foo()",
       "declarations": [],
       "definition_spelling": "7:6-7:9",
       "definition_extent": "7:1-9:2",
@@ -71,7 +69,7 @@ OUTPUT:
       "is_local": false,
       "is_macro": false,
       "is_global": false,
-      "is_member": false,
+      "is_member": true,
       "uses": ["2:14-2:15", "8:15-8:16"]
     }]
 }
diff --git a/tests/usage/var_usage_extern.cc b/tests/usage/var_usage_extern.cc
index e9b26ee7..17a25950 100644
--- a/tests/usage/var_usage_extern.cc
+++ b/tests/usage/var_usage_extern.cc
@@ -15,7 +15,6 @@ OUTPUT:
       "usr": "c:@F@foo#",
       "short_name": "foo",
       "detailed_name": "void foo()",
-      "hover": "void foo()",
       "declarations": [],
       "definition_spelling": "3:6-3:9",
       "definition_extent": "3:1-5:2",
@@ -33,7 +32,7 @@ OUTPUT:
       "declaration": "1:12-1:13",
       "is_local": false,
       "is_macro": false,
-      "is_global": false,
+      "is_global": true,
       "is_member": false,
       "uses": ["1:12-1:13", "4:3-4:4"]
     }]
diff --git a/tests/usage/var_usage_func_parameter.cc b/tests/usage/var_usage_func_parameter.cc
index f08be720..955eca09 100644
--- a/tests/usage/var_usage_func_parameter.cc
+++ b/tests/usage/var_usage_func_parameter.cc
@@ -13,7 +13,6 @@ OUTPUT:
       "usr": "c:@F@foo#I#",
       "short_name": "foo",
       "detailed_name": "void foo(int)",
-      "hover": "void foo(int)",
       "declarations": [],
       "definition_spelling": "1:6-1:9",
       "definition_extent": "1:1-3:2",
diff --git a/tests/usage/var_usage_local.cc b/tests/usage/var_usage_local.cc
index b6965a91..fcd3ee5c 100644
--- a/tests/usage/var_usage_local.cc
+++ b/tests/usage/var_usage_local.cc
@@ -14,7 +14,6 @@ OUTPUT:
       "usr": "c:@F@foo#",
       "short_name": "foo",
       "detailed_name": "void foo()",
-      "hover": "void foo()",
       "declarations": [],
       "definition_spelling": "1:6-1:9",
       "definition_extent": "1:1-4:2",
diff --git a/tests/usage/var_usage_shadowed_local.cc b/tests/usage/var_usage_shadowed_local.cc
index 8d7cba52..0d6a1803 100644
--- a/tests/usage/var_usage_shadowed_local.cc
+++ b/tests/usage/var_usage_shadowed_local.cc
@@ -19,7 +19,6 @@ OUTPUT:
       "usr": "c:@F@foo#",
       "short_name": "foo",
       "detailed_name": "void foo()",
-      "hover": "void foo()",
       "declarations": [],
       "definition_spelling": "1:6-1:9",
       "definition_extent": "1:1-9:2",
diff --git a/tests/usage/var_usage_shadowed_parameter.cc b/tests/usage/var_usage_shadowed_parameter.cc
index b1723266..b3fe522e 100644
--- a/tests/usage/var_usage_shadowed_parameter.cc
+++ b/tests/usage/var_usage_shadowed_parameter.cc
@@ -19,7 +19,6 @@ OUTPUT:
       "usr": "c:@F@foo#I#",
       "short_name": "foo",
       "detailed_name": "void foo(int)",
-      "hover": "void foo(int)",
       "declarations": [],
       "definition_spelling": "1:6-1:9",
       "definition_extent": "1:1-8:2",
diff --git a/tests/usage/var_usage_static.cc b/tests/usage/var_usage_static.cc
index dc6228ad..e628dfa5 100644
--- a/tests/usage/var_usage_static.cc
+++ b/tests/usage/var_usage_static.cc
@@ -16,7 +16,6 @@ OUTPUT:
       "usr": "c:@F@foo#",
       "short_name": "foo",
       "detailed_name": "void foo()",
-      "hover": "void foo()",
       "declarations": [],
       "definition_spelling": "3:6-3:9",
       "definition_extent": "3:1-5:2",
@@ -35,7 +34,7 @@ OUTPUT:
       "definition_extent": "1:1-1:13",
       "is_local": false,
       "is_macro": false,
-      "is_global": false,
+      "is_global": true,
       "is_member": false,
       "uses": ["1:12-1:13", "4:3-4:4"]
     }]
diff --git a/tests/vars/deduce_auto_type.cc b/tests/vars/deduce_auto_type.cc
index 24136f55..e49b2003 100644
--- a/tests/vars/deduce_auto_type.cc
+++ b/tests/vars/deduce_auto_type.cc
@@ -30,7 +30,6 @@ OUTPUT:
       "usr": "c:@F@f#",
       "short_name": "f",
       "detailed_name": "void f()",
-      "hover": "void f()",
       "declarations": [],
       "definition_spelling": "2:6-2:7",
       "definition_extent": "2:1-5:2",
diff --git a/tests/vars/function_local.cc b/tests/vars/function_local.cc
index 3afd2180..7a41ab73 100644
--- a/tests/vars/function_local.cc
+++ b/tests/vars/function_local.cc
@@ -28,7 +28,6 @@ OUTPUT:
       "usr": "c:@F@foo#",
       "short_name": "foo",
       "detailed_name": "void foo()",
-      "hover": "void foo()",
       "declarations": [],
       "definition_spelling": "3:6-3:9",
       "definition_extent": "3:1-5:2",
diff --git a/tests/vars/function_param.cc b/tests/vars/function_param.cc
index 206c3839..6ca52e25 100644
--- a/tests/vars/function_param.cc
+++ b/tests/vars/function_param.cc
@@ -26,7 +26,6 @@ OUTPUT:
       "usr": "c:@F@foo#*$@S@Foo#S0_#",
       "short_name": "foo",
       "detailed_name": "void foo(Foo *, Foo *)",
-      "hover": "void foo(Foo *, Foo *)",
       "declarations": [],
       "definition_spelling": "3:6-3:9",
       "definition_extent": "3:1-3:30",
diff --git a/tests/vars/function_param_unnamed.cc b/tests/vars/function_param_unnamed.cc
index 16c6b3a7..53f2b9e5 100644
--- a/tests/vars/function_param_unnamed.cc
+++ b/tests/vars/function_param_unnamed.cc
@@ -11,7 +11,6 @@ OUTPUT:
       "usr": "c:@F@foo#I#I#",
       "short_name": "foo",
       "detailed_name": "void foo(int, int)",
-      "hover": "void foo(int, int)",
       "declarations": [],
       "definition_spelling": "1:6-1:9",
       "definition_extent": "1:1-1:22",
diff --git a/tests/vars/function_shadow_local.cc b/tests/vars/function_shadow_local.cc
index 822e5e07..782a57cb 100644
--- a/tests/vars/function_shadow_local.cc
+++ b/tests/vars/function_shadow_local.cc
@@ -19,7 +19,6 @@ OUTPUT:
       "usr": "c:@F@foo#",
       "short_name": "foo",
       "detailed_name": "void foo()",
-      "hover": "void foo()",
       "declarations": [],
       "definition_spelling": "1:6-1:9",
       "definition_extent": "1:1-9:2",
diff --git a/tests/vars/function_shadow_param.cc b/tests/vars/function_shadow_param.cc
index ad221784..43fa931e 100644
--- a/tests/vars/function_shadow_param.cc
+++ b/tests/vars/function_shadow_param.cc
@@ -13,7 +13,6 @@ OUTPUT:
       "usr": "c:@F@foo#I#",
       "short_name": "foo",
       "detailed_name": "void foo(int)",
-      "hover": "void foo(int)",
       "declarations": [],
       "definition_spelling": "1:6-1:9",
       "definition_extent": "1:1-3:2",
diff --git a/tests/vars/type_instance_on_using_type.cc b/tests/vars/type_instance_on_using_type.cc
index 217238fa..5eef78c5 100644
--- a/tests/vars/type_instance_on_using_type.cc
+++ b/tests/vars/type_instance_on_using_type.cc
@@ -48,7 +48,6 @@ OUTPUT:
       "usr": "c:@F@Foo#",
       "short_name": "Foo",
       "detailed_name": "void Foo()",
-      "hover": "void Foo()",
       "declarations": [],
       "definition_spelling": "3:6-3:9",
       "definition_extent": "3:1-5:2",