GrAnnotationMemberValue (PsiAnnotationMemberValue value) { final StringBuilder buffer = new StringBuilder(); buffer.append("@A("); generateText(value, buffer); buffer.append(")"); String text = buffer.toString(); try { GroovyPsiElementFactory factory = GroovyPsiElementFactory.getInstance(value.getProject()); return factory.createAnnotationFromText(text).getParameterList().getAttributes()[0].getValue(); } catch (IncorrectOperationException | ArrayIndexOutOfBoundsException e) { LOG.error("Text: \"" + text + "\"", e); return null; } }