From 89c25c8246bda40bba0652891d17c2c82f13c790 Mon Sep 17 00:00:00 2001 From: Caroline Russell Date: Tue, 13 Feb 2024 01:12:34 -0500 Subject: [PATCH] Get line numbers from calls. Signed-off-by: Caroline Russell --- atom_tools/lib/converter.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/atom_tools/lib/converter.py b/atom_tools/lib/converter.py index 3795650..3ffea3d 100644 --- a/atom_tools/lib/converter.py +++ b/atom_tools/lib/converter.py @@ -259,6 +259,7 @@ def process_calls(self, method_map: Dict) -> Dict[str, Any]: mmap = self.filter_calls(res, resolved_methods) else: mmap = self.filter_calls([], resolved_methods) + method_map['full_names'][full_name]['resolved_methods'] = ( mmap.get('resolved_methods')) @@ -282,8 +283,14 @@ def filter_calls( i for i in queried_calls if i.get('resolvedMethod', '') == method ] + line_nos = [ + i.get('lineNumber') + for i in calls + if i.get('lineNumber') and + i.get('resolvedMethod', '') == method + ] resolved_methods['resolved_methods'][method].update( - {'calls': calls}) + {'calls': calls, 'line_nos': line_nos}) return resolved_methods def methods_to_endpoints( @@ -405,6 +412,7 @@ def create_paths_item(self, paths_dict: Dict) -> Dict: """ endpoints = paths_dict[1].get('endpoints') calls = paths_dict[1].get('calls') + line_numbers = paths_dict[1].get('line_nos') paths_object: Dict = {} for ep in endpoints: @@ -424,6 +432,8 @@ def create_paths_item(self, paths_dict: Dict) -> Dict: paths_item_object |= self.calls_to_params(ep, call) else: paths_item_object |= self.calls_to_params(ep, None) + if line_numbers: + paths_item_object['x-atom-usages-line-no'] = line_numbers if paths_item_object: if paths_object.get(ep): paths_object[ep] |= paths_item_object