package com.nvlad.yii2support.views.references;
import com.intellij.patterns.ElementPattern;
import com.intellij.patterns.PlatformPatterns;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiReferenceRegistrar;
import com.nvlad.yii2support.common.Patterns;
import com.nvlad.yii2support.views.ViewsUtil;
import org.jetbrains.annotations.NotNull;
/**
* Created by NVlad on 02.01.2017.
*/
public class PsiReferenceContributor extends com.intellij.psi.PsiReferenceContributor {
@Override
public void registerReferenceProviders(@NotNull PsiReferenceRegistrar psiReferenceRegistrar) {
psiReferenceRegistrar.registerReferenceProvider(ElementPattern(), new PsiReferenceProvider());
}
private static ElementPattern<PsiElement> ElementPattern() {
return PlatformPatterns.psiElement(PsiElement.class)
.withSuperParent(2, Patterns.methodWithName(ViewsUtil.renderMethods));
}
}