Repository: lucy-clownfish Updated Branches: refs/heads/master 3e654d21b -> c911cd66b
Use Perl method name in invalid callback error Project: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/repo Commit: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/commit/299483d8 Tree: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/tree/299483d8 Diff: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/diff/299483d8 Branch: refs/heads/master Commit: 299483d817fcc689d1c4ffc95cb7051f5e5c5f66 Parents: 3e654d2 Author: Nick Wellnhofer <[email protected]> Authored: Fri Apr 24 16:47:50 2015 +0200 Committer: Nick Wellnhofer <[email protected]> Committed: Wed May 6 17:25:12 2015 +0200 ---------------------------------------------------------------------- compiler/src/CFCPerlMethod.c | 8 +++++--- runtime/perl/t/binding/019-obj.t | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/299483d8/compiler/src/CFCPerlMethod.c ---------------------------------------------------------------------- diff --git a/compiler/src/CFCPerlMethod.c b/compiler/src/CFCPerlMethod.c index 547f948..7ab9ed5 100644 --- a/compiler/src/CFCPerlMethod.c +++ b/compiler/src/CFCPerlMethod.c @@ -586,7 +586,6 @@ S_callback_refcount_mods(CFCMethod *method) { static char* S_invalid_callback_def(CFCMethod *method) { const char *override_sym = CFCMethod_full_override_sym(method); - char *full_method_sym = CFCMethod_full_method_sym(method, NULL); CFCType *return_type = CFCMethod_get_return_type(method); CFCParamList *param_list = CFCMethod_get_param_list(method); const char *ret_type_str = CFCType_to_c(return_type); @@ -595,6 +594,9 @@ S_invalid_callback_def(CFCMethod *method) { = CFCType_is_void(return_type) ? CFCUtil_sprintf("") : CFCUtil_sprintf("CFISH_UNREACHABLE_RETURN(%s);\n", ret_type_str); + + char *perl_name = CFCPerlMethod_perl_name(method); + char pattern[] = "%s\n" "%s(%s) {\n" @@ -604,8 +606,8 @@ S_invalid_callback_def(CFCMethod *method) { "}\n" ; char *callback_def = CFCUtil_sprintf(pattern, ret_type_str, override_sym, - params, full_method_sym, maybe_ret); - FREEMEM(full_method_sym); + params, perl_name, maybe_ret); + FREEMEM(perl_name); FREEMEM(maybe_ret); return callback_def; } http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/299483d8/runtime/perl/t/binding/019-obj.t ---------------------------------------------------------------------- diff --git a/runtime/perl/t/binding/019-obj.t b/runtime/perl/t/binding/019-obj.t index 0b4e80d..f2c0e10 100644 --- a/runtime/perl/t/binding/019-obj.t +++ b/runtime/perl/t/binding/019-obj.t @@ -131,7 +131,7 @@ SKIP: { "Don't allow methods without nullable return values to return NULL" ); eval { InvalidCallbackTestObj->new; }; - like( $@, qr/Can't override CFISH_Obj_To_Host via binding/ ); + like( $@, qr/Can't override to_host via binding/ ); } my $alias_test = Clownfish::Test::AliasTestObj->new;
