aboutsummaryrefslogtreecommitdiffstats
path: root/pyGHDL/lsp
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2022-06-04 09:19:06 +0200
committerTristan Gingold <tgingold@free.fr>2022-06-04 16:27:52 +0200
commit7ece912432d462bf361d90a05df84c34724771e1 (patch)
tree0ef97317159f41444c76969d1c110cf116fa31b0 /pyGHDL/lsp
parent7b03815747527c625c6c913bf019307e4495ad7e (diff)
downloadghdl-7ece912432d462bf361d90a05df84c34724771e1.tar.gz
ghdl-7ece912432d462bf361d90a05df84c34724771e1.tar.bz2
ghdl-7ece912432d462bf361d90a05df84c34724771e1.zip
pyGHDL/lsp: handle goto-reference on records elements
Diffstat (limited to 'pyGHDL/lsp')
-rw-r--r--pyGHDL/lsp/references.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/pyGHDL/lsp/references.py b/pyGHDL/lsp/references.py
index 44a5f8c13..d83930355 100644
--- a/pyGHDL/lsp/references.py
+++ b/pyGHDL/lsp/references.py
@@ -76,7 +76,9 @@ def find_def(n, loc):
return res
elif typ == nodes_meta.types.Iir_Flist:
attr = nodes_meta.get_field_attribute(f)
- if attr == nodes_meta.Attr.ANone:
+ if (attr == nodes_meta.Attr.ANone
+ or (attr == nodes_meta.Attr.Of_Maybe_Ref
+ and not nodes.Get_Is_Ref(n))):
for n1 in pyutils.flist_iter(nodes_meta.Get_Iir_Flist(n, f)):
res = find_def(n1, loc)
if res is not None: