def attr_attributes_transform(node):
    """Given that the ClassNode has an attr decorator,
    rewrite class attributes as instance attributes
    """
    # Astroid can't infer this attribute properly
    # Prevents https://github.com/PyCQA/pylint/issues/1884
    node.locals["__attrs_attrs__"] = [astroid.Unknown(parent=node)]

    for cdefbodynode in node.body:
        if not isinstance(cdefbodynode, astroid.Assign):
            continue
        if isinstance(cdefbodynode.value, astroid.Call):
            if cdefbodynode.value.func.as_string() not in ATTRIB_NAMES:
                continue
        else:
            continue
        for target in cdefbodynode.targets:

            rhs_node = astroid.Unknown(
                lineno=cdefbodynode.lineno,
                col_offset=cdefbodynode.col_offset,
                parent=cdefbodynode,
            )
            node.locals[target.name] = [rhs_node]
def attr_attributes_transform ( node ) : node . locals [ "__attrs_attrs__" ] = [ astroid . Unknown ( parent = node ) ] for cdefbodynode in node . body : if not isinstance ( cdefbodynode , astroid . Assign ) : continue if isinstance ( cdefbodynode . value , astroid . Call ) : if cdefbodynode . value . func . as_string ( ) not in ATTRIB_NAMES : continue else : continue for target in cdefbodynode . targets : rhs_node = astroid . Unknown ( lineno = cdefbodynode . lineno , col_offset = cdefbodynode . col_offset , parent = cdefbodynode , ) node . locals [ target . name ] = [ rhs_node ]
Given that the ClassNode has an attr decorator,
    rewrite class attributes as instance attributes