securesauce/precli

Traceback during analysis

Closed this issue · 0 comments

Describe the bug
When analyzing function arguments, a None value is encountered for the parameter ID node. This specifically happens on a star arg like so:

        @functools.wraps(func)
        def wrapper(*args: object, **kwargs: object) -> object:
            given_params: set[str] = set()
            for i, _ in enumerate(args):

This parameter is of type "list_splat_pattern" not "identifier"

To Reproduce
Steps to reproduce the behavior:

  1. precli -r https://github.com/anthropics/anthropic-sdk-python -d
DEBUG:precli.core.run:  Exception traceback: Traceback (most recent call last):
  File "/Users/ericwb/workspace/precli/precli/core/run.py", line 125, in parse_file
    return parser.parse(artifact)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/ericwb/workspace/precli/precli/parsers/__init__.py", line 94, in parse
    self.visit([tree.root_node])
  File "/Users/ericwb/workspace/precli/precli/parsers/__init__.py", line 119, in visit
    visitor_fn(node.children)
  File "/Users/ericwb/workspace/precli/precli/parsers/python.py", line 30, in visit_module
    self.visit(nodes)
  File "/Users/ericwb/workspace/precli/precli/parsers/__init__.py", line 119, in visit
    visitor_fn(node.children)
  File "/Users/ericwb/workspace/precli/precli/parsers/python.py", line 88, in visit_function_definition
    self.visit(nodes)
  File "/Users/ericwb/workspace/precli/precli/parsers/__init__.py", line 119, in visit
    visitor_fn(node.children)
  File "/Users/ericwb/workspace/precli/precli/parsers/__init__.py", line 119, in visit
    visitor_fn(node.children)
  File "/Users/ericwb/workspace/precli/precli/parsers/python.py", line 88, in visit_function_definition
    self.visit(nodes)
  File "/Users/ericwb/workspace/precli/precli/parsers/__init__.py", line 119, in visit
    visitor_fn(node.children)
  File "/Users/ericwb/workspace/precli/precli/parsers/__init__.py", line 119, in visit
    visitor_fn(node.children)
  File "/Users/ericwb/workspace/precli/precli/parsers/__init__.py", line 119, in visit
    visitor_fn(node.children)
  File "/Users/ericwb/workspace/precli/precli/parsers/python.py", line 79, in visit_function_definition
    param_name = param_id.text.decode()
                 ^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'text'

Expected behavior
No tracebacks

Version

precli 0.3.8.dev1
  python version = 3.12.1 (main, Dec 12 2023, 13:19:17) [Clang 15.0.0 (clang-1500.0.40.1)]

Additional context
Add any other context about the problem here.