Skip to content

Commit e9ed90f

Browse files
committed
Testcase of generic function and instantiation.
1 parent 67723a6 commit e9ed90f

File tree

6 files changed

+94
-2
lines changed

6 files changed

+94
-2
lines changed
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
-- Copyright header
2+
3+
-- Description of the generic function body
4+
5+
function Generic_Function return Integer is
6+
begin
7+
return 0;
8+
end Generic_Function;
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
-- Copyright header
2+
3+
-- Description of the generic function specification
4+
5+
generic
6+
function Generic_Function return Integer;
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
-- Copyright header
2+
3+
-- Description of the generic function instantiation
4+
5+
with Generic_Function;
6+
7+
function Generic_Function_Instantiation is new Generic_Function;

testsuite/als_helper/generics_package.adb

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,24 @@
22

33
-- Description of the package specification
44

5+
with Generic_Function_Instantiation;
56
with Generic_Package_Instantiation;
7+
with Generic_Procedure_Instantiation;
68

79
package body Generics_Package is
810

911
procedure Dummy is
1012
begin
1113
Generic_Package_Instantiation.Dummy;
14+
15+
declare
16+
X : Integer := Generic_Function_Instantiation;
17+
18+
begin
19+
null;
20+
end;
21+
22+
Generic_Procedure_Instantiation;
1223
end Dummy;
1324

1425
end Generics_Package;

testsuite/als_helper/locations.json

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,9 +129,32 @@
129129

130130
{"file": "generic_package_instantiation.ads", "line": 7, "column": 9},
131131
// reference: `Generic_Package_Instantiation` (context clause)
132-
{"file": "generics_package.adb", "line": 11, "column": 7},
132+
{"file": "generics_package.adb", "line": 13, "column": 7},
133133
// reference: `Generic_Package_Instantiation`
134134

135+
// LAL 20251007: `Most_Visible_Part` returns body always
136+
// {"file": "generic_function.ads", "line": 6, "column": 10},
137+
// // declaration: `Generic_Function`
138+
{"file": "generic_function.adb", "line": 5, "column": 10},
139+
// declaration: `Generic_Function` (body)
140+
{"file": "generic_function.adb", "line": 8, "column": 5},
141+
// reference: `Generic_Function` (end)
142+
// LAL 20251007: `Most_Visible_Part` returns body always
143+
// {"file": "generic_function_instantiation.ads", "line": 5, "column": 6},
144+
// // reference: `Generic_Function`
145+
// {"file": "generic_function_instantiation.ads", "line": 7, "column": 48},
146+
// // reference: `Generic_Function`
147+
148+
{"file": "generic_function_instantiation.ads", "line": 7, "column": 10},
149+
// declaration: `Generic_Function_Instantiation`
150+
{"file": "generics_package.adb", "line": 5, "column": 6},
151+
// reference: `Generic_Function_Instantiation` (context clause)
152+
{"file": "generics_package.adb", "line": 16, "column": 25},
153+
// reference: `Generic_Function_Instantiation`
154+
155+
// {"file": "generic_procedure.ads", "line": 6, "column": 11},
156+
// // declaration: `Generic_Procedure`
157+
135158
// Objects
136159

137160
{"file": "objects.ads", "line": 4, "column": 4},

testsuite/als_helper/test.out

Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -612,12 +612,49 @@ package Generic_Package_Instantiation is new Generic_Package;
612612
Description of the generic package instantiation
613613
----- DONE -----
614614
Defining name: <DefiningName "Generic_Package_Instantiation" generic_package_instantiation.ads:7:9-7:38>
615-
Origin: <Id "Generic_Package_Instantiation" generics_package.adb:11:7-11:36>
615+
Origin: <Id "Generic_Package_Instantiation" generics_package.adb:13:7-13:36>
616616
----- CODE SNIPPET -----
617617
package Generic_Package_Instantiation is new Generic_Package;
618618
----- DOCUMENTATION -----
619619
Description of the generic package instantiation
620620
----- DONE -----
621+
Defining name: <DefiningName "Generic_Function" generic_function.adb:5:10-5:26>
622+
Origin: <Id "Generic_Function" generic_function.adb:5:10-5:26>
623+
----- CODE SNIPPET -----
624+
----- DOCUMENTATION -----
625+
Description of the generic function body
626+
627+
@return
628+
----- DONE -----
629+
Defining name: <DefiningName "Generic_Function" generic_function.adb:5:10-5:26>
630+
Origin: <Id "Generic_Function" generic_function.adb:8:5-8:21>
631+
----- CODE SNIPPET -----
632+
----- DOCUMENTATION -----
633+
Description of the generic function body
634+
635+
@return
636+
----- DONE -----
637+
Defining name: <DefiningName "Generic_Function_Instantiation" generic_function_instantiation.ads:7:10-7:40>
638+
Origin: <Id "Generic_Function_Instantiation" generic_function_instantiation.ads:7:10-7:40>
639+
----- CODE SNIPPET -----
640+
function Generic_Function_Instantiation is new Generic_Function;
641+
----- DOCUMENTATION -----
642+
Description of the generic function instantiation
643+
----- DONE -----
644+
Defining name: <DefiningName "Generic_Function_Instantiation" generic_function_instantiation.ads:7:10-7:40>
645+
Origin: <Id "Generic_Function_Instantiation" generics_package.adb:5:6-5:36>
646+
----- CODE SNIPPET -----
647+
function Generic_Function_Instantiation is new Generic_Function;
648+
----- DOCUMENTATION -----
649+
Description of the generic function instantiation
650+
----- DONE -----
651+
Defining name: <DefiningName "Generic_Function_Instantiation" generic_function_instantiation.ads:7:10-7:40>
652+
Origin: <Id "Generic_Function_Instantiation" generics_package.adb:16:25-16:55>
653+
----- CODE SNIPPET -----
654+
function Generic_Function_Instantiation is new Generic_Function;
655+
----- DOCUMENTATION -----
656+
Description of the generic function instantiation
657+
----- DONE -----
621658
Defining name: <DefiningName "Named_Number" objects.ads:4:4-4:16>
622659
Origin: <Id "Named_Number" objects.ads:4:4-4:16>
623660
----- CODE SNIPPET -----

0 commit comments

Comments
 (0)