summaryrefslogtreecommitdiff
path: root/lib/python2.7/lib2to3/fixes/fix_throw.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/python2.7/lib2to3/fixes/fix_throw.py')
-rw-r--r--lib/python2.7/lib2to3/fixes/fix_throw.py56
1 files changed, 0 insertions, 56 deletions
diff --git a/lib/python2.7/lib2to3/fixes/fix_throw.py b/lib/python2.7/lib2to3/fixes/fix_throw.py
deleted file mode 100644
index 1468d89..0000000
--- a/lib/python2.7/lib2to3/fixes/fix_throw.py
+++ /dev/null
@@ -1,56 +0,0 @@
-"""Fixer for generator.throw(E, V, T).
-
-g.throw(E) -> g.throw(E)
-g.throw(E, V) -> g.throw(E(V))
-g.throw(E, V, T) -> g.throw(E(V).with_traceback(T))
-
-g.throw("foo"[, V[, T]]) will warn about string exceptions."""
-# Author: Collin Winter
-
-# Local imports
-from .. import pytree
-from ..pgen2 import token
-from .. import fixer_base
-from ..fixer_util import Name, Call, ArgList, Attr, is_tuple
-
-class FixThrow(fixer_base.BaseFix):
- BM_compatible = True
- PATTERN = """
- power< any trailer< '.' 'throw' >
- trailer< '(' args=arglist< exc=any ',' val=any [',' tb=any] > ')' >
- >
- |
- power< any trailer< '.' 'throw' > trailer< '(' exc=any ')' > >
- """
-
- def transform(self, node, results):
- syms = self.syms
-
- exc = results["exc"].clone()
- if exc.type is token.STRING:
- self.cannot_convert(node, "Python 3 does not support string exceptions")
- return
-
- # Leave "g.throw(E)" alone
- val = results.get(u"val")
- if val is None:
- return
-
- val = val.clone()
- if is_tuple(val):
- args = [c.clone() for c in val.children[1:-1]]
- else:
- val.prefix = u""
- args = [val]
-
- throw_args = results["args"]
-
- if "tb" in results:
- tb = results["tb"].clone()
- tb.prefix = u""
-
- e = Call(exc, args)
- with_tb = Attr(e, Name(u'with_traceback')) + [ArgList([tb])]
- throw_args.replace(pytree.Node(syms.power, with_tb))
- else:
- throw_args.replace(Call(exc, args))