Skip to content

Commit 96e38cf

Browse files
authored
Merge pull request #671 from KavinduZoysa/fix-issue-2338
Disable external functions from artifacts
2 parents 6814c2e + fa68835 commit 96e38cf

File tree

3 files changed

+27
-18
lines changed

3 files changed

+27
-18
lines changed

architecture-model-generator/modules/architecture-model-generator-core/src/main/java/io/ballerina/artifactsgenerator/ModuleNodeTransformer.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,8 @@ public Optional<Artifact> transform(FunctionDefinitionNode functionDefinitionNod
101101
.name(functionName)
102102
.type(Artifact.Type.DATA_MAPPER);
103103
}
104+
} else if (functionDefinitionNode.functionBody().kind() == SyntaxKind.EXTERNAL_FUNCTION_BODY) {
105+
return Optional.empty();
104106
} else if (functionDefinitionNode.kind() == SyntaxKind.RESOURCE_ACCESSOR_DEFINITION) {
105107
functionBuilder
106108
.accessor(functionName)

architecture-model-generator/modules/architecture-model-generator-ls-extension/src/test/resources/artifacts/config/functions.json

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,11 @@
99
"location": {
1010
"fileName": "functions.bal",
1111
"startLine": {
12-
"line": 13,
12+
"line": 14,
1313
"offset": 0
1414
},
1515
"endLine": {
16-
"line": 15,
16+
"line": 16,
1717
"offset": 1
1818
}
1919
},
@@ -27,11 +27,11 @@
2727
"location": {
2828
"fileName": "functions.bal",
2929
"startLine": {
30-
"line": 25,
30+
"line": 26,
3131
"offset": 0
3232
},
3333
"endLine": {
34-
"line": 27,
34+
"line": 28,
3535
"offset": 1
3636
}
3737
},
@@ -45,11 +45,11 @@
4545
"location": {
4646
"fileName": "functions.bal",
4747
"startLine": {
48-
"line": 39,
48+
"line": 40,
4949
"offset": 0
5050
},
5151
"endLine": {
52-
"line": 44,
52+
"line": 45,
5353
"offset": 1
5454
}
5555
},
@@ -63,11 +63,11 @@
6363
"location": {
6464
"fileName": "functions.bal",
6565
"startLine": {
66-
"line": 18,
66+
"line": 19,
6767
"offset": 0
6868
},
6969
"endLine": {
70-
"line": 22,
70+
"line": 23,
7171
"offset": 1
7272
}
7373
},
@@ -81,11 +81,11 @@
8181
"location": {
8282
"fileName": "functions.bal",
8383
"startLine": {
84-
"line": 47,
84+
"line": 48,
8585
"offset": 0
8686
},
8787
"endLine": {
88-
"line": 49,
88+
"line": 50,
8989
"offset": 1
9090
}
9191
},
@@ -99,11 +99,11 @@
9999
"location": {
100100
"fileName": "functions.bal",
101101
"startLine": {
102-
"line": 8,
102+
"line": 9,
103103
"offset": 0
104104
},
105105
"endLine": {
106-
"line": 10,
106+
"line": 11,
107107
"offset": 1
108108
}
109109
},
@@ -117,11 +117,11 @@
117117
"location": {
118118
"fileName": "functions.bal",
119119
"startLine": {
120-
"line": 3,
120+
"line": 4,
121121
"offset": 0
122122
},
123123
"endLine": {
124-
"line": 5,
124+
"line": 6,
125125
"offset": 1
126126
}
127127
},
@@ -135,11 +135,11 @@
135135
"location": {
136136
"fileName": "functions.bal",
137137
"startLine": {
138-
"line": 30,
138+
"line": 31,
139139
"offset": 0
140140
},
141141
"endLine": {
142-
"line": 36,
142+
"line": 37,
143143
"offset": 1
144144
}
145145
},
@@ -155,11 +155,11 @@
155155
"location": {
156156
"fileName": "functions.bal",
157157
"startLine": {
158-
"line": 52,
158+
"line": 53,
159159
"offset": 0
160160
},
161161
"endLine": {
162-
"line": 71,
162+
"line": 72,
163163
"offset": 1
164164
}
165165
},

architecture-model-generator/modules/architecture-model-generator-ls-extension/src/test/resources/artifacts/source/functions.bal

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import ballerina/io;
2+
import ballerina/jballerina.java;
23

34
// Basic function with no parameters and no return value
45
public function sayHello() {
@@ -70,3 +71,9 @@ public function main() {
7071
io:println("Error: " + divResult.message());
7172
}
7273
}
74+
75+
function execCommand(handle runtime, handle command) returns handle|error = @java:Method {
76+
'class: "java.lang.Runtime",
77+
name: "exec",
78+
paramTypes: ["java.lang.String"]
79+
} external;

0 commit comments

Comments
 (0)