[clang] afce10c - [clang][ExtractAPI] Add semicolons for enum, typedef, struct declaration fragments
Daniel Grumberg via cfe-commits
cfe-commits at lists.llvm.org
Mon Mar 20 08:44:39 PDT 2023
Author: NagaChaitanya Vellanki
Date: 2023-03-20T15:43:00Z
New Revision: afce10c5b60fada1db369d3770f4389da7ef30ef
URL: https://github.com/llvm/llvm-project/commit/afce10c5b60fada1db369d3770f4389da7ef30ef
DIFF: https://github.com/llvm/llvm-project/commit/afce10c5b60fada1db369d3770f4389da7ef30ef.diff
LOG: [clang][ExtractAPI] Add semicolons for enum, typedef, struct declaration fragments
Fixes https://github.com/llvm/llvm-project/issues/61480
Reviewed By: dang
Differential Revision: https://reviews.llvm.org/D146354
Added:
Modified:
clang/lib/ExtractAPI/DeclarationFragments.cpp
clang/test/ExtractAPI/anonymous_record_no_typedef.c
clang/test/ExtractAPI/enum.c
clang/test/ExtractAPI/struct.c
clang/test/ExtractAPI/typedef.c
clang/test/ExtractAPI/typedef_anonymous_record.c
clang/test/ExtractAPI/typedef_chain.c
clang/test/ExtractAPI/underscored.c
Removed:
################################################################################
diff --git a/clang/lib/ExtractAPI/DeclarationFragments.cpp b/clang/lib/ExtractAPI/DeclarationFragments.cpp
index 12c91c582aa98..b8de1270b5f02 100644
--- a/clang/lib/ExtractAPI/DeclarationFragments.cpp
+++ b/clang/lib/ExtractAPI/DeclarationFragments.cpp
@@ -470,7 +470,7 @@ DeclarationFragmentsBuilder::getFragmentsForEnum(const EnumDecl *EnumDecl) {
getFragmentsForType(IntegerType, EnumDecl->getASTContext(), After))
.append(std::move(After));
- return Fragments;
+ return Fragments.append(";", DeclarationFragments::FragmentKind::Text);
}
DeclarationFragments
@@ -493,7 +493,8 @@ DeclarationFragmentsBuilder::getFragmentsForStruct(const RecordDecl *Record) {
if (!Record->getName().empty())
Fragments.appendSpace().append(
Record->getName(), DeclarationFragments::FragmentKind::Identifier);
- return Fragments;
+
+ return Fragments.append(";", DeclarationFragments::FragmentKind::Text);
}
DeclarationFragments
@@ -743,7 +744,7 @@ DeclarationFragments DeclarationFragmentsBuilder::getFragmentsForTypedef(
.appendSpace()
.append(Decl->getName(), DeclarationFragments::FragmentKind::Identifier);
- return Fragments;
+ return Fragments.append(";", DeclarationFragments::FragmentKind::Text);
}
template <typename FunctionT>
diff --git a/clang/test/ExtractAPI/anonymous_record_no_typedef.c b/clang/test/ExtractAPI/anonymous_record_no_typedef.c
index abb96db058dbf..880a42c30ceb8 100644
--- a/clang/test/ExtractAPI/anonymous_record_no_typedef.c
+++ b/clang/test/ExtractAPI/anonymous_record_no_typedef.c
@@ -94,6 +94,10 @@ struct Vehicle {
"kind": "typeIdentifier",
"preciseIdentifier": "c:i",
"spelling": "unsigned int"
+ },
+ {
+ "kind": "text",
+ "spelling": ";"
}
],
"docComment": {
@@ -241,6 +245,10 @@ struct Vehicle {
{
"kind": "identifier",
"spelling": "Vehicle"
+ },
+ {
+ "kind": "text",
+ "spelling": ";"
}
],
"docComment": {
diff --git a/clang/test/ExtractAPI/enum.c b/clang/test/ExtractAPI/enum.c
index 7b345464cb982..a6c749028bd17 100644
--- a/clang/test/ExtractAPI/enum.c
+++ b/clang/test/ExtractAPI/enum.c
@@ -153,6 +153,10 @@ enum {
"kind": "typeIdentifier",
"preciseIdentifier": "c:i",
"spelling": "unsigned int"
+ },
+ {
+ "kind": "text",
+ "spelling": ";"
}
],
"docComment": {
@@ -461,6 +465,10 @@ enum {
"kind": "typeIdentifier",
"preciseIdentifier": "c:c",
"spelling": "unsigned char"
+ },
+ {
+ "kind": "text",
+ "spelling": ";"
}
],
"identifier": {
@@ -684,6 +692,10 @@ enum {
"kind": "typeIdentifier",
"preciseIdentifier": "c:i",
"spelling": "unsigned int"
+ },
+ {
+ "kind": "text",
+ "spelling": ";"
}
],
"identifier": {
@@ -772,6 +784,10 @@ enum {
"kind": "typeIdentifier",
"preciseIdentifier": "c:i",
"spelling": "unsigned int"
+ },
+ {
+ "kind": "text",
+ "spelling": ";"
}
],
"identifier": {
diff --git a/clang/test/ExtractAPI/struct.c b/clang/test/ExtractAPI/struct.c
index 7e93f0d7e7bfa..cd6d25d835821 100644
--- a/clang/test/ExtractAPI/struct.c
+++ b/clang/test/ExtractAPI/struct.c
@@ -89,6 +89,10 @@ struct Color {
{
"kind": "identifier",
"spelling": "Color"
+ },
+ {
+ "kind": "text",
+ "spelling": ";"
}
],
"docComment": {
diff --git a/clang/test/ExtractAPI/typedef.c b/clang/test/ExtractAPI/typedef.c
index fb9b8ef32cdc1..89df9db8b362d 100644
--- a/clang/test/ExtractAPI/typedef.c
+++ b/clang/test/ExtractAPI/typedef.c
@@ -66,6 +66,10 @@ typedef int MyInt;
{
"kind": "identifier",
"spelling": "MyInt"
+ },
+ {
+ "kind": "text",
+ "spelling": ";"
}
],
"identifier": {
diff --git a/clang/test/ExtractAPI/typedef_anonymous_record.c b/clang/test/ExtractAPI/typedef_anonymous_record.c
index 1bd93b92ede81..501873ed16de2 100644
--- a/clang/test/ExtractAPI/typedef_anonymous_record.c
+++ b/clang/test/ExtractAPI/typedef_anonymous_record.c
@@ -75,6 +75,10 @@ typedef MyEnumEnum MyEnumEnumEnum;
{
"kind": "identifier",
"spelling": "MyEnum"
+ },
+ {
+ "kind": "text",
+ "spelling": ";"
}
],
"identifier": {
@@ -170,6 +174,10 @@ typedef MyEnumEnum MyEnumEnumEnum;
{
"kind": "identifier",
"spelling": "MyStruct"
+ },
+ {
+ "kind": "text",
+ "spelling": ";"
}
],
"identifier": {
@@ -223,6 +231,10 @@ typedef MyEnumEnum MyEnumEnumEnum;
{
"kind": "identifier",
"spelling": "MyStructStruct"
+ },
+ {
+ "kind": "text",
+ "spelling": ";"
}
],
"identifier": {
@@ -283,6 +295,10 @@ typedef MyEnumEnum MyEnumEnumEnum;
{
"kind": "identifier",
"spelling": "MyStructStructStruct"
+ },
+ {
+ "kind": "text",
+ "spelling": ";"
}
],
"identifier": {
@@ -343,6 +359,10 @@ typedef MyEnumEnum MyEnumEnumEnum;
{
"kind": "identifier",
"spelling": "MyEnumEnum"
+ },
+ {
+ "kind": "text",
+ "spelling": ";"
}
],
"identifier": {
@@ -403,6 +423,10 @@ typedef MyEnumEnum MyEnumEnumEnum;
{
"kind": "identifier",
"spelling": "MyEnumEnumEnum"
+ },
+ {
+ "kind": "text",
+ "spelling": ";"
}
],
"identifier": {
diff --git a/clang/test/ExtractAPI/typedef_chain.c b/clang/test/ExtractAPI/typedef_chain.c
index 3ba47651fda1e..ff838978d492a 100644
--- a/clang/test/ExtractAPI/typedef_chain.c
+++ b/clang/test/ExtractAPI/typedef_chain.c
@@ -68,6 +68,10 @@ typedef MyIntInt MyIntIntInt;
{
"kind": "identifier",
"spelling": "MyInt"
+ },
+ {
+ "kind": "text",
+ "spelling": ";"
}
],
"identifier": {
@@ -128,6 +132,10 @@ typedef MyIntInt MyIntIntInt;
{
"kind": "identifier",
"spelling": "MyIntInt"
+ },
+ {
+ "kind": "text",
+ "spelling": ";"
}
],
"identifier": {
@@ -188,6 +196,10 @@ typedef MyIntInt MyIntIntInt;
{
"kind": "identifier",
"spelling": "MyIntIntInt"
+ },
+ {
+ "kind": "text",
+ "spelling": ";"
}
],
"identifier": {
diff --git a/clang/test/ExtractAPI/underscored.c b/clang/test/ExtractAPI/underscored.c
index 6eeaf1ce412c3..e619849c8ceca 100644
--- a/clang/test/ExtractAPI/underscored.c
+++ b/clang/test/ExtractAPI/underscored.c
@@ -135,6 +135,10 @@ typedef _HiddenTypedef ExposedTypedefToHidden;
{
"kind": "identifier",
"spelling": "ExposedRecord"
+ },
+ {
+ "kind": "text",
+ "spelling": ";"
}
],
"identifier": {
@@ -296,6 +300,10 @@ typedef _HiddenTypedef ExposedTypedefToHidden;
{
"kind": "identifier",
"spelling": "ExposedTypedef"
+ },
+ {
+ "kind": "text",
+ "spelling": ";"
}
],
"identifier": {
@@ -356,6 +364,10 @@ typedef _HiddenTypedef ExposedTypedefToHidden;
{
"kind": "identifier",
"spelling": "ExposedTypedefToHidden"
+ },
+ {
+ "kind": "text",
+ "spelling": ";"
}
],
"identifier": {
More information about the cfe-commits
mailing list