DevKit: LanguageResolvingUtil use StringExpressionHelper #2 clion/142.3052
authorYann Cébron <yann.cebron@jetbrains.com>
Mon, 6 Jul 2015 19:26:00 +0000 (21:26 +0200)
committerYann Cébron <yann.cebron@jetbrains.com>
Mon, 6 Jul 2015 19:26:00 +0000 (21:26 +0200)
plugins/devkit/src/dom/impl/LanguageResolvingUtil.java

index b5b2e98f201b19df368a02f2926348e8846d60f4..443120115a1f6532abb2ea661f2f82f29cf2b0dd 100644 (file)
@@ -164,9 +164,7 @@ class LanguageResolvingUtil {
       return null;
     }
 
-    final PsiMethod method = methods[0];
-    final Pair<PsiElement, String> pair = StringExpressionHelper.evaluateConstantExpression(method);
-    return pair != null ? pair.second : null;
+    return getStringConstantExpression(methods[0]);
   }
 
   private static String computeConstantSuperCtorCallParameter(PsiClass languagePsiClass, int index) {
@@ -204,15 +202,14 @@ class LanguageResolvingUtil {
     if (argumentExpressions.length < index + 1) {
       return null;
     }
-    return computeConstant(languagePsiClass, argumentExpressions[index]);
-  }
 
-  private static String computeConstant(PsiClass languagePsiClass, PsiExpression returnValue) {
-    final PsiConstantEvaluationHelper constantEvaluationHelper =
-      JavaPsiFacade.getInstance(languagePsiClass.getProject()).getConstantEvaluationHelper();
+    return getStringConstantExpression(argumentExpressions[index]);
+  }
 
-    final Object constant = constantEvaluationHelper.computeConstantExpression(returnValue);
-    return constant instanceof String ? ((String)constant) : null;
+  @Nullable
+  private static String getStringConstantExpression(PsiElement psiElement) {
+    final Pair<PsiElement, String> pair = StringExpressionHelper.evaluateConstantExpression(psiElement);
+    return pair != null ? pair.second : null;
   }
 
   @Nullable