Missing JetElementImplStub#getReferences() and getReference() implementation

This commit is contained in:
Pavel V. Talanov
2014-03-27 19:21:28 +04:00
parent 3ea5011549
commit 19a60dda3f
@@ -19,6 +19,8 @@ package org.jetbrains.jet.lang.psi;
import com.intellij.extapi.psi.StubBasedPsiElementBase;
import com.intellij.lang.ASTNode;
import com.intellij.lang.Language;
import com.intellij.psi.*;
import com.intellij.psi.impl.source.resolve.reference.ReferenceProvidersRegistry;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.intellij.psi.PsiFile;
@@ -87,6 +89,19 @@ public class JetElementImplStub<T extends StubElement> extends StubBasedPsiEleme
return visitor.visitJetElement(this, data);
}
@Override
public PsiReference getReference() {
PsiReference[] references = getReferences();
if (references.length == 1) return references[0];
else return null;
}
@NotNull
@Override
public PsiReference[] getReferences() {
return ReferenceProvidersRegistry.getReferencesFromProviders(this, PsiReferenceService.Hints.NO_HINTS);
}
@NotNull
protected <PsiT extends JetElementImplStub<?>, StubT extends StubElement> List<PsiT> getStubOrPsiChildrenAsList(
@NotNull JetStubElementType<StubT, PsiT> elementType