mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
NlsInfo#fromAnnotation: fixed for Kotlin
GitOrigin-RevId: b7b409d9d81486d02c55707b408dc173964b2618
This commit is contained in:
committed by
intellij-monorepo-bot
parent
39e6881eff
commit
a431d5458e
@@ -12,6 +12,7 @@ import com.intellij.util.ObjectUtils;
|
||||
import com.intellij.util.ThreeState;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import gnu.trove.THashSet;
|
||||
import kotlin.Pair;
|
||||
import org.jetbrains.annotations.Nls;
|
||||
import org.jetbrains.annotations.Nls.Capitalization;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
@@ -407,8 +408,19 @@ public abstract class NlsInfo {
|
||||
}
|
||||
if (annotation.hasQualifiedName(AnnotationUtil.NLS)) {
|
||||
PsiAnnotationMemberValue value = annotation.findAttributeValue("capitalization");
|
||||
String name = null;
|
||||
if (value instanceof PsiReferenceExpression) {
|
||||
String name = ((PsiReferenceExpression)value).getReferenceName();
|
||||
// Java plugin returns reference for enum constant in annotation value
|
||||
name = ((PsiReferenceExpression)value).getReferenceName();
|
||||
}
|
||||
else if (value instanceof PsiLiteralExpression) {
|
||||
// But Kotlin plugin returns kotlin.Pair (enumClass : ClassId, constantName : Name) for enum constant in annotation value!
|
||||
Pair<?, ?> pair = ObjectUtils.tryCast(((PsiLiteralExpression)value).getValue(), Pair.class);
|
||||
if (pair != null && pair.getSecond() != null) {
|
||||
name = pair.getSecond().toString();
|
||||
}
|
||||
}
|
||||
if (name != null) {
|
||||
if (Capitalization.Title.name().equals(name)) {
|
||||
return Localized.NLS_TITLE;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user