From ca3f1e3b5f53c376ba70054abe654a78be40db29 Mon Sep 17 00:00:00 2001 From: Maxim Medvedev Date: Sat, 26 Dec 2009 18:55:42 +0300 Subject: [PATCH] Exception in 'Remove unnecessary braces in GString injection' --- .../plugins/groovy/lang/psi/util/GrStringUtil.java | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/util/GrStringUtil.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/util/GrStringUtil.java index cef2484d22..5e9f72b31b 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/util/GrStringUtil.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/util/GrStringUtil.java @@ -223,11 +223,22 @@ public class GrStringUtil { return true; } final GroovyPsiElementFactory elementFactory = GroovyPsiElementFactory.getInstance(element.getProject()); - final GrExpression gString = elementFactory.createExpressionFromText("\"$" + statements[0].getText() + nextChar + '"'); - final GrReferenceExpression refExpr = (GrReferenceExpression)statements[0]; - final PsiElement refExprCopy = ((GrStringInjection)gString.getChildren()[0]).getReferenceExpression(); + final GrExpression gString; + try { + gString = elementFactory.createExpressionFromText("\"$" + statements[0].getText() + nextChar + '"'); + } + catch (Exception e) { + return false; + } + if (!(gString instanceof GrString)) return false; + + final PsiElement child = gString.getChildren()[0]; + if (!(child instanceof GrStringInjection)) return false; + + final PsiElement refExprCopy = ((GrStringInjection)child).getReferenceExpression(); if (!(refExprCopy instanceof GrReferenceExpression)) return false; + final GrReferenceExpression refExpr = (GrReferenceExpression)statements[0]; return Comparing.equal(refExpr.getName(), ((GrReferenceExpression)refExprCopy).getName()); } -- 2.11.4.GIT