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;

Reply via email to