mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-04-30 02:09:59 +07:00
[java] Fix language injection for java records
IDEA-321083 review refactor. Avoid class casts GitOrigin-RevId: 00018c6f9eb076bf11ad4112cedd9452f595f737
This commit is contained in:
committed by
intellij-monorepo-bot
parent
1704e37146
commit
96356837d3
@@ -58,22 +58,22 @@ public final class InjectionCache {
|
||||
Parameters parameters = new Parameters(annoClasses.get(cursor), usageScope, true,
|
||||
PsiClass.class, PsiParameter.class, PsiMethod.class, PsiRecordComponent.class);
|
||||
AnnotatedElementsSearch.searchElements(parameters).forEach(element -> {
|
||||
if (element instanceof PsiParameter) {
|
||||
final PsiElement scope = ((PsiParameter)element).getDeclarationScope();
|
||||
if (scope instanceof PsiMethod) {
|
||||
ContainerUtil.addIfNotNull(result, ((PsiMethod)scope).getName());
|
||||
if (element instanceof PsiParameter psiParameter) {
|
||||
final PsiElement scope = psiParameter.getDeclarationScope();
|
||||
if (scope instanceof PsiMethod psiMethod) {
|
||||
ContainerUtil.addIfNotNull(result, psiMethod.getName());
|
||||
}
|
||||
}
|
||||
else if (element instanceof PsiClass && ((PsiClass)element).isAnnotationType() && !annoClasses.contains(element)) {
|
||||
annoClasses.add((PsiClass)element);
|
||||
else if (element instanceof PsiClass psiClass && psiClass.isAnnotationType() && !annoClasses.contains(psiClass)) {
|
||||
annoClasses.add(psiClass);
|
||||
}
|
||||
else if (element instanceof PsiMethod) {
|
||||
ContainerUtil.addIfNotNull(result, ((PsiMember)element).getName());
|
||||
else if (element instanceof PsiMethod psiMethod) {
|
||||
ContainerUtil.addIfNotNull(result, psiMethod.getName());
|
||||
}
|
||||
else if (element instanceof PsiRecordComponent) {
|
||||
final PsiClass record = ((PsiRecordComponent)element).getContainingClass();
|
||||
if (record != null) {
|
||||
ContainerUtil.addIfNotNull(result, record.getName());
|
||||
else if (element instanceof PsiRecordComponent psiRecordComponent) {
|
||||
final PsiClass psiClass = psiRecordComponent.getContainingClass();
|
||||
if (psiClass != null) {
|
||||
ContainerUtil.addIfNotNull(result, psiClass.getName());
|
||||
}
|
||||
}
|
||||
return true;
|
||||
|
||||
Reference in New Issue
Block a user