aboutsummaryrefslogtreecommitdiff
path: root/src/core/lombok/javac/handlers/HandleBuilder.java
diff options
context:
space:
mode:
authorReinier Zwitserloot <r.zwitserloot@projectlombok.org>2019-01-29 01:33:40 +0100
committerReinier Zwitserloot <r.zwitserloot@projectlombok.org>2019-01-29 01:34:22 +0100
commit3d0beec38d8d19e8c90df56d7f4297d1c5f332ee (patch)
tree74f92437acdc3ccfd6a3b5c6f57f596d9216821f /src/core/lombok/javac/handlers/HandleBuilder.java
parent960811364b792654cd154787758fbb16f2600f09 (diff)
downloadlombok-3d0beec38d8d19e8c90df56d7f4297d1c5f332ee.tar.gz
lombok-3d0beec38d8d19e8c90df56d7f4297d1c5f332ee.tar.bz2
lombok-3d0beec38d8d19e8c90df56d7f4297d1c5f332ee.zip
[fixes #2011] If you have a field named `build` or `toString`, and you generate a builder, that builder wouldn’t make the build or toString methods because it thinks the builder-setter methods it just generated that so happen to have that name indicate you don’t want lombok to do that.
You really shouldn’t name any fields builder or toString, though.
Diffstat (limited to 'src/core/lombok/javac/handlers/HandleBuilder.java')
-rw-r--r--src/core/lombok/javac/handlers/HandleBuilder.java16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/core/lombok/javac/handlers/HandleBuilder.java b/src/core/lombok/javac/handlers/HandleBuilder.java
index 081123aa..c1e93547 100644
--- a/src/core/lombok/javac/handlers/HandleBuilder.java
+++ b/src/core/lombok/javac/handlers/HandleBuilder.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2013-2018 The Project Lombok Authors.
+ * Copyright (C) 2013-2019 The Project Lombok Authors.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -405,11 +405,15 @@ public class HandleBuilder extends JavacAnnotationHandler<Builder> {
makeSetterMethodsForBuilder(builderType, bfd, annotationNode, fluent, chain);
}
- if (methodExists(buildMethodName, builderType, -1) == MemberExistsResult.NOT_EXISTS) {
- JCMethodDecl md = generateBuildMethod(tdParent, isStatic, buildMethodName, nameOfBuilderMethod, returnType, builderFields, builderType, thrownExceptions, ast, addCleaning);
- if (md != null) {
- injectMethod(builderType, md);
- recursiveSetGeneratedBy(md, ast, annotationNode.getContext());
+ {
+ MemberExistsResult methodExists = methodExists(builderMethodName, builderType, -1);
+ if (methodExists == MemberExistsResult.EXISTS_BY_LOMBOK) methodExists = methodExists(buildMethodName, builderType, 0);
+ if (methodExists == MemberExistsResult.NOT_EXISTS) {
+ JCMethodDecl md = generateBuildMethod(tdParent, isStatic, buildMethodName, nameOfBuilderMethod, returnType, builderFields, builderType, thrownExceptions, ast, addCleaning);
+ if (md != null) {
+ injectMethod(builderType, md);
+ recursiveSetGeneratedBy(md, ast, annotationNode.getContext());
+ }
}
}