[pypy-commit] pypy default: Remove unneeded __extend__ in _sre
alex_gaynor
noreply at buildbot.pypy.org
Sun Nov 25 17:16:29 CET 2012
Author: Alex Gaynor <alex.gaynor at gmail.com>
Branch:
Changeset: r59084:dad8051ccf24
Date: 2012-11-25 10:15 -0600
http://bitbucket.org/pypy/pypy/changeset/dad8051ccf24/
Log: Remove unneeded __extend__ in _sre
diff --git a/pypy/module/_sre/interp_sre.py b/pypy/module/_sre/interp_sre.py
--- a/pypy/module/_sre/interp_sre.py
+++ b/pypy/module/_sre/interp_sre.py
@@ -6,7 +6,6 @@
from pypy.interpreter.gateway import interp2app, unwrap_spec, WrappedDefault
from pypy.interpreter.error import OperationError
from pypy.rlib.rarithmetic import intmask
-from pypy.tool.pairtype import extendabletype
from pypy.rlib import jit
# ____________________________________________________________
@@ -16,10 +15,12 @@
from pypy.rlib.rsre import rsre_core
from pypy.rlib.rsre.rsre_char import MAGIC, CODESIZE, getlower, set_unicode_db
+
@unwrap_spec(char_ord=int, flags=int)
def w_getlower(space, char_ord, flags):
return space.wrap(getlower(char_ord, flags))
+
def w_getcodesize(space):
return space.wrap(CODESIZE)
@@ -29,32 +30,17 @@
# ____________________________________________________________
#
-# Additional methods on the classes XxxMatchContext
-class __extend__(rsre_core.AbstractMatchContext):
- __metaclass__ = extendabletype
- def _w_slice(self, space, start, end):
- raise NotImplementedError
- def _w_string(self, space):
- raise NotImplementedError
-
-class __extend__(rsre_core.StrMatchContext):
- __metaclass__ = extendabletype
- def _w_slice(self, space, start, end):
- return space.wrap(self._string[start:end])
- def _w_string(self, space):
- return space.wrap(self._string)
-
-class __extend__(rsre_core.UnicodeMatchContext):
- __metaclass__ = extendabletype
- def _w_slice(self, space, start, end):
- return space.wrap(self._unicodestr[start:end])
- def _w_string(self, space):
- return space.wrap(self._unicodestr)
def slice_w(space, ctx, start, end, w_default):
if 0 <= start <= end:
- return ctx._w_slice(space, start, end)
+ if isinstance(ctx, rsre_core.StrMatchContext):
+ return space.wrap(ctx._string[start:end])
+ elif isinstance(ctx, rsre_core.UnicodeMatchContext):
+ return space.wrap(ctx._unicodestr[start:end])
+ else:
+ # unreachable
+ raise SystemError
return w_default
def do_flatten_marks(ctx, num_groups):
@@ -472,7 +458,13 @@
return space.newtuple(result_w)
def fget_string(self, space):
- return self.ctx._w_string(space)
+ ctx = self.ctx
+ if isinstance(ctx, rsre_core.StrMatchContext):
+ return space.wrap(ctx._string)
+ elif isinstance(ctx, rsre_core.UnicodeMatchContext):
+ return space.wrap(ctx._unicodestr)
+ else:
+ raise SystemError
W_SRE_Match.typedef = TypeDef(
More information about the pypy-commit
mailing list