@@ -6,6 +6,7 @@ import com.intellij.openapi.actionSystem.LangDataKeys
66import com.intellij.openapi.actionSystem.PlatformDataKeys
77import com.intellij.openapi.project.Project
88import com.intellij.openapi.roots.ModuleRootManager
9+ import com.intellij.openapi.ui.Messages
910import com.intellij.psi.PsiDirectory
1011import com.intellij.psi.PsiFile
1112import com.intellij.psi.PsiFileFactory
@@ -62,19 +63,24 @@ class GenerateKotlinFileAction : AnAction("GenerateKotlinClassFile") {
6263 psiFileFactory,
6364 directory
6465 )
66+ } catch (e: UnSupportJsonException ) {
67+ val advice = e.advice
68+ Messages .showInfoMessage(dealWithHtmlConvert(advice), " Tip" )
6569 } catch (e: Throwable ) {
6670 dealWithException(jsonString, e)
6771 throw e
6872 }
6973 }
7074
75+ private fun dealWithHtmlConvert (advice : String ) = advice.replace(" <" , " <" ).replace(" >" , " >" )
76+
7177 private fun doGenerateKotlinDataClassFileAction (
72- className : String ,
73- json : String ,
74- packageDeclare : String ,
75- project : Project ? ,
76- psiFileFactory : PsiFileFactory ,
77- directory : PsiDirectory
78+ className : String ,
79+ json : String ,
80+ packageDeclare : String ,
81+ project : Project ? ,
82+ psiFileFactory : PsiFileFactory ,
83+ directory : PsiDirectory
7884 ) {
7985 val generatedClassesString = KotlinCodeMaker (className, json).makeKotlinData()
8086
@@ -83,22 +89,22 @@ class GenerateKotlinFileAction : AnAction("GenerateKotlinClassFile") {
8389 if (ConfigManager .isInnerClassModel) {
8490
8591 KotlinDataClassFileGenerator ().generateSingleDataClassFile(
86- className,
87- packageDeclare,
88- removeDuplicateClassCode,
89- project,
90- psiFileFactory,
91- directory
92+ className,
93+ packageDeclare,
94+ removeDuplicateClassCode,
95+ project,
96+ psiFileFactory,
97+ directory
9298 )
9399
94100 } else {
95101
96102 KotlinDataClassFileGenerator ().generateMultipleDataClassFiles(
97- removeDuplicateClassCode,
98- packageDeclare,
99- project,
100- psiFileFactory,
101- directory
103+ removeDuplicateClassCode,
104+ packageDeclare,
105+ project,
106+ psiFileFactory,
107+ directory
102108 )
103109
104110 }
0 commit comments