mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-115428 Support "Class<?>" type in spring XML
This commit is contained in:
+13
-3
@@ -20,7 +20,9 @@ import com.intellij.openapi.extensions.Extensions;
|
||||
import com.intellij.openapi.util.Comparing;
|
||||
import com.intellij.openapi.util.Condition;
|
||||
import com.intellij.openapi.util.Pair;
|
||||
import com.intellij.psi.PsiType;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.util.PsiTypesUtil;
|
||||
import com.intellij.psi.util.PsiUtil;
|
||||
import com.intellij.util.xml.Converter;
|
||||
import com.intellij.util.xml.GenericDomValue;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -67,7 +69,16 @@ public class GenericDomValueConvertersRegistry {
|
||||
}
|
||||
|
||||
public void registerClassValueConverters() {
|
||||
registerConverter(ClassValueConverter.getClassValueConverter(), Class.class);
|
||||
registerConverter(ClassValueConverter.getClassValueConverter(), pair -> {
|
||||
PsiType psiType = pair.getFirst();
|
||||
if (psiType instanceof PsiClassType) {
|
||||
PsiClass resolve = ((PsiClassType)psiType).resolve();
|
||||
if (resolve != null) {
|
||||
return (CommonClassNames.JAVA_LANG_CLASS.equals(resolve.getQualifiedName()));
|
||||
}
|
||||
}
|
||||
return false;
|
||||
});
|
||||
registerConverter(ClassArrayConverter.getClassArrayConverter(), Class[].class);
|
||||
}
|
||||
|
||||
@@ -122,5 +133,4 @@ public class GenericDomValueConvertersRegistry {
|
||||
final String name = type.getCanonicalName();
|
||||
registerConverter(provider, pair -> pair.first != null && Comparing.equal(name, pair.first.getCanonicalText()));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user