本文整理匯總了Java中com.intellij.psi.impl.source.resolve.reference.PsiReferenceRegistrarImpl類的典型用法代碼示例。如果您正苦於以下問題:Java PsiReferenceRegistrarImpl類的具體用法?Java PsiReferenceRegistrarImpl怎麽用?Java PsiReferenceRegistrarImpl使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
PsiReferenceRegistrarImpl類屬於com.intellij.psi.impl.source.resolve.reference包,在下文中一共展示了PsiReferenceRegistrarImpl類的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: testCustomReferenceProvider
import com.intellij.psi.impl.source.resolve.reference.PsiReferenceRegistrarImpl; //導入依賴的package包/類
public void testCustomReferenceProvider() throws Exception {
PsiReferenceRegistrarImpl registrar =
(PsiReferenceRegistrarImpl) ReferenceProvidersRegistry.getInstance().getRegistrar(JavaLanguage.INSTANCE);
PsiReferenceProvider provider = new PsiReferenceProvider() {
@Override
@NotNull
public PsiReference[] getReferencesByElement(@NotNull final PsiElement element, @NotNull final ProcessingContext context) {
return new PsiReference[]{new PsiReferenceBase<PsiElement>(element) {
@Override
public PsiElement resolve() {
return element;
}
@Override
@NotNull
public Object[] getVariants() {
return new Object[]{"1", "2", "3"};
}
}};
}
};
try {
registrar.registerReferenceProvider(PsiDocTag.class, provider);
configureByFile("ReferenceProvider.java");
assertStringItems("1", "2", "3");
}
finally {
registrar.unregisterReferenceProvider(PsiDocTag.class, provider);
}
}