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