diff --git a/clang-tools-extra/test/clang-doc/Inputs/enum.cpp b/clang-tools-extra/test/clang-doc/Inputs/enum.cpp new file mode 100644 index 000000000000..04291865a3c0 --- /dev/null +++ b/clang-tools-extra/test/clang-doc/Inputs/enum.cpp @@ -0,0 +1,88 @@ +/** + * @brief For specifying RGB colors + */ +enum Color { + Red, ///< Comment 1 + Green, ///< Comment 2 + Blue ///< Comment 3 +}; + +/** + * @brief Shape Types + */ +enum class Shapes { + /// Comment 1 + Circle, + /// Comment 2 + Rectangle, + /// Comment 3 + Triangle +}; + +typedef unsigned char uint8_t; +/** + * @brief Specify the size + */ +enum Size : uint8_t { + /// A pearl. + /// Pearls are quite small. + /// + /// Pearls are used in jewelry. + Small, + + /// @brief A tennis ball. + Medium, + + /// A football. + Large +}; + +/** + * @brief Very long number + */ +enum : long long { + BigVal = 999999999999 ///< A very large value +}; + +enum ColorUserSpecified { + RedUserSpecified = 'A', + GreenUserSpecified = 2, + BlueUserSpecified = 'C' +}; + +class FilePermissions { +public: + /** + * @brief File permission flags + */ + enum { + Read = 1, ///< Permission to READ r + Write = 2, ///< Permission to WRITE w + Execute = 4 ///< Permission to EXECUTE x + }; +}; + +// COM: FIXME: Add enums declared inside of classes to class template +class Animals { +public: + /** + * @brief specify what animal the class is + */ + enum AnimalType { + Dog, ///< Man's best friend + Cat, ///< Man's other best friend + Iguana ///< A lizard + }; +}; + +namespace Vehicles { +/** + * @brief specify type of car + */ +enum Car { + Sedan, ///< Comment 1 + SUV, ///< Comment 2 + Pickup, + Hatchback ///< Comment 4 +}; +} // namespace Vehicles diff --git a/clang-tools-extra/test/clang-doc/enum.cpp b/clang-tools-extra/test/clang-doc/enum.cpp index 6d54dcf8bf65..6dccedcb9b68 100644 --- a/clang-tools-extra/test/clang-doc/enum.cpp +++ b/clang-tools-extra/test/clang-doc/enum.cpp @@ -1,52 +1,314 @@ // RUN: rm -rf %t && mkdir -p %t -// RUN: clang-doc --format=html --doxygen --output=%t --executor=standalone %s -// RUN: clang-doc --format=md --doxygen --output=%t --executor=standalone %s -// RUN: FileCheck %s < %t/html/GlobalNamespace/index.html --check-prefix=HTML-INDEX-LINE +// RUN: clang-doc --format=html --doxygen --output=%t --executor=standalone %S/Inputs/enum.cpp +// RUN: clang-doc --format=md --doxygen --output=%t --executor=standalone %S/Inputs/enum.cpp +// RUN: clang-doc --format=md_mustache --doxygen --output=%t --executor=standalone %S/Inputs/enum.cpp // RUN: FileCheck %s < %t/html/GlobalNamespace/index.html --check-prefix=HTML-INDEX -// RUN: FileCheck %s < %t/html/GlobalNamespace/_ZTV7Animals.html --check-prefix=HTML-ANIMAL-LINE // RUN: FileCheck %s < %t/html/GlobalNamespace/_ZTV7Animals.html --check-prefix=HTML-ANIMAL -// RUN: FileCheck %s < %t/html/GlobalNamespace/_ZTV15FilePermissions.html --check-prefix=HTML-PERM-LINE // RUN: FileCheck %s < %t/html/GlobalNamespace/_ZTV15FilePermissions.html --check-prefix=HTML-PERM -// RUN: FileCheck %s < %t/html/Vehicles/index.html --check-prefix=HTML-VEHICLES-LINE // RUN: FileCheck %s < %t/html/Vehicles/index.html --check-prefix=HTML-VEHICLES -// RUN: FileCheck %s < %t/GlobalNamespace/index.md --check-prefix=MD-INDEX-LINE // RUN: FileCheck %s < %t/GlobalNamespace/index.md --check-prefix=MD-INDEX -// RUN: FileCheck %s < %t/GlobalNamespace/Animals.md --check-prefix=MD-ANIMAL-LINE // RUN: FileCheck %s < %t/GlobalNamespace/Animals.md --check-prefix=MD-ANIMAL -// RUN: FileCheck %s < %t/GlobalNamespace/FilePermissions.md --check-prefix=MD-PERM-LINE // RUN: FileCheck %s < %t/GlobalNamespace/FilePermissions.md --check-prefix=MD-PERM -// RUN: FileCheck %s < %t/Vehicles/index.md --check-prefix=MD-VEHICLES-LINE // RUN: FileCheck %s < %t/Vehicles/index.md --check-prefix=MD-VEHICLES - - -// RUN: clang-doc --format=md_mustache --doxygen --output=%t --executor=standalone %s -// RUN: FileCheck %s < %t/md/GlobalNamespace/index.md --check-prefix=MD-MUSTACHE-INDEX-LINE // RUN: FileCheck %s < %t/md/GlobalNamespace/index.md --check-prefix=MD-MUSTACHE-INDEX -// RUN: FileCheck %s < %t/md/GlobalNamespace/_ZTV7Animals.md --check-prefix=MD-MUSTACHE-ANIMAL-LINE // RUN: FileCheck %s < %t/md/GlobalNamespace/_ZTV7Animals.md --check-prefix=MD-MUSTACHE-ANIMAL -// RUN: FileCheck %s < %t/md/Vehicles/index.md --check-prefix=MD-MUSTACHE-VEHICLES-LINE // RUN: FileCheck %s < %t/md/Vehicles/index.md --check-prefix=MD-MUSTACHE-VEHICLES +// RUN: FileCheck %s < %t/json/GlobalNamespace/index.json --check-prefix=JSON-INDEX +// RUN: FileCheck %s < %t/json/Vehicles/index.json --check-prefix=JSON-VEHICLES-INDEX -/** - * @brief For specifying RGB colors - */ -enum Color { - // MD-INDEX-LINE: *Defined at {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp#[[@LINE-1]]* - // HTML-INDEX-LINE:

Defined at line [[@LINE-2]] of file {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp

- // MD-MUSTACHE-INDEX-LINE: *Defined at {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp#[[@LINE-3]]* - Red, ///< Comment 1 - Green, ///< Comment 2 - Blue ///< Comment 3 -}; - -// MD-INDEX: ## Enums -// MD-INDEX: | enum Color | -// MD-INDEX: | Name | Value | Comments | -// MD-INDEX: |---|---|---| -// MD-INDEX: | Red | 0 | Comment 1 | -// MD-INDEX: | Green | 1 | Comment 2 | -// MD-INDEX: | Blue | 2 | Comment 3 | -// MD-INDEX: **brief** For specifying RGB colors +// JSON-INDEX: { +// JSON-INDEX-NEXT: "DocumentationFileName": "index", +// JSON-INDEX-NEXT: "Enums": [ +// JSON-INDEX-NEXT: { +// JSON-INDEX-NEXT: "Description": { +// JSON-INDEX-NEXT: "BriefComments": [ +// JSON-INDEX-NEXT: [ +// JSON-INDEX-NEXT: { +// JSON-INDEX-NEXT: "TextComment": "For specifying RGB colors" +// JSON-INDEX-NEXT: } +// JSON-INDEX-NEXT: ] +// JSON-INDEX-NEXT: ], +// JSON-INDEX-NEXT: "HasBriefComments": true +// JSON-INDEX-NEXT: }, +// JSON-INDEX-NEXT: "HasComments": true, +// JSON-INDEX-NEXT: "InfoType": "enum", +// JSON-INDEX-NEXT: "Location": { +// JSON-INDEX-NEXT: "Filename": "{{.*}}enum.cpp", +// JSON-INDEX-NEXT: "LineNumber": 4 +// JSON-INDEX-NEXT: }, +// JSON-INDEX-NEXT: "Members": [ +// JSON-INDEX-NEXT: { +// JSON-INDEX-NEXT: "Description": { +// JSON-INDEX-NEXT: "HasParagraphComments": true, +// JSON-INDEX-NEXT: "ParagraphComments": [ +// JSON-INDEX-NEXT: [ +// JSON-INDEX-NEXT: { +// JSON-INDEX-NEXT: "TextComment": "Comment 1" +// JSON-INDEX-NEXT: } +// JSON-INDEX-NEXT: ] +// JSON-INDEX-NEXT: ] +// JSON-INDEX-NEXT: }, +// JSON-INDEX-NEXT: "HasEnumMemberComments": true, +// JSON-INDEX-NEXT: "Name": "Red", +// JSON-INDEX-NEXT: "Value": "0" +// JSON-INDEX-NEXT: }, +// JSON-INDEX-NEXT: { +// JSON-INDEX-NEXT: "Description": { +// JSON-INDEX-NEXT: "HasParagraphComments": true, +// JSON-INDEX-NEXT: "ParagraphComments": [ +// JSON-INDEX-NEXT: [ +// JSON-INDEX-NEXT: { +// JSON-INDEX-NEXT: "TextComment": "Comment 2" +// JSON-INDEX-NEXT: } +// JSON-INDEX-NEXT: ] +// JSON-INDEX-NEXT: ] +// JSON-INDEX-NEXT: }, +// JSON-INDEX-NEXT: "HasEnumMemberComments": true, +// JSON-INDEX-NEXT: "Name": "Green", +// JSON-INDEX-NEXT: "Value": "1" +// JSON-INDEX-NEXT: }, +// JSON-INDEX-NEXT: { +// JSON-INDEX-NEXT: "Description": { +// JSON-INDEX-NEXT: "HasParagraphComments": true, +// JSON-INDEX-NEXT: "ParagraphComments": [ +// JSON-INDEX-NEXT: [ +// JSON-INDEX-NEXT: { +// JSON-INDEX-NEXT: "TextComment": "Comment 3" +// JSON-INDEX-NEXT: } +// JSON-INDEX-NEXT: ] +// JSON-INDEX-NEXT: ] +// JSON-INDEX-NEXT: }, +// JSON-INDEX-NEXT: "End": true, +// JSON-INDEX-NEXT: "HasEnumMemberComments": true, +// JSON-INDEX-NEXT: "Name": "Blue", +// JSON-INDEX-NEXT: "Value": "2" +// JSON-INDEX-NEXT: } +// JSON-INDEX-NEXT: ], +// JSON-INDEX-NEXT: "Name": "Color", +// JSON-INDEX-NEXT: "Scoped": false, +// JSON-INDEX-NEXT: "USR": "{{([0-9A-F]{40})}}" +// JSON-INDEX-NEXT: }, +// JSON-INDEX-NEXT: { +// JSON-INDEX-NEXT: "Description": { +// JSON-INDEX-NEXT: "BriefComments": [ +// JSON-INDEX-NEXT: [ +// JSON-INDEX-NEXT: { +// JSON-INDEX-NEXT: "TextComment": "Shape Types" +// JSON-INDEX-NEXT: } +// JSON-INDEX-NEXT: ] +// JSON-INDEX-NEXT: ], +// JSON-INDEX-NEXT: "HasBriefComments": true +// JSON-INDEX-NEXT: }, +// JSON-INDEX-NEXT: "HasComments": true, +// JSON-INDEX-NEXT: "InfoType": "enum", +// JSON-INDEX-NEXT: "Location": { +// JSON-INDEX-NEXT: "Filename": "{{.*}}enum.cpp", +// JSON-INDEX-NEXT: "LineNumber": 13 +// JSON-INDEX-NEXT: }, +// JSON-INDEX-NEXT: "Members": [ +// JSON-INDEX-NEXT: { +// JSON-INDEX-NEXT: "Description": { +// JSON-INDEX-NEXT: "HasParagraphComments": true, +// JSON-INDEX-NEXT: "ParagraphComments": [ +// JSON-INDEX-NEXT: [ +// JSON-INDEX-NEXT: { +// JSON-INDEX-NEXT: "TextComment": "Comment 1" +// JSON-INDEX-NEXT: } +// JSON-INDEX-NEXT: ] +// JSON-INDEX-NEXT: ] +// JSON-INDEX-NEXT: }, +// JSON-INDEX-NEXT: "HasEnumMemberComments": true, +// JSON-INDEX-NEXT: "Name": "Circle", +// JSON-INDEX-NEXT: "Value": "0" +// JSON-INDEX-NEXT: }, +// JSON-INDEX-NEXT: { +// JSON-INDEX-NEXT: "Description": { +// JSON-INDEX-NEXT: "HasParagraphComments": true, +// JSON-INDEX-NEXT: "ParagraphComments": [ +// JSON-INDEX-NEXT: [ +// JSON-INDEX-NEXT: { +// JSON-INDEX-NEXT: "TextComment": "Comment 2" +// JSON-INDEX-NEXT: } +// JSON-INDEX-NEXT: ] +// JSON-INDEX-NEXT: ] +// JSON-INDEX-NEXT: }, +// JSON-INDEX-NEXT: "HasEnumMemberComments": true, +// JSON-INDEX-NEXT: "Name": "Rectangle", +// JSON-INDEX-NEXT: "Value": "1" +// JSON-INDEX-NEXT: }, +// JSON-INDEX-NEXT: { +// JSON-INDEX-NEXT: "Description": { +// JSON-INDEX-NEXT: "HasParagraphComments": true, +// JSON-INDEX-NEXT: "ParagraphComments": [ +// JSON-INDEX-NEXT: [ +// JSON-INDEX-NEXT: { +// JSON-INDEX-NEXT: "TextComment": "Comment 3" +// JSON-INDEX-NEXT: } +// JSON-INDEX-NEXT: ] +// JSON-INDEX-NEXT: ] +// JSON-INDEX-NEXT: }, +// JSON-INDEX-NEXT: "End": true, +// JSON-INDEX-NEXT: "HasEnumMemberComments": true, +// JSON-INDEX-NEXT: "Name": "Triangle", +// JSON-INDEX-NEXT: "Value": "2" +// JSON-INDEX-NEXT: } +// JSON-INDEX-NEXT: ], +// JSON-INDEX-NEXT: "Name": "Shapes", +// JSON-INDEX-NEXT: "Scoped": true, +// JSON-INDEX-NEXT: "USR": "{{([0-9A-F]{40})}}" +// JSON-INDEX-NEXT: }, +// JSON-INDEX-NEXT: { +// JSON-INDEX-NEXT: "BaseType": { +// JSON-INDEX-NEXT: "Name": "uint8_t", +// JSON-INDEX-NEXT: "QualName": "uint8_t", +// JSON-INDEX-NEXT: "USR": "0000000000000000000000000000000000000000" +// JSON-INDEX-NEXT: }, +// JSON-INDEX-NEXT: "Description": { +// JSON-INDEX-NEXT: "BriefComments": [ +// JSON-INDEX-NEXT: [ +// JSON-INDEX-NEXT: { +// JSON-INDEX-NEXT: "TextComment": "Specify the size" +// JSON-INDEX-NEXT: } +// JSON-INDEX-NEXT: ] +// JSON-INDEX-NEXT: ], +// JSON-INDEX-NEXT: "HasBriefComments": true +// JSON-INDEX-NEXT: }, +// JSON-INDEX-NEXT: "HasComments": true, +// JSON-INDEX-NEXT: "InfoType": "enum", +// JSON-INDEX-NEXT: "Location": { +// JSON-INDEX-NEXT: "Filename": "{{.*}}enum.cpp", +// JSON-INDEX-NEXT: "LineNumber": 26 +// JSON-INDEX-NEXT: }, +// JSON-INDEX-NEXT: "Members": [ +// JSON-INDEX-NEXT: { +// JSON-INDEX-NEXT: "Description": { +// JSON-INDEX-NEXT: "HasParagraphComments": true, +// JSON-INDEX-NEXT: "ParagraphComments": [ +// JSON-INDEX-NEXT: [ +// JSON-INDEX-NEXT: { +// JSON-INDEX-NEXT: "TextComment": "A pearl." +// JSON-INDEX-NEXT: }, +// JSON-INDEX-NEXT: { +// JSON-INDEX-NEXT: "TextComment": "Pearls are quite small." +// JSON-INDEX-NEXT: } +// JSON-INDEX-NEXT: ], +// JSON-INDEX-NEXT: [ +// JSON-INDEX-NEXT: { +// JSON-INDEX-NEXT: "TextComment": "Pearls are used in jewelry." +// JSON-INDEX-NEXT: } +// JSON-INDEX-NEXT: ] +// JSON-INDEX-NEXT: ] +// JSON-INDEX-NEXT: }, +// JSON-INDEX-NEXT: "HasEnumMemberComments": true, +// JSON-INDEX-NEXT: "Name": "Small", +// JSON-INDEX-NEXT: "Value": "0" +// JSON-INDEX-NEXT: }, +// JSON-INDEX-NEXT: { +// JSON-INDEX-NEXT: "Description": { +// JSON-INDEX-NEXT: "BriefComments": [ +// JSON-INDEX-NEXT: [ +// JSON-INDEX-NEXT: { +// JSON-INDEX-NEXT: "TextComment": "A tennis ball." +// JSON-INDEX-NEXT: } +// JSON-INDEX-NEXT: ] +// JSON-INDEX-NEXT: ], +// JSON-INDEX-NEXT: "HasBriefComments": true +// JSON-INDEX-NEXT: }, +// JSON-INDEX-NEXT: "HasEnumMemberComments": true, +// JSON-INDEX-NEXT: "Name": "Medium", +// JSON-INDEX-NEXT: "Value": "1" +// JSON-INDEX-NEXT: }, +// JSON-INDEX-NEXT: { +// JSON-INDEX-NEXT: "Description": { +// JSON-INDEX-NEXT: "HasParagraphComments": true, +// JSON-INDEX-NEXT: "ParagraphComments": [ +// JSON-INDEX-NEXT: [ +// JSON-INDEX-NEXT: { +// JSON-INDEX-NEXT: "TextComment": "A football." +// JSON-INDEX-NEXT: } +// JSON-INDEX-NEXT: ] +// JSON-INDEX-NEXT: ] +// JSON-INDEX-NEXT: }, +// JSON-INDEX-NEXT: "End": true, +// JSON-INDEX-NEXT: "HasEnumMemberComments": true, +// JSON-INDEX-NEXT: "Name": "Large", +// JSON-INDEX-NEXT: "Value": "2" +// JSON-INDEX-NEXT: } +// JSON-INDEX-NEXT: ], +// JSON-INDEX-NEXT: "Name": "Size", +// JSON-INDEX-NEXT: "Scoped": false, +// JSON-INDEX-NEXT: "USR": "{{([0-9A-F]{40})}}" +// JSON-INDEX-NEXT: }, +// JSON-INDEX-NEXT: { +// JSON-INDEX-NEXT: "BaseType": { +// JSON-INDEX-NEXT: "Name": "long long", +// JSON-INDEX-NEXT: "QualName": "long long", +// JSON-INDEX-NEXT: "USR": "0000000000000000000000000000000000000000" +// JSON-INDEX-NEXT: }, +// JSON-INDEX-NEXT: "Description": { +// JSON-INDEX-NEXT: "BriefComments": [ +// JSON-INDEX-NEXT: [ +// JSON-INDEX-NEXT: { +// JSON-INDEX-NEXT: "TextComment": "Very long number" +// JSON-INDEX-NEXT: } +// JSON-INDEX-NEXT: ] +// JSON-INDEX-NEXT: ], +// JSON-INDEX-NEXT: "HasBriefComments": true +// JSON-INDEX-NEXT: }, +// JSON-INDEX-NEXT: "HasComments": true, +// JSON-INDEX-NEXT: "InfoType": "enum", +// JSON-INDEX-NEXT: "Location": { +// JSON-INDEX-NEXT: "Filename": "{{.*}}enum.cpp", +// JSON-INDEX-NEXT: "LineNumber": 43 +// JSON-INDEX-NEXT: }, +// JSON-INDEX-NEXT: "Members": [ +// JSON-INDEX-NEXT: { +// JSON-INDEX-NEXT: "Description": { +// JSON-INDEX-NEXT: "HasParagraphComments": true, +// JSON-INDEX-NEXT: "ParagraphComments": [ +// JSON-INDEX-NEXT: [ +// JSON-INDEX-NEXT: { +// JSON-INDEX-NEXT: "TextComment": "A very large value" +// JSON-INDEX-NEXT: } +// JSON-INDEX-NEXT: ] +// JSON-INDEX-NEXT: ] +// JSON-INDEX-NEXT: }, +// JSON-INDEX-NEXT: "End": true, +// JSON-INDEX-NEXT: "HasEnumMemberComments": true, +// JSON-INDEX-NEXT: "Name": "BigVal", +// JSON-INDEX-NEXT: "ValueExpr": "999999999999" +// JSON-INDEX-NEXT: } +// JSON-INDEX-NEXT: ], +// JSON-INDEX-NEXT: "Scoped": false, +// JSON-INDEX-NEXT: "USR": "{{([0-9A-F]{40})}}" +// JSON-INDEX-NEXT: }, +// JSON-INDEX-NEXT: { +// JSON-INDEX-NEXT: "End": true, +// JSON-INDEX-NEXT: "InfoType": "enum", +// JSON-INDEX-NEXT: "Location": { +// JSON-INDEX-NEXT: "Filename": "{{.*}}enum.cpp", +// JSON-INDEX-NEXT: "LineNumber": 47 +// JSON-INDEX-NEXT: }, +// JSON-INDEX-NEXT: "Members": [ +// JSON-INDEX-NEXT: { +// JSON-INDEX-NEXT: "Name": "RedUserSpecified", +// JSON-INDEX-NEXT: "ValueExpr": "'A'" +// JSON-INDEX-NEXT: }, +// JSON-INDEX-NEXT: { +// JSON-INDEX-NEXT: "Name": "GreenUserSpecified", +// JSON-INDEX-NEXT: "ValueExpr": "2" +// JSON-INDEX-NEXT: }, +// JSON-INDEX-NEXT: { +// JSON-INDEX-NEXT: "End": true, +// JSON-INDEX-NEXT: "Name": "BlueUserSpecified", +// JSON-INDEX-NEXT: "ValueExpr": "'C'" +// JSON-INDEX-NEXT: } +// JSON-INDEX-NEXT: ], +// JSON-INDEX-NEXT: "Name": "ColorUserSpecified", +// JSON-INDEX-NEXT: "Scoped": false, +// JSON-INDEX-NEXT: "USR": "{{([0-9A-F]{40})}}" +// JSON-INDEX-NEXT: } +// JSON-INDEX-NEXT: ], // HTML-INDEX-LABEL:
// HTML-INDEX-NEXT:
@@ -93,8 +355,16 @@ enum Color { // HTML-INDEX-NEXT:

For specifying RGB colors

// HTML-INDEX-NEXT:
// HTML-INDEX-NEXT:
-// HTML-INDEX-NEXT:

Defined at line [[@LINE-63]] of file {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp

-// HTML-INDEX-NEXT: +// HTML-INDEX: + +// MD-INDEX: ## Enums +// MD-INDEX: | enum Color | +// MD-INDEX: | Name | Value | Comments | +// MD-INDEX: |---|---|---| +// MD-INDEX: | Red | 0 | Comment 1 | +// MD-INDEX: | Green | 1 | Comment 2 | +// MD-INDEX: | Blue | 2 | Comment 3 | +// MD-INDEX: **brief** For specifying RGB colors // MD-MUSTACHE-INDEX: ## Enums // MD-MUSTACHE-INDEX: | enum Color | @@ -104,30 +374,6 @@ enum Color { // MD-MUSTACHE-INDEX: | Blue | // MD-MUSTACHE-INDEX: **brief** For specifying RGB colors -/** - * @brief Shape Types - */ -enum class Shapes { - // MD-INDEX-LINE: *Defined at {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp#[[@LINE-1]]* - // HTML-INDEX-LINE:

Defined at line [[@LINE-2]] of file {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp

- // MD-MUSTACHE-INDEX-LINE: *Defined at {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp#[[@LINE-3]]* - - /// Comment 1 - Circle, - /// Comment 2 - Rectangle, - /// Comment 3 - Triangle -}; - -// MD-INDEX: | enum class Shapes | -// MD-INDEX: | Name | Value | Comments | -// MD-INDEX: |---|---|---| -// MD-INDEX: | Circle | 0 | Comment 1 | -// MD-INDEX: | Rectangle | 1 | Comment 2 | -// MD-INDEX: | Triangle | 2 | Comment 3 | -// MD-INDEX: **brief** Shape Types - // HTML-INDEX-LABEL:
// HTML-INDEX-NEXT:
// HTML-INDEX-NEXT:
enum class Shapes
@@ -173,37 +419,15 @@ enum class Shapes { // HTML-INDEX-NEXT:

Shape Types

// HTML-INDEX-NEXT:
// HTML-INDEX-NEXT:
-// HTML-INDEX-NEXT:

Defined at line [[@LINE-66]] of file {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp

-// HTML-INDEX-NEXT: +// HTML-INDEX: -typedef unsigned char uint8_t; -/** - * @brief Specify the size - */ -enum Size : uint8_t { - // MD-INDEX-LINE: *Defined at {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp#[[@LINE-1]]* - // HTML-INDEX-LINE:

Defined at line [[@LINE-2]] of file {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp

- - /// A pearl. - /// Pearls are quite small. - /// - /// Pearls are used in jewelry. - Small, - - /// @brief A tennis ball. - Medium, - - /// A football. - Large -}; - -// MD-INDEX: | enum Size : uint8_t | +// MD-INDEX: | enum class Shapes | // MD-INDEX: | Name | Value | Comments | // MD-INDEX: |---|---|---| -// MD-INDEX: | Small | 0 | A pearl.
Pearls are quite small.

Pearls are used in jewelry. | -// MD-INDEX: | Medium | 1 | A tennis ball. | -// MD-INDEX: | Large | 2 | A football. | -// MD-INDEX: **brief** Specify the size +// MD-INDEX: | Circle | 0 | Comment 1 | +// MD-INDEX: | Rectangle | 1 | Comment 2 | +// MD-INDEX: | Triangle | 2 | Comment 3 | +// MD-INDEX: **brief** Shape Types // HTML-INDEX-LABEL:
// HTML-INDEX-NEXT:
@@ -252,23 +476,15 @@ enum Size : uint8_t { // HTML-INDEX-NEXT:

Specify the size

// HTML-INDEX-NEXT:
// HTML-INDEX-NEXT:
-// HTML-INDEX-NEXT:

Defined at line [[@LINE-72]] of file {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp

-// HTML-INDEX-NEXT: +// HTML-INDEX: -/** - * @brief Very long number - */ -enum : long long { - // MD-INDEX-LINE: *Defined at {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp#[[@LINE-1]]* - // HTML-INDEX-LINE:

Defined at line [[@LINE-2]] of file {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp

- BigVal = 999999999999 ///< A very large value -}; - -// MD-INDEX: | enum (unnamed) : long long | +// MD-INDEX: | enum Size : uint8_t | // MD-INDEX: | Name | Value | Comments | // MD-INDEX: |---|---|---| -// MD-INDEX: | BigVal | 999999999999 | A very large value | -// MD-INDEX: **brief** Very long number +// MD-INDEX: | Small | 0 | A pearl.
Pearls are quite small.

Pearls are used in jewelry. | +// MD-INDEX: | Medium | 1 | A tennis ball. | +// MD-INDEX: | Large | 2 | A football. | +// MD-INDEX: **brief** Specify the size // HTML-INDEX-LABEL:
// HTML-INDEX-NEXT:
@@ -297,32 +513,52 @@ enum : long long { // HTML-INDEX-NEXT:

Very long number

// HTML-INDEX-NEXT:
// HTML-INDEX-NEXT:
-// HTML-INDEX-NEXT:

Defined at line [[@LINE-39]] of file {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp

-// HTML-INDEX-NEXT: +// HTML-INDEX: -class FilePermissions { -// MD-PERM-LINE: *Defined at {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp#[[@LINE-1]]* -// HTML-PERM-LINE:

Defined at line [[@LINE-2]] of file {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp

-public: - /** - * @brief File permission flags - */ - enum { - // MD-PERM-LINE: *Defined at {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp#[[@LINE-1]]* - // HTML-PERM-LINE:

Defined at line [[@LINE-2]] of file {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp

- Read = 1, ///< Permission to READ r - Write = 2, ///< Permission to WRITE w - Execute = 4 ///< Permission to EXECUTE x - }; -}; +// MD-INDEX: | enum (unnamed) : long long | +// MD-INDEX: | Name | Value | Comments | +// MD-INDEX: |---|---|---| +// MD-INDEX: | BigVal | 999999999999 | A very large value | +// MD-INDEX: **brief** Very long number -// MD-PERM: | enum (unnamed) | -// MD-PERM: | Name | Value | Comments | -// MD-PERM: |---|---|---| -// MD-PERM: | Read | 1 | Permission to READ r | -// MD-PERM: | Write | 2 | Permission to WRITE w | -// MD-PERM: | Execute | 4 | Permission to EXECUTE x | -// MD-PERM: **brief** File permission flags +// HTML-INDEX-LABEL:
+// HTML-INDEX-NEXT:
+// HTML-INDEX-NEXT:
enum ColorUserSpecified
+// HTML-INDEX-NEXT:
+// HTML-INDEX-NEXT: +// HTML-INDEX-NEXT: +// HTML-INDEX-NEXT: +// HTML-INDEX-NEXT: +// HTML-INDEX-NEXT: +// HTML-INDEX-NEXT: +// HTML-INDEX-NEXT: +// HTML-INDEX-NEXT: +// HTML-INDEX-NEXT: +// HTML-INDEX-NEXT: +// HTML-INDEX-NEXT: +// HTML-INDEX-NEXT: +// HTML-INDEX-NEXT: +// HTML-INDEX-NEXT: +// HTML-INDEX-NEXT: +// HTML-INDEX-NEXT: +// HTML-INDEX-NEXT: +// HTML-INDEX-NEXT: +// HTML-INDEX-NEXT: +// HTML-INDEX-NEXT:
NameValue
RedUserSpecified'A'
GreenUserSpecified2
BlueUserSpecified'C'
+// HTML-INDEX:
+ +// MD-INDEX: | enum ColorUserSpecified | +// MD-INDEX: | Name | Value | +// MD-INDEX: |---|---| +// MD-INDEX: | RedUserSpecified | 65 | +// MD-INDEX: | GreenUserSpecified | 2 | +// MD-INDEX: | BlueUserSpecified | 67 | + +// MD-MUSTACHE-INDEX: | enum ColorUserSpecified | +// MD-MUSTACHE-INDEX: -- +// MD-MUSTACHE-INDEX: | RedUserSpecified | +// MD-MUSTACHE-INDEX: | GreenUserSpecified | +// MD-MUSTACHE-INDEX: | BlueUserSpecified | // HTML-PERM-LABEL:
// HTML-PERM-NEXT:

Enumerations

@@ -370,29 +606,15 @@ public: // HTML-PERM-NEXT:
// HTML-PERM-NEXT:

File permission flags

// HTML-PERM-NEXT:
-// HTML-PERM-NEXT: -// HTML-PERM-NEXT:

Defined at line [[@LINE-64]] of file {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp

-// HTML-PERM-NEXT: -// HTML-PERM-NEXT:
+// HTML-PERM: -// COM: FIXME: Add enums declared inside of classes to class template -class Animals { - // MD-ANIMAL-LINE: *Defined at {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp#[[@LINE-1]]* - // HTML-ANIMAL-LINE:

Defined at line [[@LINE-2]] of file {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp

- // MD-MUSTACHE-ANIMAL-LINE: *Defined at {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp#[[@LINE-3]]* -public: - /** - * @brief specify what animal the class is - */ - enum AnimalType { - // MD-ANIMAL-LINE: *Defined at {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp#[[@LINE-1]]* - // HTML-ANIMAL-LINE:

Defined at line [[@LINE-2]] of file {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp

- // MD-MUSTACHE-ANIMAL-LINE: *Defined at {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp#[[@LINE-3]]* - Dog, ///< Man's best friend - Cat, ///< Man's other best friend - Iguana ///< A lizard - }; -}; +// MD-PERM: | enum (unnamed) | +// MD-PERM: | Name | Value | Comments | +// MD-PERM: |---|---|---| +// MD-PERM: | Read | 1 | Permission to READ r | +// MD-PERM: | Write | 2 | Permission to WRITE w | +// MD-PERM: | Execute | 4 | Permission to EXECUTE x | +// MD-PERM: **brief** File permission flags // HTML-ANIMAL-LABEL:
// HTML-ANIMAL-NEXT:

Enumerations

@@ -441,8 +663,7 @@ public: // HTML-ANIMAL-NEXT:

specify what animal the class is

// HTML-ANIMAL-NEXT: // HTML-ANIMAL-NEXT: -// HTML-ANIMAL-NEXT:

Defined at line [[@LINE-57]] of file {{.*}}enum.cpp

-// HTML-ANIMAL-NEXT: +// HTML-ANIMAL: // HTML-ANIMAL-NEXT:
// MD-ANIMAL: # class Animals @@ -464,33 +685,6 @@ public: // MD-MUSTACHE-ANIMAL: | Iguana | // MD-MUSTACHE-ANIMAL: **brief** specify what animal the class is -namespace Vehicles { -/** - * @brief specify type of car - */ -enum Car { - // MD-VEHICLES-LINE: *Defined at {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp#[[@LINE-1]]* - // HTML-VEHICLES-LINE: Defined at line [[@LINE-2]] of file {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp - // MD-MUSTACHE-VEHICLES-LINE: *Defined at {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp#[[@LINE-3]]* - - Sedan, ///< Comment 1 - SUV, ///< Comment 2 - Pickup, - Hatchback ///< Comment 4 -}; -} // namespace Vehicles - -// MD-VEHICLES: # namespace Vehicles -// MD-VEHICLES: ## Enums -// MD-VEHICLES: | enum Car | -// MD-VEHICLES: | Name | Value | Comments | -// MD-VEHICLES: |---|---|---| -// MD-VEHICLES: | Sedan | 0 | Comment 1 | -// MD-VEHICLES: | SUV | 1 | Comment 2 | -// MD-VEHICLES: | Pickup | 2 | -- | -// MD-VEHICLES: | Hatchback | 3 | Comment 4 | -// MD-VEHICLES: **brief** specify type of car - // HTML-VEHICLES-LABEL:
// HTML-VEHICLES-NEXT:
// HTML-VEHICLES-NEXT:
enum Car
@@ -541,8 +735,18 @@ enum Car { // HTML-VEHICLES-NEXT:

specify type of car

// HTML-VEHICLES-NEXT:
// HTML-VEHICLES-NEXT:
-// HTML-VEHICLES-NEXT:

Defined at line [[@LINE-73]] of file {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp

-// HTML-VEHICLES-NEXT: +// HTML-VEHICLES: + +// MD-VEHICLES: # namespace Vehicles +// MD-VEHICLES: ## Enums +// MD-VEHICLES: | enum Car | +// MD-VEHICLES: | Name | Value | Comments | +// MD-VEHICLES: |---|---|---| +// MD-VEHICLES: | Sedan | 0 | Comment 1 | +// MD-VEHICLES: | SUV | 1 | Comment 2 | +// MD-VEHICLES: | Pickup | 2 | -- | +// MD-VEHICLES: | Hatchback | 3 | Comment 4 | +// MD-VEHICLES: **brief** specify type of car // MD-MUSTACHE-VEHICLES: # namespace Vehicles // MD-MUSTACHE-VEHICLES: ## Enums @@ -554,48 +758,82 @@ enum Car { // MD-MUSTACHE-VEHICLES: | Hatchback | // MD-MUSTACHE-VEHICLES: **brief** specify type of car -enum ColorUserSpecified { - RedUserSpecified = 'A', - GreenUserSpecified = 2, - BlueUserSpecified = 'C' -}; - -// MD-INDEX: | enum ColorUserSpecified | -// MD-INDEX: | Name | Value | -// MD-INDEX: |---|---| -// MD-INDEX: | RedUserSpecified | 65 | -// MD-INDEX: | GreenUserSpecified | 2 | -// MD-INDEX: | BlueUserSpecified | 67 | - -// HTML-INDEX-LABEL:
-// HTML-INDEX-NEXT:
-// HTML-INDEX-NEXT:
enum ColorUserSpecified
-// HTML-INDEX-NEXT:
-// HTML-INDEX-NEXT: -// HTML-INDEX-NEXT: -// HTML-INDEX-NEXT: -// HTML-INDEX-NEXT: -// HTML-INDEX-NEXT: -// HTML-INDEX-NEXT: -// HTML-INDEX-NEXT: -// HTML-INDEX-NEXT: -// HTML-INDEX-NEXT: -// HTML-INDEX-NEXT: -// HTML-INDEX-NEXT: -// HTML-INDEX-NEXT: -// HTML-INDEX-NEXT: -// HTML-INDEX-NEXT: -// HTML-INDEX-NEXT: -// HTML-INDEX-NEXT: -// HTML-INDEX-NEXT: -// HTML-INDEX-NEXT: -// HTML-INDEX-NEXT: -// HTML-INDEX-NEXT:
NameValue
RedUserSpecified'A'
GreenUserSpecified2
BlueUserSpecified'C'
-// HTML-INDEX-NEXT:

Defined at line [[@LINE-37]] of file {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp

-// HTML-INDEX-NEXT:
- -// MD-MUSTACHE-INDEX: | enum ColorUserSpecified | -// MD-MUSTACHE-INDEX: -- -// MD-MUSTACHE-INDEX: | RedUserSpecified | -// MD-MUSTACHE-INDEX: | GreenUserSpecified | -// MD-MUSTACHE-INDEX: | BlueUserSpecified | +// JSON-VEHICLES-INDEX-LABEL: "DocumentationFileName": "index", +// JSON-VEHICLES-INDEX-NEXT: "Enums": [ +// JSON-VEHICLES-INDEX-NEXT: { +// JSON-VEHICLES-INDEX-NEXT: "Description": { +// JSON-VEHICLES-INDEX-NEXT: "BriefComments": [ +// JSON-VEHICLES-INDEX-NEXT: [ +// JSON-VEHICLES-INDEX-NEXT: { +// JSON-VEHICLES-INDEX-NEXT: "TextComment": "specify type of car" +// JSON-VEHICLES-INDEX-NEXT: } +// JSON-VEHICLES-INDEX-NEXT: ] +// JSON-VEHICLES-INDEX-NEXT: ], +// JSON-VEHICLES-INDEX-NEXT: "HasBriefComments": true +// JSON-VEHICLES-INDEX-NEXT: }, +// JSON-VEHICLES-INDEX-NEXT: "End": true, +// JSON-VEHICLES-INDEX-NEXT: "HasComments": true, +// JSON-VEHICLES-INDEX-NEXT: "InfoType": "enum", +// JSON-VEHICLES-INDEX-NEXT: "Location": { +// JSON-VEHICLES-INDEX-NEXT: "Filename": "{{.*}}enum.cpp", +// JSON-VEHICLES-INDEX-NEXT: "LineNumber": 82 +// JSON-VEHICLES-INDEX-NEXT: }, +// JSON-VEHICLES-INDEX-NEXT: "Members": [ +// JSON-VEHICLES-INDEX-NEXT: { +// JSON-VEHICLES-INDEX-NEXT: "Description": { +// JSON-VEHICLES-INDEX-NEXT: "HasParagraphComments": true, +// JSON-VEHICLES-INDEX-NEXT: "ParagraphComments": [ +// JSON-VEHICLES-INDEX-NEXT: [ +// JSON-VEHICLES-INDEX-NEXT: { +// JSON-VEHICLES-INDEX-NEXT: "TextComment": "Comment 1" +// JSON-VEHICLES-INDEX-NEXT: } +// JSON-VEHICLES-INDEX-NEXT: ] +// JSON-VEHICLES-INDEX-NEXT: ] +// JSON-VEHICLES-INDEX-NEXT: }, +// JSON-VEHICLES-INDEX-NEXT: "HasEnumMemberComments": true, +// JSON-VEHICLES-INDEX-NEXT: "Name": "Sedan", +// JSON-VEHICLES-INDEX-NEXT: "Value": "0" +// JSON-VEHICLES-INDEX-NEXT: }, +// JSON-VEHICLES-INDEX-NEXT: { +// JSON-VEHICLES-INDEX-NEXT: "Description": { +// JSON-VEHICLES-INDEX-NEXT: "HasParagraphComments": true, +// JSON-VEHICLES-INDEX-NEXT: "ParagraphComments": [ +// JSON-VEHICLES-INDEX-NEXT: [ +// JSON-VEHICLES-INDEX-NEXT: { +// JSON-VEHICLES-INDEX-NEXT: "TextComment": "Comment 2" +// JSON-VEHICLES-INDEX-NEXT: } +// JSON-VEHICLES-INDEX-NEXT: ] +// JSON-VEHICLES-INDEX-NEXT: ] +// JSON-VEHICLES-INDEX-NEXT: }, +// JSON-VEHICLES-INDEX-NEXT: "HasEnumMemberComments": true, +// JSON-VEHICLES-INDEX-NEXT: "Name": "SUV", +// JSON-VEHICLES-INDEX-NEXT: "Value": "1" +// JSON-VEHICLES-INDEX-NEXT: }, +// JSON-VEHICLES-INDEX-NEXT: { +// JSON-VEHICLES-INDEX-NEXT: "Name": "Pickup", +// JSON-VEHICLES-INDEX-NEXT: "Value": "2" +// JSON-VEHICLES-INDEX-NEXT: }, +// JSON-VEHICLES-INDEX-NEXT: { +// JSON-VEHICLES-INDEX-NEXT: "Description": { +// JSON-VEHICLES-INDEX-NEXT: "HasParagraphComments": true, +// JSON-VEHICLES-INDEX-NEXT: "ParagraphComments": [ +// JSON-VEHICLES-INDEX-NEXT: [ +// JSON-VEHICLES-INDEX-NEXT: { +// JSON-VEHICLES-INDEX-NEXT: "TextComment": "Comment 4" +// JSON-VEHICLES-INDEX-NEXT: } +// JSON-VEHICLES-INDEX-NEXT: ] +// JSON-VEHICLES-INDEX-NEXT: ] +// JSON-VEHICLES-INDEX-NEXT: }, +// JSON-VEHICLES-INDEX-NEXT: "End": true, +// JSON-VEHICLES-INDEX-NEXT: "HasEnumMemberComments": true, +// JSON-VEHICLES-INDEX-NEXT: "Name": "Hatchback", +// JSON-VEHICLES-INDEX-NEXT: "Value": "3" +// JSON-VEHICLES-INDEX-NEXT: } +// JSON-VEHICLES-INDEX-NEXT: ], +// JSON-VEHICLES-INDEX-NEXT: "Name": "Car", +// JSON-VEHICLES-INDEX-NEXT: "Namespace": [ +// JSON-VEHICLES-INDEX-NEXT: "Vehicles" +// JSON-VEHICLES-INDEX-NEXT: ], +// JSON-VEHICLES-INDEX-NEXT: "Scoped": false, +// JSON-VEHICLES-INDEX-NEXT: "USR": "{{([0-9A-F]{40})}}" +// JSON-VEHICLES-INDEX-NEXT: } diff --git a/clang-tools-extra/test/clang-doc/json/enum.cpp b/clang-tools-extra/test/clang-doc/json/enum.cpp deleted file mode 100644 index 442de78a03d7..000000000000 --- a/clang-tools-extra/test/clang-doc/json/enum.cpp +++ /dev/null @@ -1,201 +0,0 @@ -// RUN: rm -rf %t && mkdir -p %t -// RUN: clang-doc --output=%t --format=json --executor=standalone %s -// RUN: FileCheck %s < %t/json/GlobalNamespace/index.json --check-prefix=JSON-INDEX -// RUN: FileCheck %s < %t/json/Vehicles/index.json --check-prefix=JSON-VEHICLES-INDEX - -typedef unsigned char uint8_t; -/** - * @brief Specify the size - */ -enum Size : uint8_t { - /// A pearl. - /// Pearls are quite small. - /// - /// Pearls are used in jewelry. - Small, - - /// @brief A tennis ball. - Medium, - - /// A football. - Large -}; - -// JSON-INDEX-LABEL: { -// JSON-INDEX-NEXT: "DocumentationFileName": "index", -// JSON-INDEX-NEXT: "Enums": [ -// JSON-INDEX-NEXT: { -// JSON-INDEX-NEXT: "BaseType": { -// JSON-INDEX-NEXT: "Name": "uint8_t", -// JSON-INDEX-NEXT: "QualName": "uint8_t", -// JSON-INDEX-NEXT: "USR": "0000000000000000000000000000000000000000" -// JSON-INDEX-NEXT: }, -// JSON-INDEX-NEXT: "Description": { -// JSON-INDEX-NEXT: "BriefComments": [ -// JSON-INDEX-NEXT: [ -// JSON-INDEX-NEXT: { -// JSON-INDEX-NEXT: "TextComment": "Specify the size" -// JSON-INDEX-NEXT: } -// JSON-INDEX-NEXT: ] -// JSON-INDEX-NEXT: ], -// JSON-INDEX-NEXT: "HasBriefComments": true -// JSON-INDEX-NEXT: }, -// JSON-INDEX-NEXT: "End": true, -// JSON-INDEX-NEXT: "HasComments": true, -// JSON-INDEX-NEXT: "InfoType": "enum", -// JSON-INDEX-NEXT: "Location": { -// JSON-INDEX-NEXT: "Filename": "{{.*}}enum.cpp", -// JSON-INDEX-NEXT: "LineNumber": [[@LINE-38]] -// JSON-INDEX-NEXT: }, -// JSON-INDEX-NEXT: "Members": [ -// JSON-INDEX-NEXT: { -// JSON-INDEX-NEXT: "Description": { -// JSON-INDEX-NEXT: "HasParagraphComments": true, -// JSON-INDEX-NEXT: "ParagraphComments": [ -// JSON-INDEX-NEXT: [ -// JSON-INDEX-NEXT: { -// JSON-INDEX-NEXT: "TextComment": "A pearl." -// JSON-INDEX-NEXT: }, -// JSON-INDEX-NEXT: { -// JSON-INDEX-NEXT: "TextComment": "Pearls are quite small." -// JSON-INDEX-NEXT: } -// JSON-INDEX-NEXT: ], -// JSON-INDEX-NEXT: [ -// JSON-INDEX-NEXT: { -// JSON-INDEX-NEXT: "TextComment": "Pearls are used in jewelry." -// JSON-INDEX-NEXT: } -// JSON-INDEX-NEXT: ] -// JSON-INDEX-NEXT: ] -// JSON-INDEX-NEXT: }, -// JSON-INDEX-NEXT: "HasEnumMemberComments": true, -// JSON-INDEX-NEXT: "Name": "Small", -// JSON-INDEX-NEXT: "Value": "0" -// JSON-INDEX-NEXT: }, -// JSON-INDEX-NEXT: { -// JSON-INDEX-NEXT: "Description": { -// JSON-INDEX-NEXT: "BriefComments": [ -// JSON-INDEX-NEXT: [ -// JSON-INDEX-NEXT: { -// JSON-INDEX-NEXT: "TextComment": "A tennis ball." -// JSON-INDEX-NEXT: } -// JSON-INDEX-NEXT: ] -// JSON-INDEX-NEXT: ], -// JSON-INDEX-NEXT: "HasBriefComments": true -// JSON-INDEX-NEXT: }, -// JSON-INDEX-NEXT: "HasEnumMemberComments": true, -// JSON-INDEX-NEXT: "Name": "Medium", -// JSON-INDEX-NEXT: "Value": "1" -// JSON-INDEX-NEXT: }, -// JSON-INDEX-NEXT: { -// JSON-INDEX-NEXT: "Description": { -// JSON-INDEX-NEXT: "HasParagraphComments": true, -// JSON-INDEX-NEXT: "ParagraphComments": [ -// JSON-INDEX-NEXT: [ -// JSON-INDEX-NEXT: { -// JSON-INDEX-NEXT: "TextComment": "A football." -// JSON-INDEX-NEXT: } -// JSON-INDEX-NEXT: ] -// JSON-INDEX-NEXT: ] -// JSON-INDEX-NEXT: }, -// JSON-INDEX-NEXT: "End": true, -// JSON-INDEX-NEXT: "HasEnumMemberComments": true, -// JSON-INDEX-NEXT: "Name": "Large", -// JSON-INDEX-NEXT: "Value": "2" -// JSON-INDEX-NEXT: } -// JSON-INDEX-NEXT: ], -// JSON-INDEX-NEXT: "Name": "Size", -// JSON-INDEX-NEXT: "Scoped": false, -// JSON-INDEX-NEXT: "USR": "{{[0-9A-F]*}}" -// JSON-INDEX-NEXT: } - -namespace Vehicles { -/** - * @brief specify type of car - */ -enum Car { - Sedan, ///< Comment 1 - SUV, ///< Comment 2 - Pickup, - Hatchback ///< Comment 4 -}; -} // namespace Vehicles - -// JSON-VEHICLES-INDEX-LABEL: "DocumentationFileName": "index", -// JSON-VEHICLES-INDEX-NEXT: "Enums": [ -// JSON-VEHICLES-INDEX-NEXT: { -// JSON-VEHICLES-INDEX-NEXT: "Description": { -// JSON-VEHICLES-INDEX-NEXT: "BriefComments": [ -// JSON-VEHICLES-INDEX-NEXT: [ -// JSON-VEHICLES-INDEX-NEXT: { -// JSON-VEHICLES-INDEX-NEXT: "TextComment": "specify type of car" -// JSON-VEHICLES-INDEX-NEXT: } -// JSON-VEHICLES-INDEX-NEXT: ] -// JSON-VEHICLES-INDEX-NEXT: ], -// JSON-VEHICLES-INDEX-NEXT: "HasBriefComments": true -// JSON-VEHICLES-INDEX-NEXT: }, -// JSON-VEHICLES-INDEX-NEXT: "End": true, -// JSON-VEHICLES-INDEX-NEXT: "HasComments": true, -// JSON-VEHICLES-INDEX-NEXT: "InfoType": "enum", -// JSON-VEHICLES-INDEX-NEXT: "Location": { -// JSON-VEHICLES-INDEX-NEXT: "Filename": "{{.*}}enum.cpp", -// JSON-VEHICLES-INDEX-NEXT: "LineNumber": [[@LINE-26]] -// JSON-VEHICLES-INDEX-NEXT: }, -// JSON-VEHICLES-INDEX-NEXT: "Members": [ -// JSON-VEHICLES-INDEX-NEXT: { -// JSON-VEHICLES-INDEX-NEXT: "Description": { -// JSON-VEHICLES-INDEX-NEXT: "HasParagraphComments": true, -// JSON-VEHICLES-INDEX-NEXT: "ParagraphComments": [ -// JSON-VEHICLES-INDEX-NEXT: [ -// JSON-VEHICLES-INDEX-NEXT: { -// JSON-VEHICLES-INDEX-NEXT: "TextComment": "Comment 1" -// JSON-VEHICLES-INDEX-NEXT: } -// JSON-VEHICLES-INDEX-NEXT: ] -// JSON-VEHICLES-INDEX-NEXT: ] -// JSON-VEHICLES-INDEX-NEXT: }, -// JSON-VEHICLES-INDEX-NEXT: "HasEnumMemberComments": true, -// JSON-VEHICLES-INDEX-NEXT: "Name": "Sedan", -// JSON-VEHICLES-INDEX-NEXT: "Value": "0" -// JSON-VEHICLES-INDEX-NEXT: }, -// JSON-VEHICLES-INDEX-NEXT: { -// JSON-VEHICLES-INDEX-NEXT: "Description": { -// JSON-VEHICLES-INDEX-NEXT: "HasParagraphComments": true, -// JSON-VEHICLES-INDEX-NEXT: "ParagraphComments": [ -// JSON-VEHICLES-INDEX-NEXT: [ -// JSON-VEHICLES-INDEX-NEXT: { -// JSON-VEHICLES-INDEX-NEXT: "TextComment": "Comment 2" -// JSON-VEHICLES-INDEX-NEXT: } -// JSON-VEHICLES-INDEX-NEXT: ] -// JSON-VEHICLES-INDEX-NEXT: ] -// JSON-VEHICLES-INDEX-NEXT: }, -// JSON-VEHICLES-INDEX-NEXT: "HasEnumMemberComments": true, -// JSON-VEHICLES-INDEX-NEXT: "Name": "SUV", -// JSON-VEHICLES-INDEX-NEXT: "Value": "1" -// JSON-VEHICLES-INDEX-NEXT: }, -// JSON-VEHICLES-INDEX-NEXT: { -// JSON-VEHICLES-INDEX-NEXT: "Name": "Pickup", -// JSON-VEHICLES-INDEX-NEXT: "Value": "2" -// JSON-VEHICLES-INDEX-NEXT: }, -// JSON-VEHICLES-INDEX-NEXT: { -// JSON-VEHICLES-INDEX-NEXT: "Description": { -// JSON-VEHICLES-INDEX-NEXT: "HasParagraphComments": true, -// JSON-VEHICLES-INDEX-NEXT: "ParagraphComments": [ -// JSON-VEHICLES-INDEX-NEXT: [ -// JSON-VEHICLES-INDEX-NEXT: { -// JSON-VEHICLES-INDEX-NEXT: "TextComment": "Comment 4" -// JSON-VEHICLES-INDEX-NEXT: } -// JSON-VEHICLES-INDEX-NEXT: ] -// JSON-VEHICLES-INDEX-NEXT: ] -// JSON-VEHICLES-INDEX-NEXT: }, -// JSON-VEHICLES-INDEX-NEXT: "End": true, -// JSON-VEHICLES-INDEX-NEXT: "HasEnumMemberComments": true, -// JSON-VEHICLES-INDEX-NEXT: "Name": "Hatchback", -// JSON-VEHICLES-INDEX-NEXT: "Value": "3" -// JSON-VEHICLES-INDEX-NEXT: } -// JSON-VEHICLES-INDEX-NEXT: ], -// JSON-VEHICLES-INDEX-NEXT: "Name": "Car", -// JSON-VEHICLES-INDEX-NEXT: "Namespace": [ -// JSON-VEHICLES-INDEX-NEXT: "Vehicles" -// JSON-VEHICLES-INDEX-NEXT: ], -// JSON-VEHICLES-INDEX-NEXT: "Scoped": false, -// JSON-VEHICLES-INDEX-NEXT: "USR": "{{[0-9A-F]*}}" -// JSON-VEHICLES-INDEX-NEXT: }