Java Code Examples for com.intellij.psi.PsiClass#getInnerClasses()

The following examples show how to use com.intellij.psi.PsiClass#getInnerClasses() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: GenerateAllJavadocAction.java    From easy_javadoc with Apache License 2.0 6 votes vote down vote up
/**
 * 生成类Javadoc
 *
 * @param project         项目
 * @param psiClass        当前类
 * @param isGenClass      是否生成类
 * @param isGenMethod     是否生成方法
 * @param isGenField      是否生成属性
 * @param isGenInnerClass 是否生成内部类
 */
private void genClassJavadoc(Project project, PsiClass psiClass, boolean isGenClass, boolean isGenMethod, boolean isGenField,
                             boolean isGenInnerClass) {
    // 生成类注释
    if (isGenClass) {
        saveJavadoc(project, psiClass);
    }
    // 方法
    Arrays.stream(psiClass.getAllMethods()).forEach(psiMethod -> genMethodJavadoc(project, psiMethod, isGenMethod));
    // 属性
    Arrays.stream(psiClass.getAllFields()).forEach(psiField -> genFieldJavadoc(project, psiField, isGenField));
    // 递归遍历子类
    if (isGenInnerClass) {
        PsiClass[] innerClasses = psiClass.getInnerClasses();
        Arrays.stream(innerClasses).forEach(clz -> genClassJavadoc(project, clz, isGenClass, isGenMethod, isGenField, isGenInnerClass));
    }
}
 
Example 2
Source File: MethodReferenceDiagramDataModel.java    From intellij-reference-diagram with Apache License 2.0 6 votes vote down vote up
private void collectNodes(PsiClass psiClass) {
    for (PsiMethod psiMethod : psiClass.getMethods()) {
        addUserElement(psiMethod);
    }

    for (PsiField psiField : psiClass.getFields()) {
        addUserElement(psiField);
    }

    for (PsiClassInitializer psiClassInitializer : psiClass.getInitializers()) {
        addUserElement(psiClassInitializer);
    }

    for (PsiClass innerClass : psiClass.getInnerClasses()) {
        addUserElement(innerClass);
    }
}
 
Example 3
Source File: LombokReferenceSearcher.java    From lombok-intellij-plugin with BSD 3-Clause "New" or "Revised" License 5 votes vote down vote up
private void processPsiField(final PsiField refPsiField, final SearchRequestCollector collector) {
  final PsiClass containingClass = refPsiField.getContainingClass();
  if (null != containingClass) {
    processClassMethods(refPsiField, collector, containingClass);

    final PsiClass[] innerClasses = containingClass.getInnerClasses();
    Arrays.stream(innerClasses)
      .forEach(psiClass -> processClassMethods(refPsiField, collector, psiClass));

    Arrays.stream(innerClasses)
      .forEach(psiClass -> processClassFields(refPsiField, collector, psiClass));
  }
}