Repository: lucy-clownfish
Updated Branches:
  refs/heads/master 06334f303 -> f6960c564


CLOWNFISH-50 fixes

- Missing FREEMEM
- No short names for inert classes
- Make Obj_is_a params nullable


Project: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/commit/f6960c56
Tree: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/tree/f6960c56
Diff: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/diff/f6960c56

Branch: refs/heads/master
Commit: f6960c5643226990ed63ba51c3d397a298532b5d
Parents: 06334f3
Author: Nick Wellnhofer <[email protected]>
Authored: Fri May 29 12:15:57 2015 +0200
Committer: Nick Wellnhofer <[email protected]>
Committed: Fri May 29 12:15:57 2015 +0200

----------------------------------------------------------------------
 compiler/src/CFCBindClass.c    | 5 ++++-
 runtime/core/Clownfish/Obj.cfh | 2 +-
 2 files changed, 5 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/f6960c56/compiler/src/CFCBindClass.c
----------------------------------------------------------------------
diff --git a/compiler/src/CFCBindClass.c b/compiler/src/CFCBindClass.c
index 58b7024..f632384 100644
--- a/compiler/src/CFCBindClass.c
+++ b/compiler/src/CFCBindClass.c
@@ -270,6 +270,7 @@ S_to_c_header_dynamic(CFCBindClass *self) {
     FREEMEM(sub_declarations);
     FREEMEM(inert_var_defs);
     FREEMEM(method_typedefs);
+    FREEMEM(wrapper_defs);
     FREEMEM(method_defs);
     FREEMEM(override_decs);
     FREEMEM(short_names);
@@ -780,7 +781,9 @@ S_short_names(CFCBindClass *self) {
     }
 
     // Wrappers.
-    if (strcmp(CFCClass_get_name(client), "Clownfish::Obj") != 0) {
+    if (!CFCClass_inert(client)
+        && strcmp(CFCClass_get_name(client), "Clownfish::Obj") != 0
+       ) {
         static const char *wrapped_funcs[] = {
             "get_class",
             "get_class_name",

http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/f6960c56/runtime/core/Clownfish/Obj.cfh
----------------------------------------------------------------------
diff --git a/runtime/core/Clownfish/Obj.cfh b/runtime/core/Clownfish/Obj.cfh
index e212ad5..89c3dc9 100644
--- a/runtime/core/Clownfish/Obj.cfh
+++ b/runtime/core/Clownfish/Obj.cfh
@@ -76,7 +76,7 @@ public abstract class Clownfish::Obj {
     /** Indicate whether the object is a descendent of `ancestor`.
      */
     public inert bool
-    is_a(Obj *self, Class *ancestor);
+    is_a(nullable Obj *self, nullable Class *ancestor);
 
     /** Generic stringification: "ClassName@hex_mem_address".
      */

Reply via email to