Ejemplo n.º 1
0
    def _check_attributes_shadowing(self, node: ast.ClassDef) -> None:
        class_attributes, instance_attributes = self._get_attributes(node)
        class_attribute_names = self._flat_assign_names(class_attributes)

        for instance_attr in instance_attributes:
            if instance_attr.attr in class_attribute_names:
                self.add_violation(
                    oop.ShadowedClassAttributeViolation(
                        instance_attr,
                        text=instance_attr.attr,
                    ), )
Ejemplo n.º 2
0
    def _check_attributes_shadowing(self, node: ast.ClassDef) -> None:
        class_attributes, instance_attributes = self._get_attributes(node)
        class_attribute_names = set(
            name_nodes.flat_variable_names(class_attributes),
        )  # TODO: support NamedExpr

        for instance_attr in instance_attributes:
            if instance_attr.attr in class_attribute_names:
                self.add_violation(
                    oop.ShadowedClassAttributeViolation(
                        instance_attr,
                        text=instance_attr.attr,
                    ), )
Ejemplo n.º 3
0
    def _check_attributes_shadowing(self, node: ast.ClassDef) -> None:
        class_attributes, instance_attributes = classes.get_attributes(
            node,
            include_annotated=False,
        )
        class_attribute_names = set(
            name_nodes.flat_variable_names(class_attributes), )

        for instance_attr in instance_attributes:
            if instance_attr.attr in class_attribute_names:
                self.add_violation(
                    oop.ShadowedClassAttributeViolation(
                        instance_attr,
                        text=instance_attr.attr,
                    ), )