diff --git a/Examples/test-suite/java/doxygen_parsing_enums_simple_runme.java b/Examples/test-suite/java/doxygen_parsing_enums_simple_runme.java index ca640b3f0..ee422e2c4 100644 --- a/Examples/test-suite/java/doxygen_parsing_enums_simple_runme.java +++ b/Examples/test-suite/java/doxygen_parsing_enums_simple_runme.java @@ -64,7 +64,6 @@ public class doxygen_parsing_enums_simple_runme { com.sun.tools.javadoc.Main.execute("doxygen_parsing_enums_simple runtime test", "doxygen_parsing_enums_simple_runme", new String[]{"-quiet", "doxygen_parsing_enums_simple"}); - wantedComments.put("E_TEST", " Test enumeration \n"); wantedComments.put("E_TEST_ONE", " the first item \n"); wantedComments.put("E_TEST_TWO", " the second \n"); diff --git a/Source/Modules/java.cxx b/Source/Modules/java.cxx index 2c6e1b08c..71de5380c 100644 --- a/Source/Modules/java.cxx +++ b/Source/Modules/java.cxx @@ -1279,8 +1279,12 @@ public: Replaceall(enum_code, "$static ", ""); Delete(scope); } else { - // Wrap C++ enum with integers - just indicate start of enum with a comment, no comment for anonymous enums of any sort - if (symname && !Getattr(n, "unnamedinstance")) + //translate and write javadoc comment for the enum itself if flagged + if (doxygen && doxygenTranslator->hasDocumentation(n)){ + Printf(stdout, "Warning: Not emitting comment for %s, not supported in simple enums mode.\n", + Getattr(n, "unnamedinstance") ? "unnamed enum" : symname); + } + else if (symname && !Getattr(n, "unnamedinstance")) Printf(constants_code, " // %s \n", symname); } @@ -1337,7 +1341,18 @@ public: } Printv(f_enum, typemapLookup(n, "javaimports", typemap_lookup_type, WARN_NONE), // Import statements - "\n", enum_code, "\n", NIL); + "\n\n", NIL); + + //translate and write javadoc comment if flagged + if (doxygen && doxygenTranslator->hasDocumentation(n)){ + String *doxygen_comments=doxygenTranslator->getDocumentation(n); + if(comment_creation_chatter) + Printf(f_enum, "/* This was generated from enumDeclaration() */"); + Printf(f_enum, Char(doxygen_comments)); + Delete(doxygen_comments); + } + + Printv(f_enum, enum_code, "\n", NIL); Printf(f_enum, "\n"); Close(f_enum);