mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
testng: dependsOn filter completion variants by type
This commit is contained in:
@@ -24,6 +24,7 @@ package com.theoryinpractice.testng;
|
||||
|
||||
import com.intellij.codeInsight.AnnotationUtil;
|
||||
import com.intellij.codeInsight.completion.CompletionUtil;
|
||||
import com.intellij.codeInsight.lookup.LookupElementBuilder;
|
||||
import com.intellij.codeInsight.lookup.LookupValueFactory;
|
||||
import com.intellij.codeInspection.InspectionProfile;
|
||||
import com.intellij.openapi.project.Project;
|
||||
@@ -217,13 +218,15 @@ public class TestNGReferenceContributor extends PsiReferenceContributor {
|
||||
final String className = StringUtil.getPackageName(val);
|
||||
PsiClass cls = getDependsClass(val);
|
||||
if (cls != null) {
|
||||
PsiMethod current = PsiTreeUtil.getParentOfType(getElement(), PsiMethod.class);
|
||||
PsiMethod[] methods = cls.getMethods();
|
||||
final PsiMethod current = PsiTreeUtil.getParentOfType(getElement(), PsiMethod.class);
|
||||
final String configAnnotation = TestNGUtil.getConfigAnnotation(current);
|
||||
final PsiMethod[] methods = cls.getMethods();
|
||||
for (PsiMethod method : methods) {
|
||||
if (current != null && method.getName().equals(current.getName())) continue;
|
||||
if (TestNGUtil.hasTest(method) || TestNGUtil.hasConfig(method)) {
|
||||
list.add(LookupValueFactory.createLookupValue(StringUtil.isEmpty(className) ? method.getName()
|
||||
:StringUtil.getQualifiedName(cls.getQualifiedName(), method.getName()), null));
|
||||
final String methodName = method.getName();
|
||||
if (current != null && methodName.equals(current.getName())) continue;
|
||||
if (configAnnotation == null && TestNGUtil.hasTest(method) || configAnnotation != null && AnnotationUtil.isAnnotated(method, configAnnotation, true)) {
|
||||
final String nameToInsert = StringUtil.isEmpty(className) ? methodName : StringUtil.getQualifiedName(cls.getQualifiedName(), methodName);
|
||||
list.add(LookupElementBuilder.create(nameToInsert));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user