本文整理匯總了Java中com.intellij.psi.PsiClass.isValid方法的典型用法代碼示例。如果您正苦於以下問題:Java PsiClass.isValid方法的具體用法?Java PsiClass.isValid怎麽用?Java PsiClass.isValid使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類com.intellij.psi.PsiClass
的用法示例。
在下文中一共展示了PsiClass.isValid方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: getPsiClass
import com.intellij.psi.PsiClass; //導入方法依賴的package包/類
public PsiClass getPsiClass( GlobalSearchScope scope, ManModule module, String fqn )
{
if( isShortCircuit( fqn ) )
{
return null;
}
if( !isValidFqn( fqn ) )
{
return null;
}
addShortCircuit( fqn );
try
{
listenToChanges( module.getProject() );
// Find cached type...
FqnCache<PsiClass> map = _type2Class.computeIfAbsent( module, k -> new FqnCache<>() );
FqnCacheNode<PsiClass> node = map.getNode( fqn );
if( node != null )
{
PsiClass psiFacadeClass = node.getUserData();
if( psiFacadeClass == null || psiFacadeClass.isValid() )
{
return psiFacadeClass;
}
}
// Create new module-specific type...
if( node == null )
{
try
{
node = createPrimaryType( module, fqn, map );
}
catch( ConflictingTypeManifoldsException e )
{
return PsiErrorClassUtil.create( module.getIjProject(), e );
}
}
// Add extensions (and create module-specific type if necessary) ...
PsiClass psiClass = node == null ? null : node.getUserData();
psiClass = addExtensions( scope, module, fqn, psiClass );
return psiClass;
}
finally
{
removeShortCircuit( fqn );
}
}