From aff24d20d77fd36bb07b29ce15fcf626b2c60654 Mon Sep 17 00:00:00 2001 From: chiranSachintha Date: Mon, 1 Dec 2025 23:14:17 +0530 Subject: [PATCH] Add C2C support for the `ai` listener --- .../io/ballerina/c2c/util/C2CVisitor.java | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/cloud-util/src/main/java/io/ballerina/c2c/util/C2CVisitor.java b/cloud-util/src/main/java/io/ballerina/c2c/util/C2CVisitor.java index 539104bb..9b7cf2a4 100644 --- a/cloud-util/src/main/java/io/ballerina/c2c/util/C2CVisitor.java +++ b/cloud-util/src/main/java/io/ballerina/c2c/util/C2CVisitor.java @@ -67,6 +67,7 @@ import java.util.Map; import java.util.Objects; import java.util.Optional; +import java.util.Set; /** * Visitor for validation related to code to cloud. @@ -77,6 +78,9 @@ @Data public class C2CVisitor extends NodeVisitor { + private static final Set C2C_SUPPORTED_LISTENERS = Set.of("http", "grpc", "graphql", "tcp", "udp", + "websocket", "websub", "websubhub", "ai"); + private final List services = new ArrayList<>(); private final Map moduleLevelVariables; private final SemanticModel semanticModel; @@ -454,20 +458,7 @@ private boolean isC2CNativelySupportedListener(TypeSymbol typeSymbol) { return false; } String moduleName = module.get().getName().get(); - switch (moduleName) { - case "http": - case "grpc": - case "graphql": - case "tcp": - case "udp": - case "websocket": - case "websub": - case "websubhub": - //TODO add other stdlib - return true; - default: - return false; - } + return C2C_SUPPORTED_LISTENERS.contains(moduleName); } return false; }