From 89d4f6f4225651284a2fddcbfbe7bc7509ea7610 Mon Sep 17 00:00:00 2001 From: "Roman.Ivanov" Date: Tue, 17 Dec 2019 17:44:40 +0700 Subject: [PATCH] RecordAugmentProvider: fix possible IOOBE GitOrigin-RevId: eb1c889150c81f53e303a38c8ca7a6c21f21122e --- .../src/com/intellij/psi/impl/RecordAugmentProvider.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/RecordAugmentProvider.java b/java/java-psi-impl/src/com/intellij/psi/impl/RecordAugmentProvider.java index aba3630137f1..cd65550b498f 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/RecordAugmentProvider.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/RecordAugmentProvider.java @@ -70,7 +70,9 @@ public class RecordAugmentProvider extends PsiAugmentProvider { String typeText = getTypeText(component, RecordAugmentProvider::hasTargetApplicableForField); if (typeText == null) return null; PsiClass aClass = factory.createClassFromText("private final " + typeText + " " + name + ";", null); - return aClass.getFields()[0]; + PsiField[] fields = aClass.getFields(); + if (fields.length != 1) return null; + return fields[0]; } @Nullable @@ -80,7 +82,9 @@ public class RecordAugmentProvider extends PsiAugmentProvider { String typeText = getTypeText(component, RecordAugmentProvider::hasTargetApplicableForMethod); if (typeText == null) return null; PsiClass aClass = factory.createClassFromText("public " + typeText + " " + name + "(){}", null); - return aClass.getMethods()[0]; + PsiMethod[] methods = aClass.getMethods(); + if (methods.length != 1) return null; + return methods[0]; } @Nullable