aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/squareup/javapoet/MethodSpec.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/squareup/javapoet/MethodSpec.java')
-rw-r--r--src/main/java/com/squareup/javapoet/MethodSpec.java16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/main/java/com/squareup/javapoet/MethodSpec.java b/src/main/java/com/squareup/javapoet/MethodSpec.java
index 52b41e7..0bfdd1b 100644
--- a/src/main/java/com/squareup/javapoet/MethodSpec.java
+++ b/src/main/java/com/squareup/javapoet/MethodSpec.java
@@ -82,7 +82,7 @@ public final class MethodSpec {
void emit(CodeWriter codeWriter, String enclosingName, Set<Modifier> implicitModifiers)
throws IOException {
- codeWriter.emitJavadoc(javadoc);
+ codeWriter.emitJavadoc(javadocWithParameters());
codeWriter.emitAnnotations(annotations, false);
codeWriter.emitModifiers(modifiers, implicitModifiers);
@@ -140,6 +140,20 @@ public final class MethodSpec {
codeWriter.popTypeVariables(typeVariables);
}
+ private CodeBlock javadocWithParameters() {
+ CodeBlock.Builder builder = javadoc.toBuilder();
+ boolean emitTagNewline = true;
+ for (ParameterSpec parameterSpec : parameters) {
+ if (!parameterSpec.javadoc.isEmpty()) {
+ // Emit a new line before @param section only if the method javadoc is present.
+ if (emitTagNewline && !javadoc.isEmpty()) builder.add("\n");
+ emitTagNewline = false;
+ builder.add("@param $L $L", parameterSpec.name, parameterSpec.javadoc);
+ }
+ }
+ return builder.build();
+ }
+
public boolean hasModifier(Modifier modifier) {
return modifiers.contains(modifier);
}