[java] Fix getting value from return expression after enabling uinjectionhost

#KTIJ-27448

GitOrigin-RevId: 81e1429232d0ac92af857274e0becc271d349bbf
This commit is contained in:
Bart van Helvert
2023-10-30 15:13:07 +01:00
committed by intellij-monorepo-bot
parent a106f72138
commit e4bffbaa29

View File

@@ -19,6 +19,7 @@ import org.jetbrains.annotations.Contract;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.uast.*;
import org.jetbrains.uast.expressions.UInjectionHost;
import java.util.*;
import java.util.function.Predicate;
@@ -693,6 +694,9 @@ public class RefMethodImpl extends RefJavaElementImpl implements RefMethod {
if (expression instanceof ULiteralExpression literalExpression) {
return String.valueOf(literalExpression.getValue());
}
else if (expression instanceof UInjectionHost injectionHost) {
return injectionHost.evaluateToString();
}
else if (expression instanceof UResolvable resolvable) {
UElement resolved = UResolvableKt.resolveToUElement(resolvable);
if (resolved instanceof UField uField && uField.isStatic() && uField.isFinal()) {