From 605beba3829678329e9cd6d64cc01dbe8764f1b0 Mon Sep 17 00:00:00 2001 From: Maxim Medvedev Date: Thu, 1 Apr 2010 17:48:03 +0400 Subject: [PATCH] String index out of range: 0: String index out of range: 0 java.lang.StringIndexOutOfBoundsException: String index out of range: 0 --- .../lang/psi/impl/GroovyPsiElementFactoryImpl.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/GroovyPsiElementFactoryImpl.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/GroovyPsiElementFactoryImpl.java index e674c3d483b1..2b7e14dd29f8 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/GroovyPsiElementFactoryImpl.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/GroovyPsiElementFactoryImpl.java @@ -122,12 +122,18 @@ public class GroovyPsiElementFactoryImpl extends GroovyPsiElementFactory { final String typeText = getTypeText(type); int lastDot = typeText.lastIndexOf('.'); int idx = 0 < lastDot && lastDot < typeText.length() - 1 ? lastDot + 1 : 0; - char c = typeText.charAt(idx); - if (!Character.isLetter(c) || Character.isLowerCase(c) && - !GroovyNamesUtil.isKeyword(typeText)) { //primitive type + if (typeText.length() == 0) { text.append("def "); } - text.append(typeText).append(" "); + else { + char c = typeText.charAt(idx); + if (!Character.isLetter(c) || Character.isLowerCase(c) && !GroovyNamesUtil.isKeyword(typeText)) { //primitive type + text.append("def "); + } + else { + text.append(typeText).append(" "); + } + } } else { text.append("def "); }