Skip to content

Move mixins.py to astroid.nodes._base_nodes #1633

@DanielNoord

Description

@DanielNoord

I propose to move mixins.py to astroid.nodes. Specifically to make it a private module within that module.

The most important reason for this is that the Mixin classes in the file are only being used by classes in the nodes module so it makes sense to put them there.

An additional benefit would be that we could change some stuff around to make the inheritance pattern clearer. These Mixins are always mixed with nodes and to help mypy understand them and the astroid code base a little better ideally they should also inherit from NodeNG. This would stop mypy complaining about the usage of methods such as statement() within the methods of the Mixins.

mixins.py isn't included in the __init__.py of astroid and don't provide much use to anybody without actually using the nodes themselves. So I think we can consider this private API.

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