mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
fix android completion test: use LegacyCompletionContributor.processReferences()
This commit is contained in:
+15
-11
@@ -27,6 +27,7 @@ import com.intellij.psi.impl.source.xml.SchemaPrefixReference;
|
||||
import com.intellij.psi.impl.source.xml.TagNameReference;
|
||||
import com.intellij.psi.xml.XmlTag;
|
||||
import com.intellij.util.Consumer;
|
||||
import com.intellij.util.PairConsumer;
|
||||
import com.intellij.util.ProcessingContext;
|
||||
import com.intellij.xml.XmlTagNameProvider;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -49,18 +50,21 @@ public class TagNameReferenceCompletionProvider extends CompletionProvider<Compl
|
||||
@Override
|
||||
protected void addCompletions(@NotNull CompletionParameters parameters,
|
||||
ProcessingContext context,
|
||||
@NotNull CompletionResultSet result) {
|
||||
PsiReference reference = parameters.getPosition().getContainingFile().findReferenceAt(parameters.getOffset());
|
||||
if (reference instanceof TagNameReference) {
|
||||
TagNameReference tagNameReference = (TagNameReference)reference;
|
||||
collectCompletionVariants(tagNameReference, result);
|
||||
}
|
||||
else if (reference instanceof SchemaPrefixReference) {
|
||||
TagNameReference tagNameReference = ((SchemaPrefixReference) reference).getTagNameReference();
|
||||
if (tagNameReference != null && !tagNameReference.isStartTagFlag()) {
|
||||
result.consume(createClosingTagLookupElement((XmlTag)tagNameReference.getElement(), true, tagNameReference.getNameElement()));
|
||||
@NotNull final CompletionResultSet result) {
|
||||
LegacyCompletionContributor.processReferences(parameters, result, new PairConsumer<PsiReference, CompletionResultSet>() {
|
||||
@Override
|
||||
public void consume(PsiReference reference, CompletionResultSet set) {
|
||||
if (reference instanceof TagNameReference) {
|
||||
collectCompletionVariants((TagNameReference)reference, set);
|
||||
}
|
||||
else if (reference instanceof SchemaPrefixReference) {
|
||||
TagNameReference tagNameReference = ((SchemaPrefixReference)reference).getTagNameReference();
|
||||
if (tagNameReference != null && !tagNameReference.isStartTagFlag()) {
|
||||
set.consume(createClosingTagLookupElement((XmlTag)tagNameReference.getElement(), true, tagNameReference.getNameElement()));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public static void collectCompletionVariants(TagNameReference tagNameReference,
|
||||
|
||||
Reference in New Issue
Block a user