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 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": {