@@ -512,14 +512,16 @@ def do_count(s: str) -> int:
512512def do_count(s):
513513 s, r0 :: str
514514 r1 :: native_int
515- r2 :: object
516- r3 :: int
515+ r2 :: bit
516+ r3 :: object
517+ r4 :: int
517518L0:
518519 r0 = 'x'
519520 r1 = CPyStr_Count(s, r0, 0)
520- r2 = box(native_int, r1)
521- r3 = unbox(int, r2)
522- return r3
521+ r2 = r1 >= 0 :: signed
522+ r3 = box(native_int, r2)
523+ r4 = unbox(int, r3)
524+ return r4
523525
524526[case testCountStart]
525527def do_count(s: str, start: int) -> int:
@@ -529,15 +531,17 @@ def do_count(s, start):
529531 s :: str
530532 start :: int
531533 r0 :: str
532- r1 :: native_int
533- r2 :: object
534- r3 :: int
534+ r1 :: bit
535+ r2 :: native_int
536+ r3 :: object
537+ r4 :: int
535538L0:
536539 r0 = 'x'
537540 r1 = CPyStr_Count(s, r0, start)
538- r2 = box(native_int, r1)
539- r3 = unbox(int, r2)
540- return r3
541+ r2 = r1 >= 0 :: signed
542+ r3 = box(native_int, r2)
543+ r4 = unbox(int, r3)
544+ return r4
541545
542546[case testCountStartEnd]
543547def do_count(s: str, start: int, end: int) -> int:
@@ -547,12 +551,14 @@ def do_count(s, start, end):
547551 s :: str
548552 start, end :: int
549553 r0 :: str
550- r1 :: native_int
551- r2 :: object
552- r3 :: int
554+ r1 :: bit
555+ r2 :: native_int
556+ r3 :: object
557+ r4 :: int
553558L0:
554559 r0 = 'x'
555- r1 = PyUnicode_Count(s, r0, start, end)
556- r2 = box(native_int, r1)
557- r3 = unbox(int, r2)
558- return r3
560+ r1 = CPyStr_CountFull(s, r0, start, end)
561+ r2 = r1 >= 0 :: signed
562+ r3 = box(native_int, r2)
563+ r4 = unbox(int, r3)
564+ return r4
0 commit comments