本文整理匯總了Java中com.intellij.psi.PsiMethod.getNavigationElement方法的典型用法代碼示例。如果您正苦於以下問題:Java PsiMethod.getNavigationElement方法的具體用法?Java PsiMethod.getNavigationElement怎麽用?Java PsiMethod.getNavigationElement使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類com.intellij.psi.PsiMethod
的用法示例。
在下文中一共展示了PsiMethod.getNavigationElement方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: findExtensionMethodNavigationElement
import com.intellij.psi.PsiMethod; //導入方法依賴的package包/類
private PsiElement findExtensionMethodNavigationElement( PsiClass extClass, PsiMethod plantedMethod )
{
PsiMethod[] found = extClass.findMethodsByName( plantedMethod.getName(), false );
outer:
for( PsiMethod m : found )
{
PsiParameter[] extParams = m.getParameterList().getParameters();
PsiParameter[] plantedParams = plantedMethod.getParameterList().getParameters();
if( extParams.length - 1 == plantedParams.length )
{
for( int i = 1; i < extParams.length; i++ )
{
PsiParameter extParam = extParams[i];
PsiParameter plantedParam = plantedParams[i - 1];
PsiType extErased = TypeConversionUtil.erasure( extParam.getType() );
PsiType plantedErased = TypeConversionUtil.erasure( plantedParam.getType() );
if( !extErased.toString().equals( plantedErased.toString() ) )
{
continue outer;
}
}
return m.getNavigationElement();
}
}
return null;
}
示例2: getNavigationElement
import com.intellij.psi.PsiMethod; //導入方法依賴的package包/類
@Override
@Nullable
public PsiElement getNavigationElement(@NotNull ClsMethodImpl clsMethod) {
if (!isGroovyLanguage(clsMethod)) return null;
PsiMethod source = clsMethod.getSourceMirrorMethod();
if (source instanceof LightElement) {
return source.getNavigationElement();
}
return null;
}