Remove RegexTokenizer_Set_Token_RE. It was used internally a long time ago and is now obsolete.
Project: http://git-wip-us.apache.org/repos/asf/lucy/repo Commit: http://git-wip-us.apache.org/repos/asf/lucy/commit/633c4d30 Tree: http://git-wip-us.apache.org/repos/asf/lucy/tree/633c4d30 Diff: http://git-wip-us.apache.org/repos/asf/lucy/diff/633c4d30 Branch: refs/heads/master Commit: 633c4d30b74dbd69dbfc2c70c01c7638317c2d6a Parents: 25d664c Author: Marvin Humphrey <[email protected]> Authored: Sun Jul 19 16:47:23 2015 -0700 Committer: Marvin Humphrey <[email protected]> Committed: Fri Jul 31 14:13:55 2015 -0700 ---------------------------------------------------------------------- c/src/Lucy/Analysis/RegexTokenizer.c | 7 -- core/Lucy/Analysis/RegexTokenizer.cfh | 6 -- example-lang/src/Lucy/Analysis/RegexTokenizer.c | 5 -- perl/xs/Lucy/Analysis/RegexTokenizer.c | 75 ++++++-------------- 4 files changed, 20 insertions(+), 73 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/lucy/blob/633c4d30/c/src/Lucy/Analysis/RegexTokenizer.c ---------------------------------------------------------------------- diff --git a/c/src/Lucy/Analysis/RegexTokenizer.c b/c/src/Lucy/Analysis/RegexTokenizer.c index a811979..d47b3ea 100644 --- a/c/src/Lucy/Analysis/RegexTokenizer.c +++ b/c/src/Lucy/Analysis/RegexTokenizer.c @@ -87,13 +87,6 @@ RegexTokenizer_init(RegexTokenizer *self, String *pattern) { } void -RegexTokenizer_Set_Token_RE_IMP(RegexTokenizer *self, void *token_re) { - UNUSED_VAR(self); - UNUSED_VAR(token_re); - THROW(ERR, "TODO"); -} - -void RegexTokenizer_Destroy_IMP(RegexTokenizer *self) { RegexTokenizerIVARS *const ivars = RegexTokenizer_IVARS(self); DECREF(ivars->pattern); http://git-wip-us.apache.org/repos/asf/lucy/blob/633c4d30/core/Lucy/Analysis/RegexTokenizer.cfh ---------------------------------------------------------------------- diff --git a/core/Lucy/Analysis/RegexTokenizer.cfh b/core/Lucy/Analysis/RegexTokenizer.cfh index 9e35202..ec14d51 100644 --- a/core/Lucy/Analysis/RegexTokenizer.cfh +++ b/core/Lucy/Analysis/RegexTokenizer.cfh @@ -84,12 +84,6 @@ public class Lucy::Analysis::RegexTokenizer Tokenize_Utf8(RegexTokenizer *self, const char *text, size_t len, Inversion *inversion); - /** Set the compiled regular expression for matching a token. Also sets - * `pattern` as a side effect. - */ - void - Set_Token_RE(RegexTokenizer *self, void *token_re); - public incremented Obj* Dump(RegexTokenizer *self); http://git-wip-us.apache.org/repos/asf/lucy/blob/633c4d30/example-lang/src/Lucy/Analysis/RegexTokenizer.c ---------------------------------------------------------------------- diff --git a/example-lang/src/Lucy/Analysis/RegexTokenizer.c b/example-lang/src/Lucy/Analysis/RegexTokenizer.c index 2f21afb..92f42ec 100644 --- a/example-lang/src/Lucy/Analysis/RegexTokenizer.c +++ b/example-lang/src/Lucy/Analysis/RegexTokenizer.c @@ -29,11 +29,6 @@ lucy_RegexTokenizer_init(lucy_RegexTokenizer *self, } void -lucy_RegexTokenizer_set_token_re(lucy_RegexTokenizer *self, void *token_re) { - THROW(LUCY_ERR, "TODO"); -} - -void lucy_RegexTokenizer_destroy(lucy_RegexTokenizer *self) { THROW(LUCY_ERR, "TODO"); } http://git-wip-us.apache.org/repos/asf/lucy/blob/633c4d30/perl/xs/Lucy/Analysis/RegexTokenizer.c ---------------------------------------------------------------------- diff --git a/perl/xs/Lucy/Analysis/RegexTokenizer.c b/perl/xs/Lucy/Analysis/RegexTokenizer.c index 4c6e1f1..f95cf0f 100644 --- a/perl/xs/Lucy/Analysis/RegexTokenizer.c +++ b/perl/xs/Lucy/Analysis/RegexTokenizer.c @@ -27,13 +27,6 @@ static SV* S_compile_token_re(pTHX_ cfish_String *pattern); -static void -S_set_token_re_but_not_pattern(pTHX_ lucy_RegexTokenizer *self, - void *token_re); - -static void -S_set_pattern_from_token_re(pTHX_ lucy_RegexTokenizer *self, void *token_re); - bool lucy_RegexTokenizer_is_available(void) { return true; @@ -61,36 +54,7 @@ lucy_RegexTokenizer_init(lucy_RegexTokenizer *self, // Acquire a compiled regex engine for matching one token. dTHX; - SV *token_re_sv = S_compile_token_re(aTHX_ ivars->pattern); - S_set_token_re_but_not_pattern(aTHX_ self, SvRV(token_re_sv)); - SvREFCNT_dec(token_re_sv); - - return self; -} - -static SV* -S_compile_token_re(pTHX_ cfish_String *pattern) { - dSP; - ENTER; - SAVETMPS; - EXTEND(SP, 1); - PUSHMARK(SP); - XPUSHs((SV*)CFISH_Str_To_Host(pattern)); - PUTBACK; - call_pv("Lucy::Analysis::RegexTokenizer::_compile_token_re", G_SCALAR); - SPAGAIN; - SV *token_re_sv = POPs; - (void)SvREFCNT_inc(token_re_sv); - PUTBACK; - FREETMPS; - LEAVE; - return token_re_sv; -} - -static void -S_set_token_re_but_not_pattern(pTHX_ lucy_RegexTokenizer *self, - void *token_re) { - lucy_RegexTokenizerIVARS *const ivars = lucy_RegexTokenizer_IVARS(self); + SV *token_re = S_compile_token_re(aTHX_ ivars->pattern); #if (PERL_VERSION > 10) REGEXP *rx = SvRX((SV*)token_re); #else @@ -107,29 +71,30 @@ S_set_token_re_but_not_pattern(pTHX_ lucy_RegexTokenizer *self, THROW(CFISH_ERR, "Failed to extract REGEXP from token_re '%s'", SvPV_nolen((SV*)token_re)); } - if (ivars->token_re) { ReREFCNT_dec(((REGEXP*)ivars->token_re)); } ivars->token_re = rx; (void)ReREFCNT_inc(((REGEXP*)ivars->token_re)); -} + SvREFCNT_dec(token_re); -static void -S_set_pattern_from_token_re(pTHX_ lucy_RegexTokenizer *self, void *token_re) { - lucy_RegexTokenizerIVARS *const ivars = lucy_RegexTokenizer_IVARS(self); - SV *rv = newRV((SV*)token_re); - STRLEN len = 0; - char *ptr = SvPVutf8((SV*)rv, len); - CFISH_DECREF(ivars->pattern); - ivars->pattern = cfish_Str_new_from_trusted_utf8(ptr, len); - SvREFCNT_dec(rv); + return self; } -void -LUCY_RegexTokenizer_Set_Token_RE_IMP(lucy_RegexTokenizer *self, - void *token_re) { - dTHX; - S_set_token_re_but_not_pattern(aTHX_ self, token_re); - // Set pattern as a side effect. - S_set_pattern_from_token_re(aTHX_ self, token_re); +static SV* +S_compile_token_re(pTHX_ cfish_String *pattern) { + dSP; + ENTER; + SAVETMPS; + EXTEND(SP, 1); + PUSHMARK(SP); + XPUSHs((SV*)CFISH_Str_To_Host(pattern)); + PUTBACK; + call_pv("Lucy::Analysis::RegexTokenizer::_compile_token_re", G_SCALAR); + SPAGAIN; + SV *token_re_sv = POPs; + (void)SvREFCNT_inc(token_re_sv); + PUTBACK; + FREETMPS; + LEAVE; + return token_re_sv; } void
