def hacking_python3x_metaclass(logical_line, noqa):
    r"""Check for metaclass to be Python 3.x compatible.

    Okay: @six.add_metaclass(Meta)\nclass Foo(object):\n    pass
    Okay: @six.with_metaclass(Meta)\nclass Foo(object):\n    pass
    Okay: class Foo(object):\n    '''docstring\n\n    __metaclass__ = Meta\n'''
    H236: class Foo(object):\n    __metaclass__ = Meta
    H236: class Foo(object):\n    foo=bar\n    __metaclass__ = Meta
    H236: class Foo(object):\n    '''docstr.'''\n    __metaclass__ = Meta
    H236: class Foo(object):\n    __metaclass__ = \\\n        Meta
    Okay: class Foo(object):\n    __metaclass__ = Meta  # noqa
    """
    if noqa:
        return
    split_line = logical_line.split()
    if(len(split_line) > 2 and split_line[0] == '__metaclass__' and
       split_line[1] == '='):
        yield (logical_line.find('__metaclass__'),
               "H236: Python 3.x incompatible __metaclass__, "
               "use six.add_metaclass()")
r"""Check for metaclass to be Python 3.x compatible.

    Okay: @six.add_metaclass(Meta)\nclass Foo(object):\n    pass
    Okay: @six.with_metaclass(Meta)\nclass Foo(object):\n    pass
    Okay: class Foo(object):\n    '''docstring\n\n    __metaclass__ = Meta\n'''
    H236: class Foo(object):\n    __metaclass__ = Meta
    H236: class Foo(object):\n    foo=bar\n    __metaclass__ = Meta
    H236: class Foo(object):\n    '''docstr.'''\n    __metaclass__ = Meta
    H236: class Foo(object):\n    __metaclass__ = \\\n        Meta
    Okay: class Foo(object):\n    __metaclass__ = Meta  # noqa