11package me .lotabout .codegenerator .util ;
22
3- import com .intellij .psi .PsiClass ;
4- import com .intellij .psi .PsiClassOwner ;
5- import com .intellij .psi .PsiFile ;
6- import com .intellij .psi .PsiJavaFile ;
3+ import com .intellij .psi .*;
4+ import java .util .Arrays ;
5+ import java .util .stream .Collectors ;
76import org .jetbrains .java .generate .element .ClassElement ;
87
98import java .util .ArrayList ;
@@ -19,8 +18,6 @@ public class ClassEntry {
1918 private List <FieldEntry > allFields = new ArrayList <>();
2019 private List <MethodEntry > methods = new ArrayList <>();
2120 private List <MethodEntry > allMethods = new ArrayList <>();
22- private List <ClassEntry > innerClasses = new ArrayList <>();
23- private List <ClassEntry > allInnerClasses = new ArrayList <>();
2421 private List <MemberEntry > members = new ArrayList <>();
2522 private List <MemberEntry > allMembers = new ArrayList <>();
2623 private List <String > typeParamList ;
@@ -36,8 +33,6 @@ public static ClassEntry of(PsiClass clazz, ClassElement element) {
3633 entry .addAllFields (GenerationUtil .getAllFields (clazz ));
3734 entry .addMethod (GenerationUtil .getMethods (clazz ));
3835 entry .addAllMethods (GenerationUtil .getAllMethods (clazz ));
39- entry .setInnerClasses (GenerationUtil .getInnerClasses (clazz ));
40- entry .setAllInnerClasses (GenerationUtil .getAllInnerClasses (clazz ));
4136 entry .setTypeParamList (GenerationUtil .getClassTypeParameters (clazz ));
4237 return entry ;
4338 }
@@ -74,10 +69,6 @@ public void setImportList(List<String> importList) {
7469 this .importList = importList ;
7570 }
7671
77- public List <FieldEntry > getFields () {
78- return fields ;
79- }
80-
8172 public void addFields (List <FieldEntry > fields ) {
8273 this .fields .addAll (fields );
8374 this .members .addAll (fields );
@@ -111,7 +102,9 @@ public void addAllMethods(List<MethodEntry> allMethods) {
111102 }
112103
113104 public List <ClassEntry > getInnerClasses () {
114- return innerClasses ;
105+ return Arrays .stream (raw .getInnerClasses ())
106+ .map (EntryFactory ::of )
107+ .collect (Collectors .toList ());
115108 }
116109
117110 public List <MemberEntry > getMembers () {
@@ -122,16 +115,11 @@ public List<MemberEntry> getAllMembers() {
122115 return allMembers ;
123116 }
124117
125- public void setInnerClasses (List <ClassEntry > innerClasses ) {
126- this .innerClasses = innerClasses ;
127- }
128-
129118 public List <ClassEntry > getAllInnerClasses () {
130- return allInnerClasses ;
131- }
132-
133- public void setAllInnerClasses (List <ClassEntry > allInnerClasses ) {
134- this .allInnerClasses = allInnerClasses ;
119+ // lazily turn all inner classes into class entry
120+ return Arrays .stream (raw .getAllInnerClasses ())
121+ .map (EntryFactory ::of )
122+ .collect (Collectors .toList ());
135123 }
136124
137125 public List <String > getTypeParamList () {
@@ -249,11 +237,11 @@ public String toString() {
249237 ", allFields=" + allFields +
250238 ", methods=" + methods +
251239 ", allMethods=" + allMethods +
252- ", innerClasses=" + innerClasses +
253- ", allInnerClasses=" + allInnerClasses +
254240 ", members=" + members +
255241 ", allMembers=" + allMembers +
256242 ", typeParamList=" + typeParamList +
257243 '}' ;
258244 }
245+
246+
259247}
0 commit comments