1616public class MapParser {
1717
1818 private PsiClass psiClass ;
19- private Integer layer ;
20- private PsiType psiType ;
19+ private Integer layer ;
20+ private PsiType psiType ;
2121
22- public MapParser (PsiType psiType ,Integer layer ) {
22+ public MapParser (PsiType psiType , Integer layer ) {
2323 this .psiType = psiType ;
2424 this .psiClass = MyPsiSupport .getPsiClass (psiType );
2525 this .layer = layer ;
2626 }
2727
28- public Map generateMap (){
28+ public Map generateMap () {
2929 if (layer >= 3 ) return null ;
3030 HashMap <String , Object > obj = new HashMap <>();
3131 String type = null ;
@@ -42,12 +42,14 @@ public Map generateMap(){
4242 psiFieldList = this .getAvailablePsiField (genericsClass , genericsClass .getAllFields ());
4343 }
4444 } else {
45- for (PsiField psiField : psiClass .getAllFields ()) {
46- if (MyPsiSupport .findPsiMethod (psiClass , Convertor .getFieldGetterName (psiField .getName ())) != null ) {
47- psiFieldList .add (psiField );
48- }
49- if (MyPsiSupport .findPsiMethod (psiClass , Convertor .getFieldBoolGetterName (psiField .getName ())) != null ) {
50- psiFieldList .add (psiField );
45+ if (psiClass != null ) {
46+ for (PsiField psiField : psiClass .getAllFields ()) {
47+ if (MyPsiSupport .findPsiMethod (psiClass , Convertor .getFieldGetterName (psiField .getName ())) != null ) {
48+ psiFieldList .add (psiField );
49+ }
50+ if (MyPsiSupport .findPsiMethod (psiClass , Convertor .getFieldBoolGetterName (psiField .getName ())) != null ) {
51+ psiFieldList .add (psiField );
52+ }
5153 }
5254 }
5355 }
@@ -64,9 +66,9 @@ public Map generateMap(){
6466 flag = TypeTranslator .docTypeTranslate (fieldClass .getQualifiedName ());
6567 }
6668 if ("Object" .equals (flag )) {
67- MapParser mapParser = new MapParser (fieldType , layer + 1 );
69+ MapParser mapParser = new MapParser (fieldType , layer + 1 );
6870 Map map = mapParser .generateMap ();
69- obj .put (psiField .getName (),map );
71+ obj .put (psiField .getName (), map );
7072 } else if ("List" .equals (flag )) {
7173
7274 } else {
@@ -96,7 +98,7 @@ public List<PsiField> getAvailablePsiField(PsiClass psiClass, PsiField[] psiFiel
9698 return psiFieldList ;
9799 }
98100
99- public PsiType getRealType (PsiType psiType , PsiField psiField ){
101+ public PsiType getRealType (PsiType psiType , PsiField psiField ) {
100102 PsiType fieldType = MyPsiSupport .getGenericsType (psiType , psiField );
101103 if (fieldType == null ) {
102104 fieldType = psiField .getType ();
0 commit comments