@@ -140,7 +140,11 @@ func buildSharedCCPPTypesHeader(component ComponentDefinition, w LanguageWriter,
140140 w .Writeln ("#define %s_SUCCESS 0" , strings .ToUpper (NameSpace ));
141141 for i := 0 ; i < len (component .Errors .Errors ); i ++ {
142142 errorcode := component .Errors .Errors [i ];
143- w .Writeln ("#define %s_ERROR_%s %d" , strings .ToUpper (NameSpace ), errorcode .Name , errorcode .Code );
143+ if (errorcode .Description != "" ) {
144+ w .Writeln ("#define %s_ERROR_%s %d /** %s */" , strings .ToUpper (NameSpace ), errorcode .Name , errorcode .Code , errorcode .Description );
145+ } else {
146+ w .Writeln ("#define %s_ERROR_%s %d" , strings .ToUpper (NameSpace ), errorcode .Name , errorcode .Code );
147+ }
144148 }
145149
146150 w .Writeln ("" );
@@ -511,8 +515,18 @@ func buildCCPPEnums(component ComponentDefinition, w LanguageWriter, NameSpace s
511515 for i := 0 ; i < len (component .Enums ); i ++ {
512516 enum := component .Enums [i ];
513517 if (useCPPTypes ) {
518+ if (enum .Description != "" ) {
519+ w .Writeln ("/**" );
520+ w .Writeln ("* enum class e%s - %s" , enum .Name , enum .Description );
521+ w .Writeln ("*/" );
522+ }
514523 w .Writeln ("enum class e%s : %s_int32 {" , enum .Name , NameSpace );
515524 } else {
525+ if (enum .Description != "" ) {
526+ w .Writeln ("/**" );
527+ w .Writeln ("* enum e%s%s - %s" , NameSpace , enum .Name , enum .Description );
528+ w .Writeln ("*/" );
529+ }
516530 w .Writeln ("typedef enum e%s%s {" , NameSpace , enum .Name );
517531 }
518532
@@ -523,9 +537,17 @@ func buildCCPPEnums(component ComponentDefinition, w LanguageWriter, NameSpace s
523537 }
524538 option := enum .Options [j ];
525539 if (useCPPTypes ) {
526- w .Writeln (" %s = %d%s" , option .Name , option .Value , comma );
540+ if (option .Description != "" ) {
541+ w .Writeln (" %s = %d%s /** %s */" , option .Name , option .Value , comma , option .Description );
542+ } else {
543+ w .Writeln (" %s = %d%s" , option .Name , option .Value , comma );
544+ }
527545 } else {
528- w .Writeln (" e%s%s = %d%s" , enum .Name , option .Name , option .Value , comma );
546+ if (option .Description != "" ) {
547+ w .Writeln (" e%s%s = %d%s /** %s */" , enum .Name , option .Name , option .Value , comma , option .Description );
548+ } else {
549+ w .Writeln (" e%s%s = %d%s" , enum .Name , option .Name , option .Value , comma );
550+ }
529551 }
530552 }
531553 if (useCPPTypes ) {
0 commit comments