diff --git a/architecture-model-generator/modules/architecture-model-generator-core/src/main/java/io/ballerina/artifactsgenerator/ModuleNodeTransformer.java b/architecture-model-generator/modules/architecture-model-generator-core/src/main/java/io/ballerina/artifactsgenerator/ModuleNodeTransformer.java index de81fc7dbe..e11f88a63d 100644 --- a/architecture-model-generator/modules/architecture-model-generator-core/src/main/java/io/ballerina/artifactsgenerator/ModuleNodeTransformer.java +++ b/architecture-model-generator/modules/architecture-model-generator-core/src/main/java/io/ballerina/artifactsgenerator/ModuleNodeTransformer.java @@ -101,6 +101,8 @@ public Optional transform(FunctionDefinitionNode functionDefinitionNod .name(functionName) .type(Artifact.Type.DATA_MAPPER); } + } else if (functionDefinitionNode.functionBody().kind() == SyntaxKind.EXTERNAL_FUNCTION_BODY) { + return Optional.empty(); } else if (functionDefinitionNode.kind() == SyntaxKind.RESOURCE_ACCESSOR_DEFINITION) { functionBuilder .accessor(functionName) diff --git a/architecture-model-generator/modules/architecture-model-generator-ls-extension/src/test/resources/artifacts/config/functions.json b/architecture-model-generator/modules/architecture-model-generator-ls-extension/src/test/resources/artifacts/config/functions.json index 1c07939884..e722f4c40e 100644 --- a/architecture-model-generator/modules/architecture-model-generator-ls-extension/src/test/resources/artifacts/config/functions.json +++ b/architecture-model-generator/modules/architecture-model-generator-ls-extension/src/test/resources/artifacts/config/functions.json @@ -9,11 +9,11 @@ "location": { "fileName": "functions.bal", "startLine": { - "line": 13, + "line": 14, "offset": 0 }, "endLine": { - "line": 15, + "line": 16, "offset": 1 } }, @@ -27,11 +27,11 @@ "location": { "fileName": "functions.bal", "startLine": { - "line": 25, + "line": 26, "offset": 0 }, "endLine": { - "line": 27, + "line": 28, "offset": 1 } }, @@ -45,11 +45,11 @@ "location": { "fileName": "functions.bal", "startLine": { - "line": 39, + "line": 40, "offset": 0 }, "endLine": { - "line": 44, + "line": 45, "offset": 1 } }, @@ -63,11 +63,11 @@ "location": { "fileName": "functions.bal", "startLine": { - "line": 18, + "line": 19, "offset": 0 }, "endLine": { - "line": 22, + "line": 23, "offset": 1 } }, @@ -81,11 +81,11 @@ "location": { "fileName": "functions.bal", "startLine": { - "line": 47, + "line": 48, "offset": 0 }, "endLine": { - "line": 49, + "line": 50, "offset": 1 } }, @@ -99,11 +99,11 @@ "location": { "fileName": "functions.bal", "startLine": { - "line": 8, + "line": 9, "offset": 0 }, "endLine": { - "line": 10, + "line": 11, "offset": 1 } }, @@ -117,11 +117,11 @@ "location": { "fileName": "functions.bal", "startLine": { - "line": 3, + "line": 4, "offset": 0 }, "endLine": { - "line": 5, + "line": 6, "offset": 1 } }, @@ -135,11 +135,11 @@ "location": { "fileName": "functions.bal", "startLine": { - "line": 30, + "line": 31, "offset": 0 }, "endLine": { - "line": 36, + "line": 37, "offset": 1 } }, @@ -155,11 +155,11 @@ "location": { "fileName": "functions.bal", "startLine": { - "line": 52, + "line": 53, "offset": 0 }, "endLine": { - "line": 71, + "line": 72, "offset": 1 } }, diff --git a/architecture-model-generator/modules/architecture-model-generator-ls-extension/src/test/resources/artifacts/source/functions.bal b/architecture-model-generator/modules/architecture-model-generator-ls-extension/src/test/resources/artifacts/source/functions.bal index df321598ab..39c208ac1a 100644 --- a/architecture-model-generator/modules/architecture-model-generator-ls-extension/src/test/resources/artifacts/source/functions.bal +++ b/architecture-model-generator/modules/architecture-model-generator-ls-extension/src/test/resources/artifacts/source/functions.bal @@ -1,4 +1,5 @@ import ballerina/io; +import ballerina/jballerina.java; // Basic function with no parameters and no return value public function sayHello() { @@ -70,3 +71,9 @@ public function main() { io:println("Error: " + divResult.message()); } } + +function execCommand(handle runtime, handle command) returns handle|error = @java:Method { + 'class: "java.lang.Runtime", + name: "exec", + paramTypes: ["java.lang.String"] +} external;