[llvm-branch-commits] [clang-tools-extra] [clang-doc] Precommit friends test (PR #146164)

Erick Velez via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Fri Jun 27 14:58:04 PDT 2025


https://github.com/evelez7 created https://github.com/llvm/llvm-project/pull/146164

None

>From bf66a99ae2cb8ae90be8b905fedc60d4e10d3c5e Mon Sep 17 00:00:00 2001
From: Erick Velez <erickvelez7 at gmail.com>
Date: Thu, 26 Jun 2025 20:51:33 -0700
Subject: [PATCH] [clang-doc] Precommit friends test

---
 .../test/clang-doc/json/class.cpp             | 41 +++++++++++++++++++
 1 file changed, 41 insertions(+)

diff --git a/clang-tools-extra/test/clang-doc/json/class.cpp b/clang-tools-extra/test/clang-doc/json/class.cpp
index bd82b8159e2f9..0715fcefbb785 100644
--- a/clang-tools-extra/test/clang-doc/json/class.cpp
+++ b/clang-tools-extra/test/clang-doc/json/class.cpp
@@ -23,6 +23,9 @@ struct MyClass {
   typedef int MyTypedef;
   
   class NestedClass;
+  
+  friend struct Foo;
+  template<typename T> friend void friendFunction(int);
 protected:
   int protectedMethod();
 
@@ -86,6 +89,44 @@ struct MyClass {
 // CHECK-NEXT:        "USR": "{{[0-9A-F]*}}"
 // CHECK-NEXT:      }
 // CHECK-NEXT:    ],
+// CHECK-NOT:     "Friends": [
+// CHECK-NOT:       {
+// CHECK-NOT:         "IsClass": false,
+// CHECK-NOT:         "Params": [
+// CHECK-NOT:           {
+// CHECK-NOT:             "Name": "",
+// CHECK-NOT:             "Type": "int"
+// CHECK-NOT:           }
+// CHECK-NOT:         ],
+// CHECK-NOT:         "Reference": {
+// CHECK-NOT:           "Name": "friendFunction",
+// CHECK-NOT:           "Path": "",
+// CHECK-NOT:           "QualName": "friendFunction",
+// CHECK-NOT:           "USR": "{{[0-9A-F]*}}"
+// CHECK-NOT:         },
+// CHECK-NOT:         "ReturnType": {
+// CHECK-NOT:           "IsBuiltIn": true,
+// CHECK-NOT:           "IsTemplate": false,
+// CHECK-NOT:           "Name": "void",
+// CHECK-NOT:           "QualName": "void",
+// CHECK-NOT:           "USR": "0000000000000000000000000000000000000000"
+// CHECK-NOT:         },
+// CHECK-NOT:         "Template": {
+// CHECK-NOT:           "Parameters": [
+// CHECK-NOT:             "typename T"
+// CHECK-NOT:           ]
+// CHECK-NOT:         }
+// CHECK-NOT:       },
+// CHECK-NOT:       {
+// CHECK-NOT:         "IsClass": true,
+// CHECK-NOT:         "Reference": {
+// CHECK-NOT:           "Name": "Foo",
+// CHECK-NOT:           "Path": "GlobalNamespace",
+// CHECK-NOT:           "QualName": "Foo",
+// CHECK-NOT:           "USR": "{{[0-9A-F]*}}"
+// CHECK-NOT:         },
+// CHECK-NOT:       },
+// CHECK-NOT:    ],
 // COM:           FIXME: FullName is not emitted correctly.
 // CHECK-NEXT:    "FullName": "",
 // CHECK-NEXT:    "IsTypedef": false,



More information about the llvm-branch-commits mailing list