Skip to content

InstanceVariable

Bases: Symbol

Represents an instance variable.

Attributes:

Name Type Description
klass ClassDef | None

The class that defines the instance variable.

Source code in src/library_analyzer/processing/api/purity_analysis/model/_module_data.py
@dataclass
class InstanceVariable(Symbol):
    """Represents an instance variable.

    Attributes
    ----------
    klass :
        The class that defines the instance variable.
    """

    klass: astroid.ClassDef | None = field(default=None)

    def __hash__(self) -> int:
        return hash(str(self))

    def __str__(self) -> str:
        if self.klass is None:
            return f"{self.__class__.__name__}.UNKNOWN_CLASS.{self.name}.line{self.id.line}"
        return f"{self.__class__.__name__}.{self.klass.name}.{self.name}.line{self.id.line}"

klass: astroid.ClassDef | None = field(default=None) class-attribute instance-attribute

__hash__()

Source code in src/library_analyzer/processing/api/purity_analysis/model/_module_data.py
def __hash__(self) -> int:
    return hash(str(self))

__init__(node, id, name, klass=None)

__str__()

Source code in src/library_analyzer/processing/api/purity_analysis/model/_module_data.py
def __str__(self) -> str:
    if self.klass is None:
        return f"{self.__class__.__name__}.UNKNOWN_CLASS.{self.name}.line{self.id.line}"
    return f"{self.__class__.__name__}.{self.klass.name}.{self.name}.line{self.id.line}"