@@ -830,13 +830,6 @@ package body LSP.Ada_Documents is
830
830
procedure Store_Span (Span : LSP.Structures.A_Range);
831
831
-- Include Span to the result .
832
832
833
- function Traverse_Node
834
- (Node : Ada_Node;
835
- Visit : access function (Node : Ada_Node'Class) return Visit_Status)
836
- return Visit_Status;
837
- -- The same as Libadalang.Analysis.Traverse, but without raising
838
- -- exception on a null node.
839
-
840
833
-- ---------
841
834
-- Parse --
842
835
-- ---------
@@ -1014,53 +1007,15 @@ package body LSP.Ada_Documents is
1014
1007
end if ;
1015
1008
end Store_Span ;
1016
1009
1017
- -- -----------------
1018
- -- Traverse_Node --
1019
- -- -----------------
1020
-
1021
- function Traverse_Node
1022
- (Node : Ada_Node;
1023
- Visit : access function (Node : Ada_Node'Class) return Visit_Status)
1024
- return Visit_Status
1025
- is
1026
- Status : Visit_Status := Into;
1027
- begin
1028
- if not Node.Is_Null then
1029
- Status := Visit (Node);
1030
- -- Skip processing the child nodes if the returned status is Over
1031
- -- or Stop. In the former case the previous call to Visit has
1032
- -- taken care of processing the needed childs, and in the latter
1033
- -- case we must immediately stop processing the tree.
1034
- if Status = Into then
1035
- for I in 1 .. Children_Count (Node) loop
1036
- declare
1037
- Cur_Child : constant Ada_Node :=
1038
- Child (Node, I);
1039
- begin
1040
- if not Cur_Child.Is_Null then
1041
- Status := Traverse_Node (Cur_Child, Visit);
1042
- exit when Status /= Into;
1043
- end if ;
1044
- end ;
1045
- end loop ;
1046
- end if ;
1047
- end if ;
1048
-
1049
- if Status = Stop then
1050
- return Stop;
1051
- -- At this stage the Over status has no sense and we just continue
1052
- -- processing the tree.
1053
- else
1054
- return Into;
1055
- end if ;
1056
- end Traverse_Node ;
1057
-
1058
1010
Token : Token_Reference;
1059
1011
Span : LSP.Structures.A_Range;
1060
- Ignore : constant Visit_Status :=
1061
- Traverse_Node (Self.Unit (Context).Root, Parse'Access );
1012
+ Root : constant Ada_Node'Class := Self.Unit (Context).Root;
1062
1013
1063
1014
begin
1015
+ if not Root.Is_Null then
1016
+ Traverse (Root, Parse'Access );
1017
+ end if ;
1018
+
1064
1019
if not Comments then
1065
1020
-- do not process comments
1066
1021
return ;
0 commit comments