类com.intellij.psi.search.searches.DefinitionsScopedSearch源码实例Demo

下面列出了怎么用com.intellij.psi.search.searches.DefinitionsScopedSearch的API类实例代码及写法,或者点击链接到github查看源代码。

@Override
public boolean execute(@Nonnull DefinitionsScopedSearch.SearchParameters queryParameters, @Nonnull final Processor<? super PsiElement> consumer)
{
	final PsiElement element = queryParameters.getElement();
	if(element instanceof DotNetTypeDeclaration)
	{
		return TypeInheritorsSearch.search((DotNetTypeDeclaration) element, queryParameters.getScope(), queryParameters.isCheckDeep(), true,
				CSharpTransform.INSTANCE).forEach(new Processor<DotNetTypeDeclaration>()

		{
			@Override
			public boolean process(DotNetTypeDeclaration typeDeclaration)
			{
				return consumer.process(typeDeclaration);
			}
		});
	}
	return true;
}
 
@Override
public boolean execute(@Nonnull DefinitionsScopedSearch.SearchParameters queryParameters, @Nonnull Processor<? super PsiElement> consumer)
{
	PsiElement element = queryParameters.getElement();
	if(element instanceof DotNetVirtualImplementOwner)
	{
		Collection<DotNetVirtualImplementOwner> members = ReadAction.compute(() -> OverrideUtil.collectOverridenMembers((DotNetVirtualImplementOwner) element));
		return ContainerUtil.process(members, consumer);
	}
	return true;
}
 
public static List<HaxeClass> getItemsByQName(final HaxeClass haxeClass) {
  final List<HaxeClass> result = new ArrayList<HaxeClass>();
  DefinitionsScopedSearch.search(haxeClass).forEach(element -> {
    if (element instanceof HaxeClass) {
      result.add((HaxeClass)element);
    }
    return true;
  });
  return result;
}
 
源代码4 项目: consulo   文件: GotoImplementationAction.java
@RequiredUIAccess
@Override
public void update(final AnActionEvent event) {
  if (!DefinitionsScopedSearch.INSTANCE.hasAnyExecutors()) {
    event.getPresentation().setVisible(false);
  }
  else {
    super.update(event);
  }
}
 
源代码5 项目: consulo   文件: PomDefinitionSearch.java
@Override
public boolean execute(@Nonnull DefinitionsScopedSearch.SearchParameters queryParameters, @Nonnull Processor<? super PsiElement> consumer) {
  PsiElement queryParametersElement = queryParameters.getElement();
  if (queryParametersElement instanceof PomTargetPsiElement) {
    final PomTarget target = ((PomTargetPsiElement)queryParametersElement).getTarget();
    if (target instanceof PsiTarget) {
      if (!consumer.process(((PsiTarget)target).getNavigationElement())) return false;
    }
  }
  return true;
}
 
源代码6 项目: consulo   文件: ImplementationSearcher.java
protected Query<PsiElement> search(PsiElement element, Editor editor) {
  return DefinitionsScopedSearch.search(element, getSearchScope(element, editor), isSearchDeep());
}
 
 类所在包
 类方法
 同包方法