diff --git a/libquassel-generator/src/main/kotlin/de/justjanne/libquassel/generator/visitors/RpcModelProcessor.kt b/libquassel-generator/src/main/kotlin/de/justjanne/libquassel/generator/visitors/RpcModelProcessor.kt index 04d98075f8f8969b2df00f76bab782b25fd5392b..6e7989678f5fb2cfc15a19a3b43713a266a8f538 100644 --- a/libquassel-generator/src/main/kotlin/de/justjanne/libquassel/generator/visitors/RpcModelProcessor.kt +++ b/libquassel-generator/src/main/kotlin/de/justjanne/libquassel/generator/visitors/RpcModelProcessor.kt @@ -97,27 +97,29 @@ class RpcModelProcessor : RpcModelVisitor<ProtocolSide, KotlinModel?> { ) } - override fun visitFunctionModel(model: RpcModel.FunctionModel, data: ProtocolSide) = KotlinModel.FunctionModel( - model.source, - buildCodeBlock { - if (model.parameters.isEmpty()) { - addStatement("on.${model.name}()") - } else { - addStatement("on.${model.name}(") - withIndent { - val lastIndex = model.parameters.size - 1 - for ((i, parameter) in model.parameters.withIndex()) { - val suffix = if (i != lastIndex) "," else "" - addStatement( - "${parameter.name} = params[$i].intoOrThrow<%T>()$suffix", - parameter.type - ) + override fun visitFunctionModel(model: RpcModel.FunctionModel, data: ProtocolSide) = + if (model.side != data) null + else KotlinModel.FunctionModel( + model.source, + buildCodeBlock { + if (model.parameters.isEmpty()) { + addStatement("on.${model.name}()") + } else { + addStatement("on.${model.name}(") + withIndent { + val lastIndex = model.parameters.size - 1 + for ((i, parameter) in model.parameters.withIndex()) { + val suffix = if (i != lastIndex) "," else "" + addStatement( + "${parameter.name} = params[$i].intoOrThrow<%T>()$suffix", + parameter.type + ) + } } + addStatement(")") } - addStatement(")") } - } - ) + ) override fun visitParameterModel(model: RpcModel.ParameterModel, data: ProtocolSide): KotlinModel? = null