def node_matches(node, template_node, context):
    if isinstance(template_node, ast.AST):
        return type(node) is type(template_node)
    elif isinstance(template_node, list):
        return isinstance(node, list) and len(template_node) >= len(node) \
            and (template_node == [] or node_matches(node[0], template_node[0], context))
    elif template_node is None:
        return node is None
    elif isinstance(template_node, (str, int, float)):
        return node == template_node
    else:
        return template_node(node, context)
dataset/ETHPy150Open Suor/flaws/flaws/patterns.py/node_matches/swapped operands of `>=`