aboutsummaryrefslogtreecommitdiff
path: root/src/core/lombok/javac
diff options
context:
space:
mode:
authorRawi01 <Rawi01@users.noreply.github.com>2020-12-21 17:07:22 +0100
committerRawi01 <Rawi01@users.noreply.github.com>2020-12-21 17:16:33 +0100
commit624c8a5a52d14ba1a6b690809f9ada15f71e15f5 (patch)
tree4ecef644d47fd32ef8cdbd66207f30f997362cc9 /src/core/lombok/javac
parent626c33255bbac12ddab72dda7de2447132f29ae4 (diff)
downloadlombok-624c8a5a52d14ba1a6b690809f9ada15f71e15f5.tar.gz
lombok-624c8a5a52d14ba1a6b690809f9ada15f71e15f5.tar.bz2
lombok-624c8a5a52d14ba1a6b690809f9ada15f71e15f5.zip
[fixes #2682] Fix NPE, always add Javadoc return statement
Diffstat (limited to 'src/core/lombok/javac')
-rw-r--r--src/core/lombok/javac/handlers/HandleBuilder.java14
-rw-r--r--src/core/lombok/javac/handlers/JavacHandlerUtil.java6
2 files changed, 6 insertions, 14 deletions
diff --git a/src/core/lombok/javac/handlers/HandleBuilder.java b/src/core/lombok/javac/handlers/HandleBuilder.java
index 40b59183..867d6889 100644
--- a/src/core/lombok/javac/handlers/HandleBuilder.java
+++ b/src/core/lombok/javac/handlers/HandleBuilder.java
@@ -27,8 +27,6 @@ import static lombok.javac.JavacTreeMaker.TypeTag.typeTag;
import static lombok.javac.handlers.JavacHandlerUtil.*;
import java.util.ArrayList;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
import javax.lang.model.element.Modifier;
@@ -927,16 +925,10 @@ public class HandleBuilder extends JavacAnnotationHandler<Builder> {
try {
JCCompilationUnit cu = ((JCCompilationUnit) from.top().get());
String methodComment = Javac.getDocComment(cu, from.get());
- if (methodComment == null) return;
-
- Pattern pattern = Pattern.compile("@param " + param + " (\\S|\\s)+?(?=^ ?@)", Pattern.MULTILINE | Pattern.CASE_INSENSITIVE);
- Matcher matcher = pattern.matcher(methodComment);
- if (matcher.find()) {
- String newJavadoc = addReturnsThisIfNeeded(matcher.group());
- Javac.setDocComment(cu, to, newJavadoc);
- }
+ String newJavadoc = addReturnsThisIfNeeded(getParamJavadoc(methodComment, param));
+ Javac.setDocComment(cu, to, newJavadoc);
} catch (Exception ignore) {}
- }
+ }
public JavacNode makeBuilderClass(BuilderJob job) {
//boolean isStatic, JavacNode source, JavacNode tdParent, String builderClassName, List<JCTypeParameter> typeParams, JCAnnotation ast, AccessLevel access) {
diff --git a/src/core/lombok/javac/handlers/JavacHandlerUtil.java b/src/core/lombok/javac/handlers/JavacHandlerUtil.java
index df1eb438..fbde9568 100644
--- a/src/core/lombok/javac/handlers/JavacHandlerUtil.java
+++ b/src/core/lombok/javac/handlers/JavacHandlerUtil.java
@@ -2120,10 +2120,10 @@ public class JavacHandlerUtil {
try {
JCCompilationUnit cu = ((JCCompilationUnit) from.top().get());
String newJavadoc = copyMode.apply(cu, from);
- if (newJavadoc != null) {
- if (forceAddReturn) newJavadoc = addReturnsThisIfNeeded(newJavadoc);
- Javac.setDocComment(cu, to, newJavadoc);
+ if (forceAddReturn) {
+ newJavadoc = addReturnsThisIfNeeded(newJavadoc);
}
+ Javac.setDocComment(cu, to, newJavadoc);
} catch (Exception ignore) {}
}