From c49bac63b1065b183f0589597c99074761ee116e Mon Sep 17 00:00:00 2001 From: gimantha Date: Mon, 2 Dec 2024 14:45:30 +0530 Subject: [PATCH] Check specifically the singleton path segments --- .../compiler/semantics/analyzer/TypeChecker.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/semantics/analyzer/TypeChecker.java b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/semantics/analyzer/TypeChecker.java index 90ec06d21bdc..44926d6ef6cf 100644 --- a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/semantics/analyzer/TypeChecker.java +++ b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/semantics/analyzer/TypeChecker.java @@ -4088,8 +4088,9 @@ public void visit(BLangInvocation.BLangResourceAccessInvocation resourceAccessIn return; } else if (targetResourceFuncCount > 1) { //Filter the resource function with identifier segment - Optional first = resourceFunctions.stream().filter(func -> func.pathSegmentSymbols - .get(func.pathSegmentSymbols.size() - 1).kind == SymbolKind.RESOURCE_PATH_IDENTIFIER_SEGMENT) + Optional first = resourceFunctions + .stream().filter(func -> func.pathSegmentSymbols.stream() + .allMatch(segment -> segment.kind == SymbolKind.RESOURCE_PATH_IDENTIFIER_SEGMENT)) .findFirst(); if (first.isPresent()) { resourceFunctions = new ArrayList<>(List.of(first.get()));