[pypy-commit] pypy default: use the new methods
cfbolz
noreply at buildbot.pypy.org
Mon Jun 17 14:35:30 CEST 2013
Author: Carl Friedrich Bolz <cfbolz at gmx.de>
Branch:
Changeset: r64914:682f12897cc8
Date: 2013-06-16 09:56 +0200
http://bitbucket.org/pypy/pypy/changeset/682f12897cc8/
Log: use the new methods
diff --git a/pypy/objspace/std/stringobject.py b/pypy/objspace/std/stringobject.py
--- a/pypy/objspace/std/stringobject.py
+++ b/pypy/objspace/std/stringobject.py
@@ -11,12 +11,13 @@
from pypy.objspace.std.register_all import register_all
from pypy.objspace.std.sliceobject import W_SliceObject, normalize_simple_slice
from pypy.objspace.std.stringtype import (
- joined2, sliced, stringendswith, stringstartswith, wrapchar, wrapstr)
+ joined2, sliced, wrapchar, wrapstr)
from rpython.rlib import jit
from rpython.rlib.objectmodel import (
compute_hash, compute_unique_id, specialize)
from rpython.rlib.rarithmetic import ovfcheck
-from rpython.rlib.rstring import StringBuilder, split, rsplit, replace
+from rpython.rlib.rstring import (StringBuilder, split, rsplit, replace,
+ endswith, startswith)
class W_AbstractStringObject(W_Object):
@@ -593,7 +594,7 @@
def str_endswith__String_String_ANY_ANY(space, w_self, w_suffix, w_start, w_end):
(u_self, start, end) = _convert_idx_params(space, w_self, w_start,
w_end, True)
- return space.newbool(stringendswith(u_self, w_suffix._value, start, end))
+ return space.newbool(endswith(u_self, w_suffix._value, start, end))
def str_endswith__String_ANY_ANY_ANY(space, w_self, w_suffixes, w_start, w_end):
if not space.isinstance_w(w_suffixes, space.w_tuple):
@@ -606,14 +607,14 @@
return space.call_method(w_u, "endswith", w_suffixes, w_start,
w_end)
suffix = space.str_w(w_suffix)
- if stringendswith(u_self, suffix, start, end):
+ if endswith(u_self, suffix, start, end):
return space.w_True
return space.w_False
def str_startswith__String_String_ANY_ANY(space, w_self, w_prefix, w_start, w_end):
(u_self, start, end) = _convert_idx_params(space, w_self, w_start,
w_end, True)
- return space.newbool(stringstartswith(u_self, w_prefix._value, start, end))
+ return space.newbool(startswith(u_self, w_prefix._value, start, end))
def str_startswith__String_ANY_ANY_ANY(space, w_self, w_prefixes, w_start, w_end):
if not space.isinstance_w(w_prefixes, space.w_tuple):
@@ -626,7 +627,7 @@
return space.call_method(w_u, "startswith", w_prefixes, w_start,
w_end)
prefix = space.str_w(w_prefix)
- if stringstartswith(u_self, prefix, start, end):
+ if startswith(u_self, prefix, start, end):
return space.w_True
return space.w_False
diff --git a/pypy/objspace/std/stringtype.py b/pypy/objspace/std/stringtype.py
--- a/pypy/objspace/std/stringtype.py
+++ b/pypy/objspace/std/stringtype.py
@@ -295,28 +295,3 @@
str_typedef.registermethods(globals())
-# ____________________________________________________________
-
-# Helpers for several string implementations
-
- at specialize.argtype(0)
- at jit.elidable
-def stringendswith(u_self, suffix, start, end):
- begin = end - len(suffix)
- if begin < start:
- return False
- for i in range(len(suffix)):
- if u_self[begin+i] != suffix[i]:
- return False
- return True
-
- at specialize.argtype(0)
- at jit.elidable
-def stringstartswith(u_self, prefix, start, end):
- stop = start + len(prefix)
- if stop > end:
- return False
- for i in range(len(prefix)):
- if u_self[start+i] != prefix[i]:
- return False
- return True
diff --git a/pypy/objspace/std/unicodeobject.py b/pypy/objspace/std/unicodeobject.py
--- a/pypy/objspace/std/unicodeobject.py
+++ b/pypy/objspace/std/unicodeobject.py
@@ -9,13 +9,13 @@
from pypy.objspace.std.noneobject import W_NoneObject
from pypy.objspace.std.sliceobject import W_SliceObject, normalize_simple_slice
from pypy.objspace.std.stringobject import W_StringObject
-from pypy.objspace.std.stringtype import stringendswith, stringstartswith
from pypy.objspace.std.register_all import register_all
from rpython.rlib import jit
from rpython.rlib.rarithmetic import ovfcheck
from rpython.rlib.objectmodel import (
compute_hash, compute_unique_id, specialize)
-from rpython.rlib.rstring import UnicodeBuilder, split, rsplit, replace
+from rpython.rlib.rstring import (UnicodeBuilder, split, rsplit, replace,
+ startswith, endswith)
from rpython.rlib.runicode import make_unicode_escape_function
from rpython.tool.sourcetools import func_with_new_name
@@ -489,14 +489,14 @@
def unicode_endswith__Unicode_Unicode_ANY_ANY(space, w_self, w_substr, w_start, w_end):
self, start, end = _convert_idx_params(space, w_self,
w_start, w_end, True)
- return space.newbool(stringendswith(self, w_substr._value, start, end))
+ return space.newbool(endswith(self, w_substr._value, start, end))
def unicode_startswith__Unicode_Unicode_ANY_ANY(space, w_self, w_substr, w_start, w_end):
self, start, end = _convert_idx_params(space, w_self, w_start, w_end, True)
# XXX this stuff can be waaay better for ootypebased backends if
# we re-use more of our rpython machinery (ie implement startswith
# with additional parameters as rpython)
- return space.newbool(stringstartswith(self, w_substr._value, start, end))
+ return space.newbool(startswith(self, w_substr._value, start, end))
def unicode_startswith__Unicode_ANY_ANY_ANY(space, w_unistr, w_prefixes,
w_start, w_end):
@@ -506,7 +506,7 @@
w_start, w_end, True)
for w_prefix in space.fixedview(w_prefixes):
prefix = space.unicode_w(w_prefix)
- if stringstartswith(unistr, prefix, start, end):
+ if startswith(unistr, prefix, start, end):
return space.w_True
return space.w_False
@@ -518,7 +518,7 @@
w_start, w_end, True)
for w_suffix in space.fixedview(w_suffixes):
suffix = space.unicode_w(w_suffix)
- if stringendswith(unistr, suffix, start, end):
+ if endswith(unistr, suffix, start, end):
return space.w_True
return space.w_False
More information about the pypy-commit
mailing list