diff --git a/build.gradle.kts b/build.gradle.kts index 952eb7b..8d91791 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -5,7 +5,7 @@ plugins { } group = "io.github.tt432" -version = "1.2-SNAPSHOT" +version = "1.2.1-SNAPSHOT" repositories { mavenCentral() diff --git a/src/main/kotlin/io/github/tt432/k9tools/GenerateStreamCodecAction.kt b/src/main/kotlin/io/github/tt432/k9tools/GenerateStreamCodecAction.kt index e113d8c..4fc125b 100644 --- a/src/main/kotlin/io/github/tt432/k9tools/GenerateStreamCodecAction.kt +++ b/src/main/kotlin/io/github/tt432/k9tools/GenerateStreamCodecAction.kt @@ -122,11 +122,13 @@ class GenerateStreamCodecAction : AnAction() { if (editor == null || psiClass == null) return@runWriteCommandAction - val fields = psiClass.allFields + val className = psiClass.name!! + + var fields = psiClass.allFields if (fields.any { it.name == "STREAM_CODEC" }) return@runWriteCommandAction - val className = psiClass.name!! + fields = fields.filter { !it.hasModifier(JvmModifier.STATIC) }.toTypedArray() if (fields.size <= 6) { serializeWithinSixFields(fields, className, psiClass, project) } else serializeMoreThanSixFields(fields, className, psiClass, project) @@ -141,7 +143,7 @@ class GenerateStreamCodecAction : AnAction() { ) { val fieldsStr = StringBuilder() - fields.filter { !it.hasModifier(JvmModifier.STATIC) }.forEach { + fields.forEach { fieldsStr.append( " ${getCodecRef(it.typeElement)},\n" + " ${getGetterName(className, it, getFieldAndGetterMethod(psiClass))},\n" @@ -171,7 +173,7 @@ class GenerateStreamCodecAction : AnAction() { val decodeConstructStrBuilder = StringBuilder() val encodeStr = StringBuilder() - fields.filter { !it.hasModifier(JvmModifier.STATIC) }.forEach { + fields.forEach { decodeStr.append( " ${getTypeName(it)} ${it.name} = ${getCodecRef(it.typeElement)}.decode(buf);\n" )