From 52b7dbd5c65879dfe9cff953028f9c104736dea5 Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Fri, 29 Jan 2016 15:12:36 +0300 Subject: [PATCH] copy nullability for standart setter with one parameter only EA-78440 - AIOOBE: GenerateMembersUtil.generatePrototype --- .../codeInsight/generation/GenerateMembersUtil.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/java/java-impl/src/com/intellij/codeInsight/generation/GenerateMembersUtil.java b/java/java-impl/src/com/intellij/codeInsight/generation/GenerateMembersUtil.java index 0900dfac9e1c..16d8778e05b7 100644 --- a/java/java-impl/src/com/intellij/codeInsight/generation/GenerateMembersUtil.java +++ b/java/java-impl/src/com/intellij/codeInsight/generation/GenerateMembersUtil.java @@ -686,8 +686,17 @@ public class GenerateMembersUtil { } result = (PsiMethod)CodeStyleManager.getInstance(project).reformat(result); - PsiModifierListOwner annotationTarget = isGetter ? result : result.getParameterList().getParameters()[0]; - NullableNotNullManager.getInstance(project).copyNullableOrNotNullAnnotation(field, annotationTarget); + PsiModifierListOwner annotationTarget; + if (isGetter) { + annotationTarget = result; + } + else { + final PsiParameter[] parameters = result.getParameterList().getParameters(); + annotationTarget = parameters.length == 1 ? parameters[0] : null; + } + if (annotationTarget != null) { + NullableNotNullManager.getInstance(project).copyNullableOrNotNullAnnotation(field, annotationTarget); + } return generatePrototype(field, result); }