From 46f267322dd969fca8f8338c25b42e2c6b5370f8 Mon Sep 17 00:00:00 2001 From: Janne Mareike Koschinski <janne@kuschku.de> Date: Sun, 21 Feb 2021 17:50:52 +0100 Subject: [PATCH] Properly filter invokers by side --- .../generator/visitors/RpcModelProcessor.kt | 38 ++++++++++--------- 1 file changed, 20 insertions(+), 18 deletions(-) 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 04d9807..6e79896 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 -- GitLab