summaryrefslogtreecommitdiff
path: root/tools/aapt2/java/JavaClassGenerator.cpp
diff options
context:
space:
mode:
authorAdam Lesinski <adamlesinski@google.com>2016-04-04 22:25:55 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2016-04-04 22:25:56 +0000
commitb12c2601f475ee127d9ab333e5b8c6cd9a9967e4 (patch)
tree0107e59e623c9ee47278fc5996e7c512195a65ce /tools/aapt2/java/JavaClassGenerator.cpp
parentbf8ea13069aec021739b9919a27741f1722466f6 (diff)
parent3524a23edb88f0e67352d55ac6a2919f1edf7b30 (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.cpp18
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