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:For specifying RGB colors
// 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:enum class Shapes
@@ -173,37 +419,15 @@ enum class Shapes {
// HTML-INDEX-NEXT: Shape Types
// 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.Specify the size
// 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.Very long number
// 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:enum ColorUserSpecified
+// HTML-INDEX-NEXT: | Name | +// HTML-INDEX-NEXT:Value | +// HTML-INDEX-NEXT:
|---|---|
| RedUserSpecified | +// HTML-INDEX-NEXT:'A' | +// HTML-INDEX-NEXT:
| GreenUserSpecified | +// HTML-INDEX-NEXT:2 | +// HTML-INDEX-NEXT:
| BlueUserSpecified | +// HTML-INDEX-NEXT:'C' | +// HTML-INDEX-NEXT:
File permission flags
// HTML-PERM-NEXT:Defined at line [[@LINE-64]] of file {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp
-// HTML-PERM-NEXT: -// HTML-PERM-NEXT: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: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:enum Car
@@ -541,8 +735,18 @@ enum Car {
// HTML-VEHICLES-NEXT: specify type of car
// 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:enum ColorUserSpecified
-// HTML-INDEX-NEXT: | Name | -// HTML-INDEX-NEXT:Value | -// HTML-INDEX-NEXT:
|---|---|
| RedUserSpecified | -// HTML-INDEX-NEXT:'A' | -// HTML-INDEX-NEXT:
| GreenUserSpecified | -// HTML-INDEX-NEXT:2 | -// HTML-INDEX-NEXT:
| BlueUserSpecified | -// HTML-INDEX-NEXT:'C' | -// HTML-INDEX-NEXT:
Defined at line [[@LINE-37]] of file {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp
-// HTML-INDEX-NEXT: