From 00ce9a72e6625f685da485b3338a9f52ce4227e5 Mon Sep 17 00:00:00 2001 From: Reinier Zwitserloot Date: Fri, 20 Jan 2017 00:26:14 +0100 Subject: [PATCH] =?UTF-8?q?If=20field=20resolution=20isn=E2=80=99t=20avail?= =?UTF-8?q?able,=20don=E2=80=99t=20try=20to=20make=20a=20symbol=20for=20th?= =?UTF-8?q?e=20constructor=20(typemirrors).?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/core/lombok/javac/handlers/HandleConstructor.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/core/lombok/javac/handlers/HandleConstructor.java b/src/core/lombok/javac/handlers/HandleConstructor.java index 827dfcb9..ef4ba088 100644 --- a/src/core/lombok/javac/handlers/HandleConstructor.java +++ b/src/core/lombok/javac/handlers/HandleConstructor.java @@ -230,8 +230,15 @@ public class HandleConstructor { JCMethodDecl constr = createConstructor(staticConstrRequired ? AccessLevel.PRIVATE : level, onConstructor, typeNode, fields, allToDefault, suppressConstructorProperties, source); ListBuffer argTypes = new ListBuffer(); - for (JavacNode fieldNode : fields) argTypes.append(getMirrorForFieldType(fieldNode)); - List argTypes_ = argTypes.toList(); + for (JavacNode fieldNode : fields) { + Type mirror = getMirrorForFieldType(fieldNode); + if (mirror == null) { + argTypes = null; + break; + } + argTypes.append(mirror); + } + List argTypes_ = argTypes == null ? null : argTypes.toList(); injectMethod(typeNode, constr, argTypes_, Javac.createVoidType(typeNode.getSymbolTable(), CTC_VOID)); if (staticConstrRequired) { ClassSymbol sym = ((JCClassDecl) typeNode.get()).sym;