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
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
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))
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))