def _is_rightmost_operation(node: NodeBase, depth: int) -> bool: # Check if the node is the final operation within the expression parents = node.parents( depth, {"nodeType": "BinaryOperation", "typeDescriptions.typeString": "bool"} ) return not next( (i for i in parents if i.leftExpression == node or node.is_child_of(i.leftExpression)), False, )
def _check_left_operator(node: NodeBase, depth: int) -> bool: # Find the nearest parent boolean where this node sits on the left side of # the comparison, and return True if that node's operator is || parents = node.parents( depth, {"nodeType": "BinaryOperation", "typeDescriptions.typeString": "bool"} ) op = next( i for i in parents if i.leftExpression == node or node.is_child_of(i.leftExpression) ).operator return op == "||"