diff options
author | Adam Lesinski <adamlesinski@google.com> | 2016-04-04 22:25:55 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2016-04-04 22:25:56 +0000 |
commit | b12c2601f475ee127d9ab333e5b8c6cd9a9967e4 (patch) | |
tree | 0107e59e623c9ee47278fc5996e7c512195a65ce /tools/aapt2/java/JavaClassGenerator.cpp | |
parent | bf8ea13069aec021739b9919a27741f1722466f6 (diff) | |
parent | 3524a23edb88f0e67352d55ac6a2919f1edf7b30 (diff) |
Merge "AAPT2: Add option to add JavaDoc annotations to Java classes" into nyc-dev
Diffstat (limited to 'tools/aapt2/java/JavaClassGenerator.cpp')
-rw-r--r-- | tools/aapt2/java/JavaClassGenerator.cpp | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/tools/aapt2/java/JavaClassGenerator.cpp b/tools/aapt2/java/JavaClassGenerator.cpp index 2d076c2d5a66..092bab241bba 100644 --- a/tools/aapt2/java/JavaClassGenerator.cpp +++ b/tools/aapt2/java/JavaClassGenerator.cpp @@ -437,6 +437,15 @@ bool JavaClassGenerator::generate(const StringPiece16& packageNameToGenerate, st return generate(packageNameToGenerate, packageNameToGenerate, out); } +static void appendJavaDocAnnotations(const std::vector<std::string>& annotations, + AnnotationProcessor* processor) { + for (const std::string& annotation : annotations) { + std::string properAnnotation = "@"; + properAnnotation += annotation; + processor->appendComment(properAnnotation); + } +} + bool JavaClassGenerator::generate(const StringPiece16& packageNameToGenerate, const StringPiece16& outPackageName, std::ostream* out) { @@ -477,14 +486,17 @@ bool JavaClassGenerator::generate(const StringPiece16& packageNameToGenerate, mOptions.types == JavaClassGeneratorOptions::SymbolTypes::kPublic) { // When generating a public R class, we don't want Styleable to be part of the API. // It is only emitted for documentation purposes. - AnnotationProcessor* processor = classDef->getCommentBuilder(); - processor->appendComment("@doconly"); + classDef->getCommentBuilder()->appendComment("@doconly"); } + appendJavaDocAnnotations(mOptions.javadocAnnotations, classDef->getCommentBuilder()); + rClass.addMember(std::move(classDef)); } } + appendJavaDocAnnotations(mOptions.javadocAnnotations, rClass.getCommentBuilder()); + if (!ClassDefinition::writeJavaFile(&rClass, util::utf16ToUtf8(outPackageName), mOptions.useFinal, out)) { return false; @@ -494,6 +506,4 @@ bool JavaClassGenerator::generate(const StringPiece16& packageNameToGenerate, return true; } - - } // namespace aapt |