mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-16 22:51:17 +07:00
[java-lombok] IDEA-352726 Augment class in dumb mode in Lombok
- refactor tests GitOrigin-RevId: ef64d0bdabff09da0bed2e48d3ddc5e134cc288a
This commit is contained in:
committed by
intellij-monorepo-bot
parent
2ca5b2bcd4
commit
4fb5a8d60e
@@ -11,6 +11,7 @@ import com.intellij.testFramework.DumbModeTestUtils;
|
|||||||
import com.intellij.util.containers.ContainerUtil;
|
import com.intellij.util.containers.ContainerUtil;
|
||||||
import de.plushnikov.intellij.plugin.util.PsiElementUtil;
|
import de.plushnikov.intellij.plugin.util.PsiElementUtil;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.function.Predicate;
|
import java.util.function.Predicate;
|
||||||
@@ -190,16 +191,15 @@ public abstract class AbstractLombokParsingTestCase extends AbstractLombokLightC
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void compareAnnotations(PsiModifierList beforeModifierList, PsiModifierList afterModifierList) {
|
private void compareAnnotations(PsiModifierList beforeModifierList, PsiModifierList afterModifierList) {
|
||||||
DumbService dumbService = DumbService.getInstance(beforeModifierList.getProject());
|
|
||||||
if (shouldCompareAnnotations()) {
|
if (shouldCompareAnnotations()) {
|
||||||
Collection<String> beforeAnnotations = Arrays.stream(beforeModifierList.getAnnotations())
|
Collection<String> beforeAnnotations = Arrays.stream(beforeModifierList.getAnnotations())
|
||||||
.map(an-> dumbService.computeWithAlternativeResolveEnabled(()->an.getQualifiedName()))
|
.map(an-> getAnnotationQualifiedName(an))
|
||||||
.filter(Pattern.compile("lombok.*").asPredicate().negate().or(LombokClassNames.NON_NULL::equals))
|
.filter(Pattern.compile("lombok.*").asPredicate().negate().or(LombokClassNames.NON_NULL::equals))
|
||||||
.filter(Pattern.compile(annotationToComparePattern()).asPredicate())
|
.filter(Pattern.compile(annotationToComparePattern()).asPredicate())
|
||||||
.filter(Predicate.not(annotationsToIgnoreList()::contains))
|
.filter(Predicate.not(annotationsToIgnoreList()::contains))
|
||||||
.toList();
|
.toList();
|
||||||
Collection<String> afterAnnotations = Arrays.stream(afterModifierList.getAnnotations())
|
Collection<String> afterAnnotations = Arrays.stream(afterModifierList.getAnnotations())
|
||||||
.map(an-> dumbService.computeWithAlternativeResolveEnabled(()->an.getQualifiedName()))
|
.map(an-> getAnnotationQualifiedName(an))
|
||||||
.filter(Pattern.compile(annotationToComparePattern()).asPredicate())
|
.filter(Pattern.compile(annotationToComparePattern()).asPredicate())
|
||||||
.filter(Predicate.not(annotationsToIgnoreList()::contains))
|
.filter(Predicate.not(annotationsToIgnoreList()::contains))
|
||||||
.toList();
|
.toList();
|
||||||
@@ -211,10 +211,8 @@ public abstract class AbstractLombokParsingTestCase extends AbstractLombokLightC
|
|||||||
|
|
||||||
// compare annotations parameter list
|
// compare annotations parameter list
|
||||||
for (PsiAnnotation beforeAnnotation : beforeModifierList.getAnnotations()) {
|
for (PsiAnnotation beforeAnnotation : beforeModifierList.getAnnotations()) {
|
||||||
String qualifiedName =
|
String qualifiedName = getAnnotationQualifiedName(beforeAnnotation);
|
||||||
dumbService.computeWithAlternativeResolveEnabled(() -> beforeAnnotation.getQualifiedName());
|
PsiAnnotation afterAnnotation = findAnnotation(afterModifierList, qualifiedName);
|
||||||
PsiAnnotation afterAnnotation =
|
|
||||||
dumbService.computeWithAlternativeResolveEnabled(() -> afterModifierList.findAnnotation(qualifiedName));
|
|
||||||
if (null != afterAnnotation) {
|
if (null != afterAnnotation) {
|
||||||
Map<String, String> beforeParameter = Stream.of(beforeAnnotation.getParameterList().getAttributes())
|
Map<String, String> beforeParameter = Stream.of(beforeAnnotation.getParameterList().getAttributes())
|
||||||
.collect(Collectors.toMap(PsiNameValuePair::getAttributeName, p -> p.getValue().getText()));
|
.collect(Collectors.toMap(PsiNameValuePair::getAttributeName, p -> p.getValue().getText()));
|
||||||
@@ -226,6 +224,16 @@ public abstract class AbstractLombokParsingTestCase extends AbstractLombokLightC
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static @Nullable PsiAnnotation findAnnotation(PsiModifierList modifierList, String qualifiedName) {
|
||||||
|
return DumbService.getInstance(modifierList.getProject())
|
||||||
|
.computeWithAlternativeResolveEnabled(() -> modifierList.findAnnotation(qualifiedName));
|
||||||
|
}
|
||||||
|
|
||||||
|
private static @Nullable String getAnnotationQualifiedName(PsiAnnotation annotation) {
|
||||||
|
return DumbService.getInstance(annotation.getProject())
|
||||||
|
.computeWithAlternativeResolveEnabled(() -> annotation.getQualifiedName());
|
||||||
|
}
|
||||||
|
|
||||||
private void compareMethods(PsiClass beforeClass, PsiClass afterClass) {
|
private void compareMethods(PsiClass beforeClass, PsiClass afterClass) {
|
||||||
PsiMethod[] beforeMethods = beforeClass.getMethods();
|
PsiMethod[] beforeMethods = beforeClass.getMethods();
|
||||||
PsiMethod[] afterMethods = afterClass.getMethods();
|
PsiMethod[] afterMethods = afterClass.getMethods();
|
||||||
|
|||||||
Reference in New Issue
Block a user