当前位置: 首页>>代码示例>>Java>>正文


Java AddAllMembersProcessor类代码示例

本文整理汇总了Java中com.intellij.ide.structureView.impl.AddAllMembersProcessor的典型用法代码示例。如果您正苦于以下问题:Java AddAllMembersProcessor类的具体用法?Java AddAllMembersProcessor怎么用?Java AddAllMembersProcessor使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


AddAllMembersProcessor类属于com.intellij.ide.structureView.impl包,在下文中一共展示了AddAllMembersProcessor类的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: provideNodes

import com.intellij.ide.structureView.impl.AddAllMembersProcessor; //导入依赖的package包/类
@NotNull
@Override
public Collection<TreeElement> provideNodes(@NotNull TreeElement node) {
  if (node instanceof JavaClassTreeElement) {
    final PsiClass aClass = ((JavaClassTreeElement)node).getValue();
    Collection<PsiElement> inherited = new LinkedHashSet<PsiElement>();
    Collection<PsiElement> ownChildren = JavaClassTreeElement.getOwnChildren(aClass);

    aClass.processDeclarations(new AddAllMembersProcessor(inherited, aClass), ResolveState.initial(), null, aClass);
    inherited.removeAll(ownChildren);
    if (aClass instanceof PsiAnonymousClass) {
      final PsiElement element = ((PsiAnonymousClass)aClass).getBaseClassReference().resolve();
      if (element instanceof PsiClass) {
        ContainerUtil.addAll(inherited, ((PsiClass)element).getInnerClasses());
      }
    }
    List<TreeElement> array = new ArrayList<TreeElement>();
    for (PsiElement child : inherited) {
      if (!child.isValid()) continue;
      final Set<PsiClass> parents = ((JavaClassTreeElement)node).getParents();
      if (child instanceof PsiClass && !parents.contains(child)) {
        array.add(new JavaClassTreeElement((PsiClass)child, true, parents));
      }
      else if (child instanceof PsiField) {
        array.add(new PsiFieldTreeElement((PsiField)child, true));
      }
      else if (child instanceof PsiMethod) {
        array.add(new PsiMethodTreeElement((PsiMethod)child, true));
      }
      else if (child instanceof PsiClassInitializer) {
        array.add(new ClassInitializerTreeElement((PsiClassInitializer)child));
      }
    }
    return array;
  }
  return Collections.emptyList();
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:38,代码来源:JavaInheritedMembersNodeProvider.java

示例2: provideNodes

import com.intellij.ide.structureView.impl.AddAllMembersProcessor; //导入依赖的package包/类
@Override
public Collection<TreeElement> provideNodes(TreeElement node) {
  if (node instanceof JavaClassTreeElement) {
    final PsiClass aClass = ((JavaClassTreeElement)node).getValue();
    Collection<PsiElement> inherited = new LinkedHashSet<PsiElement>();
    Collection<PsiElement> ownChildren = JavaClassTreeElement.getOwnChildren(aClass);

    aClass.processDeclarations(new AddAllMembersProcessor(inherited, aClass), ResolveState.initial(), null, aClass);
    inherited.removeAll(ownChildren);
    if (aClass instanceof PsiAnonymousClass) {
      final PsiElement element = ((PsiAnonymousClass)aClass).getBaseClassReference().resolve();
      if (element instanceof PsiClass) {
        ContainerUtil.addAll(inherited, ((PsiClass)element).getInnerClasses());
      }
    }
    List<TreeElement> array = new ArrayList<TreeElement>();
    for (PsiElement child : inherited) {
      if (!child.isValid()) continue;
      final Set<PsiClass> parents = ((JavaClassTreeElement)node).getParents();
      if (child instanceof PsiClass && !parents.contains(child)) {
        array.add(new JavaClassTreeElement((PsiClass)child, true, parents));
      }
      else if (child instanceof PsiField) {
        array.add(new PsiFieldTreeElement((PsiField)child, true));
      }
      else if (child instanceof PsiMethod) {
        array.add(new PsiMethodTreeElement((PsiMethod)child, true));
      }
      else if (child instanceof PsiClassInitializer) {
        array.add(new ClassInitializerTreeElement((PsiClassInitializer)child));
      }
    }
    return array;
  }
  return Collections.emptyList();
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:37,代码来源:JavaInheritedMembersNodeProvider.java


注:本文中的com.intellij.ide.structureView.impl.AddAllMembersProcessor类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。