package com.jsonnetplugin.psi.impl; import com.intellij.extapi.psi.ASTWrapperPsiElement; import com.intellij.lang.ASTNode; import com.intellij.psi.PsiReference; import com.intellij.psi.impl.source.resolve.reference.ReferenceProvidersRegistry; import com.jsonnetplugin.psi.JsonnetNamedElement; import org.jetbrains.annotations.NotNull; public abstract class JsonnetNamedElementImpl extends ASTWrapperPsiElement implements JsonnetNamedElement { public JsonnetNamedElementImpl(@NotNull ASTNode node) { super(node); } @Override public PsiReference getReference() { PsiReference[] referencesFromProviders = ReferenceProvidersRegistry.getReferencesFromProviders(this); if (referencesFromProviders.length == 1) return referencesFromProviders[0]; else return null; } @NotNull @Override public PsiReference[] getReferences() { return ReferenceProvidersRegistry.getReferencesFromProviders(this); } }