diff --git a/platform/script-debugger/protocol/protocol-reader/src/TextOutput.kt b/platform/script-debugger/protocol/protocol-reader/src/TextOutput.kt index 58e2e9ded441..23b1ee8b63db 100644 --- a/platform/script-debugger/protocol/protocol-reader/src/TextOutput.kt +++ b/platform/script-debugger/protocol/protocol-reader/src/TextOutput.kt @@ -77,8 +77,7 @@ class TextOutput(val out: StringBuilder) { } fun openBlock(): TextOutput { - openBlock(true) - return this + return openBlock(true) } inline fun block(addNewLine: Boolean = true, writer: () -> Unit): TextOutput { @@ -88,16 +87,18 @@ class TextOutput(val out: StringBuilder) { return this } - fun openBlock(addNewLine: Boolean) { + fun openBlock(addNewLine: Boolean): TextOutput { space().append('{') if (addNewLine) { newLine() } indentIn() + return this } - fun closeBlock() { + fun closeBlock(): TextOutput { indentOut().newLine().append('}') + return this } fun comma() = append(',').space() diff --git a/platform/script-debugger/protocol/protocol-reader/src/TypeWriter.kt b/platform/script-debugger/protocol/protocol-reader/src/TypeWriter.kt index 4f7ecca46f1f..ddf40950e211 100644 --- a/platform/script-debugger/protocol/protocol-reader/src/TypeWriter.kt +++ b/platform/script-debugger/protocol/protocol-reader/src/TypeWriter.kt @@ -215,13 +215,13 @@ internal class TypeWriter(val typeClass: Class, jsonSuperClass: TypeRef<*> fieldLoader.valueReader.writeReadCode(classScope, false, out) if (primitiveValueName != null) { - out.newLine().append("else").openBlock() + out.closeBlock().newLine().append("else").block { + assignField(out, "${primitiveValueName}Type") + out.append("reader.peek()").newLine() - assignField(out, "${primitiveValueName}Type") - out.append("reader.peek()").newLine() - - assignField(out, primitiveValueName) - out + "reader.nextString(true)" + assignField(out, primitiveValueName) + out + "reader.nextString(true)" + } } if (stopIfAllFieldsWereRead && !isTracedStop) { diff --git a/platform/script-debugger/protocol/protocol-reader/src/Util.kt b/platform/script-debugger/protocol/protocol-reader/src/Util.kt index 4d33a5ca045c..2f46fb112afc 100644 --- a/platform/script-debugger/protocol/protocol-reader/src/Util.kt +++ b/platform/script-debugger/protocol/protocol-reader/src/Util.kt @@ -18,7 +18,11 @@ val JSON_READER_PARAMETER_DEF = "$READER_NAME: $JSON_READER_CLASS_NAME" internal fun writeJavaTypeName(arg: Type, out: TextOutput) { if (arg is Class<*>) { val name = arg.canonicalName - out.append(if (name == "java.util.List") "List" else name) + out.append( + if (name == "java.util.List") "List" + else if (name == "java.lang.String") "String?" + else name + ) } else if (arg is ParameterizedType) { writeJavaTypeName(arg.rawType, out)