1ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh# Copyright 2006 Google, Inc. All Rights Reserved.
2ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh# Licensed to PSF under a Contributor Agreement.
3ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh
4ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh"""Fixer that turns <> into !=."""
5ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh
6ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh# Local imports
7ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsiehfrom .. import pytree
8ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsiehfrom ..pgen2 import token
9ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsiehfrom .. import fixer_base
10ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh
11ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh
12ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsiehclass FixNe(fixer_base.BaseFix):
13ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh    # This is so simple that we don't need the pattern compiler.
14ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh
15ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh    _accept_type = token.NOTEQUAL
16ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh
17ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh    def match(self, node):
18ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh        # Override
19ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh        return node.value == u"<>"
20ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh
21ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh    def transform(self, node, results):
22ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh        new = pytree.Leaf(token.NOTEQUAL, u"!=", prefix=node.prefix)
23ffab958fd8d42ed7227d83007350e61555a1fa36Andrew Hsieh        return new
24