From d632619bbb46b374702a82f93ff2fd4a5c637582 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Tue, 18 Jun 2013 12:48:22 +0200 Subject: [PATCH] fix android completion test: use LegacyCompletionContributor.processReferences() --- .../TagNameReferenceCompletionProvider.java | 26 +++++++++++-------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/xml/impl/resources/com/intellij/codeInsight/completion/TagNameReferenceCompletionProvider.java b/xml/impl/resources/com/intellij/codeInsight/completion/TagNameReferenceCompletionProvider.java index 061c92a49161..45220b08a552 100644 --- a/xml/impl/resources/com/intellij/codeInsight/completion/TagNameReferenceCompletionProvider.java +++ b/xml/impl/resources/com/intellij/codeInsight/completion/TagNameReferenceCompletionProvider.java @@ -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() { + @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,