aboutsummaryrefslogtreecommitdiff
path: root/src/core/lombok/eclipse/handlers
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/eclipse/handlers
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/eclipse/handlers')
-rw-r--r--src/core/lombok/eclipse/handlers/EclipseHandlerUtil.java9
-rwxr-xr-xsrc/core/lombok/eclipse/handlers/HandleBuilder.java12
2 files changed, 7 insertions, 14 deletions
diff --git a/src/core/lombok/eclipse/handlers/EclipseHandlerUtil.java b/src/core/lombok/eclipse/handlers/EclipseHandlerUtil.java
index a7afd996..053b102e 100644
--- a/src/core/lombok/eclipse/handlers/EclipseHandlerUtil.java
+++ b/src/core/lombok/eclipse/handlers/EclipseHandlerUtil.java
@@ -2645,8 +2645,9 @@ public class EclipseHandlerUtil {
}
public static void setDocComment(CompilationUnitDeclaration cud, TypeDeclaration type, ASTNode node, String doc) {
- Map<String, String> docs = EcjAugments.CompilationUnit_javadoc.setIfAbsent(cud.compilationResult.compilationUnit, new HashMap<String, String>());
+ if (doc == null) return;
+ Map<String, String> docs = EcjAugments.CompilationUnit_javadoc.setIfAbsent(cud.compilationResult.compilationUnit, new HashMap<String, String>());
if (node instanceof AbstractMethodDeclaration) {
AbstractMethodDeclaration methodDeclaration = (AbstractMethodDeclaration) node;
String signature = getSignature(type, methodDeclaration);
@@ -2759,10 +2760,10 @@ public class EclipseHandlerUtil {
try {
CompilationUnitDeclaration cud = ((CompilationUnitDeclaration) from.top().get());
String newJavadoc = copyMode.apply(cud, from);
- if (newJavadoc != null) {
- if (forceAddReturn) newJavadoc = addReturnsThisIfNeeded(newJavadoc);
- setDocComment(cud, type, to, newJavadoc);
+ if (forceAddReturn) {
+ newJavadoc = addReturnsThisIfNeeded(newJavadoc);
}
+ setDocComment(cud, type, to, newJavadoc);
} catch (Exception ignore) {}
}
}
diff --git a/src/core/lombok/eclipse/handlers/HandleBuilder.java b/src/core/lombok/eclipse/handlers/HandleBuilder.java
index f8eb9ed0..189c5a69 100755
--- a/src/core/lombok/eclipse/handlers/HandleBuilder.java
+++ b/src/core/lombok/eclipse/handlers/HandleBuilder.java
@@ -29,8 +29,6 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
import org.eclipse.jdt.internal.compiler.ast.ASTNode;
import org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration;
@@ -1045,14 +1043,8 @@ public class HandleBuilder extends EclipseAnnotationHandler<Builder> {
try {
CompilationUnitDeclaration cud = (CompilationUnitDeclaration) from.top().get();
String methodComment = getDocComment(cud, 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());
- setDocComment(cud, type, to, newJavadoc);
- }
+ String newJavadoc = addReturnsThisIfNeeded(getParamJavadoc(methodComment, param));
+ setDocComment(cud, type, to, newJavadoc);
} catch (Exception ignore) {}
}