@@ -39,6 +39,7 @@ package body LSP.Ada_Completions.Names is
39
39
use all type Libadalang.Analysis.Base_Id;
40
40
use all type Libadalang.Common.Ada_Node_Kind_Type;
41
41
use type Libadalang.Common.Token_Kind;
42
+ use type Libadalang.Common.Token_Reference;
42
43
43
44
Parent : Libadalang.Analysis.Ada_Node;
44
45
-- The parent of the node to complete.
@@ -55,16 +56,17 @@ package body LSP.Ada_Completions.Names is
55
56
-- - CallStmt
56
57
-- - Dotted_Name
57
58
-- - ErrorStmt/LoopStmt/etc.
59
+ Previous_Token : constant Libadalang.Common.Token_Reference :=
60
+ Libadalang.Common.Previous
61
+ (Token, Exclude_Trivia => True);
58
62
Error_Dotted_Recovery : constant Boolean :=
59
63
Libadalang.Analysis.Is_Keyword
60
64
(Token => Token,
61
65
Version => Libadalang.Common.Ada_2012)
62
66
and then
63
- Libadalang.Common.Kind
64
- (Libadalang.Common.Data
65
- (Libadalang.Common.Previous
66
- (Token, Exclude_Trivia => True)))
67
- = Libadalang.Common.Ada_Dot;
67
+ (Previous_Token /= Libadalang.Common.No_Token and then
68
+ Libadalang.Common.Kind (Libadalang.Common.Data (Previous_Token))
69
+ = Libadalang.Common.Ada_Dot);
68
70
begin
69
71
70
72
-- Get the outermost dotted name of which node is a prefix, so that when
0 commit comments