fix android completion test: use LegacyCompletionContributor.processReferences()

This commit is contained in:
Dmitry Jemerov
2013-06-18 12:53:58 +02:00
parent 997ca9f269
commit d632619bbb
@@ -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,