Exemplo n.º 1
0
 def _check_useless_compare(self, node: ast.Compare) -> None:
     last_variable = get_assigned_expr(node.left)
     for next_variable in map(get_assigned_expr, node.comparators):
         if is_same_variable(last_variable, next_variable):
             self.add_violation(UselessCompareViolation(node))
             break
         last_variable = next_variable
Exemplo n.º 2
0
 def _check_useless_compare(self, node: ast.Compare) -> None:
     last_variable = node.left
     for next_variable in node.comparators:
         if is_same_variable(last_variable, next_variable):
             self.add_violation(UselessCompareViolation(node))
             break
         last_variable = next_variable
Exemplo n.º 3
0
    def _check_self_misrefactored_assignment(
        self,
        node: ast.AugAssign,
    ) -> None:
        node_value: ast.expr
        if isinstance(node.value, ast.BinOp):
            node_value = node.value.left

        if isinstance(node.value, self._blocked_self_assignment):
            if name_nodes.is_same_variable(node.target, node_value):
                self.add_violation(MisrefactoredAssignmentViolation(node))
Exemplo n.º 4
0
    def _check_augmented_assign_pattern(
        self,
        node: ast.Assign,
    ) -> None:
        if not isinstance(node.value, ast.BinOp):
            return

        is_checkable = (len(node.targets) == 1
                        and isinstance(node.value.right, ast.Name)
                        and isinstance(node.value.left, ast.Name))

        if not is_checkable:
            return

        if name_nodes.is_same_variable(node.targets[0], node.value.left):
            self.add_violation(AugmentedAssignPatternViolation(node))