awips2/deltaScripts/17.3.1/DR5959/fix_jlongvalue.py
2022-05-05 12:34:50 -05:00

24 lines
795 B
Python

from lib2to3.pgen2 import token
from lib2to3.pygram import python_symbols as syms
from lib2to3 import fixer_base
from lib2to3.fixer_util import Name, Call
class FixJlongvalue(fixer_base.BaseFix):
BM_compatible = True
PATTERN = """
power< base=any+ trailer< '.' attr='longValue' > trailer< '(' ')' > >
|
power< head=any+ trailer< '.' attr='longValue' > not trailer< '(' ')' > >
"""
order = "pre"
def start_tree(self, tree, filename):
super(FixJlongvalue, self).start_tree(tree, filename)
def transform(self, node, results):
assert results
base = results.get("base")
if base:
base = [n.clone() for n in base]
base[0].prefix = u""
node.replace(Call(Name(u"long", prefix=node.prefix), base))