Skip to content

Add co_nlocals to code object #4546

Closed
@DimitrisJim

Description

@DimitrisJim

Opening this separately from #1838 since it also seems like a good first issue.

Currently, code objects are missing the co_freevars attribute:

def foo(a, b, c): pass

In RustPython:

>>>>> foo.__code__.co_nlocals
AttributeError: 'code' object has no attribute 'co_nlocals'

While in Python:

>>> foo.__code__.co_nlocals
3

looking at the other methods on PyCode should help, the implementation should be similar to others there.

As the linked issue states, this does indeed appear to be len(self.varnames) (see this invariant in the CPython source)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions