예제 #1
0
 def ll_matches(MATCHTYPE, MATCH_INIT, MATCH_CONTEXTTYPE,
                MATCH_CONTEXT_INIT, MATCH_CONTEXT, ll_rule, s, pos):
     s = hlstr(s)
     assert pos >= 0
     ctx = instantiate(MATCH_CONTEXTTYPE)
     hlinvoke(MATCH_CONTEXT_INIT, rsre_core.StrMatchContext.__init__,
              ctx, ll_rule.code, hlstr(s), pos, len(s), 0)
     matched = hlinvoke(MATCH_CONTEXT, rsre_core.match_context, ctx)
     if matched:
         match = instantiate(MATCHTYPE)
         hlinvoke(MATCH_INIT, Match.__init__, match, ctx.match_start,
                  ctx.match_end)
         return match
     else:
         return None
 def ll_matches(MATCHTYPE, MATCH_INIT, MATCH_CONTEXTTYPE,
                MATCH_CONTEXT_INIT, MATCH_CONTEXT, ll_rule, s, pos):
     s = hlstr(s)
     assert pos >= 0
     ctx = instantiate(MATCH_CONTEXTTYPE)
     hlinvoke(MATCH_CONTEXT_INIT, rsre_core.StrMatchContext.__init__,
         ctx, ll_rule.code, hlstr(s), pos, len(s), 0
     )
     matched = hlinvoke(MATCH_CONTEXT, rsre_core.match_context, ctx)
     if matched:
         match = instantiate(MATCHTYPE)
         hlinvoke(MATCH_INIT, Match.__init__,
             match, ctx.match_start, ctx.match_end
         )
         return match
     else:
         return None
예제 #3
0
 def ll_keyeq_custom(d, key1, key2):
     DICT = lltype.typeOf(d).TO
     return hlinvoke(DICT.r_keyeq, d.keyeq_func, key1, key2)
예제 #4
0
 def ll_hashkey_custom(d, key):
     DICT = lltype.typeOf(d).TO
     return hlinvoke(DICT.r_hashkey, d.hashkey_func, key)
예제 #5
0
def ll_keyeq_custom(d, key1, key2):
    DICT = lltype.typeOf(d).TO
    return objectmodel.hlinvoke(DICT.r_rdict_eqfn, d.fnkeyeq, key1, key2)
예제 #6
0
def ll_keyhash_custom(d, key):
    DICT = lltype.typeOf(d).TO
    return objectmodel.hlinvoke(DICT.r_rdict_hashfn, d.fnkeyhash, key)
예제 #7
0
파일: rdict.py 프로젝트: charred/pypy
def ll_keyeq_custom(d, key1, key2):
    DICT = lltype.typeOf(d).TO
    return objectmodel.hlinvoke(DICT.r_rdict_eqfn, d.fnkeyeq, key1, key2)
예제 #8
0
파일: rdict.py 프로젝트: charred/pypy
def ll_keyhash_custom(d, key):
    DICT = lltype.typeOf(d).TO
    return objectmodel.hlinvoke(DICT.r_rdict_hashfn, d.fnkeyhash, key)
예제 #9
0
 def ll_keyeq_custom(d, key1, key2):
     DICT = lltype.typeOf(d).TO
     return hlinvoke(DICT.r_keyeq, d.keyeq_func, key1, key2)
예제 #10
0
 def ll_hashkey_custom(d, key):
     DICT = lltype.typeOf(d).TO
     return hlinvoke(DICT.r_hashkey, d.hashkey_func, key)