下面列出了com.intellij.psi.SmartPsiElementPointer#getElement ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@Nullable
@Override
protected Navigatable[] getNavigatables(DataContext dataContext) {
SmartPsiElementPointer<PsiElement> element = myElement;
if (element != null) {
PsiElement psiElement = element.getElement();
return psiElement instanceof Navigatable ? new Navigatable[]{(Navigatable)psiElement} : null;
}
return null;
}
@Nullable
public PsiElement getPsiElement(@Nonnull FoldRegion region) {
final SmartPsiElementPointer<?> pointer = myFoldRegionToSmartPointerMap.get(region);
if (pointer == null) {
return null;
}
PsiElement element = pointer.getElement();
return element != null && element.isValid() ? element : null;
}
@Override
public PsiElement fun(final SmartPsiElementPointer<PsiElement> pointer) {
return pointer.getElement();
}
@Nullable
public static PsiElement getFileContext(@Nonnull PsiFile file) {
SmartPsiElementPointer pointer = file.getUserData(INJECTED_IN_ELEMENT);
return pointer == null ? null : pointer.getElement();
}