Move CFCClass_callback_decs to CFCC.c
Project: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/repo Commit: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/commit/995f083b Tree: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/tree/995f083b Diff: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/diff/995f083b Branch: refs/heads/master Commit: 995f083bbd557f317475384109dd1db38049f380 Parents: 8d8d86b Author: Nick Wellnhofer <[email protected]> Authored: Sun Nov 9 17:08:19 2014 +0100 Committer: Nick Wellnhofer <[email protected]> Committed: Wed Dec 24 14:11:57 2014 +0100 ---------------------------------------------------------------------- compiler/src/CFCC.c | 27 ++++++++++++++++++++++++++- compiler/src/CFCCClass.c | 22 ---------------------- compiler/src/CFCCClass.h | 5 ----- 3 files changed, 26 insertions(+), 28 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/995f083b/compiler/src/CFCC.c ---------------------------------------------------------------------- diff --git a/compiler/src/CFCC.c b/compiler/src/CFCC.c index 60a949b..e6763ce 100644 --- a/compiler/src/CFCC.c +++ b/compiler/src/CFCC.c @@ -25,6 +25,7 @@ #include "CFCCClass.h" #include "CFCClass.h" #include "CFCHierarchy.h" +#include "CFCMethod.h" #include "CFCUtil.h" struct CFCC { @@ -42,6 +43,9 @@ static const CFCMeta CFCC_META = { (CFCBase_destroy_t)CFCC_destroy }; +static char* +S_callback_decs(CFCClass *klass); + CFCC* CFCC_new(CFCHierarchy *hierarchy, const char *header, const char *footer) { CFCC *self = (CFCC*)CFCBase_allocate(&CFCC_META); @@ -84,7 +88,7 @@ CFCC_write_callbacks(CFCC *self) { CFCClass *klass = ordered[i]; if (!CFCClass_included(klass)) { - char *cb_decs = CFCCClass_callback_decs(klass); + char *cb_decs = S_callback_decs(klass); all_cb_decs = CFCUtil_cat(all_cb_decs, cb_decs, NULL); FREEMEM(cb_decs); } @@ -119,6 +123,27 @@ CFCC_write_callbacks(CFCC *self) { FREEMEM(file_content); } +static char* +S_callback_decs(CFCClass *klass) { + CFCMethod **fresh_methods = CFCClass_fresh_methods(klass); + char *cb_decs = CFCUtil_strdup(""); + + for (int meth_num = 0; fresh_methods[meth_num] != NULL; meth_num++) { + CFCMethod *method = fresh_methods[meth_num]; + + // Define callback to NULL. + if (CFCMethod_novel(method) && !CFCMethod_final(method)) { + const char *override_sym = CFCMethod_full_override_sym(method); + cb_decs = CFCUtil_cat(cb_decs, "#define ", override_sym, " NULL\n", + NULL); + } + } + + FREEMEM(fresh_methods); + + return cb_decs; +} + void CFCC_write_man_pages(CFCC *self) { CFCHierarchy *hierarchy = self->hierarchy; http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/995f083b/compiler/src/CFCCClass.c ---------------------------------------------------------------------- diff --git a/compiler/src/CFCCClass.c b/compiler/src/CFCCClass.c index 8dfe9db..b413990 100644 --- a/compiler/src/CFCCClass.c +++ b/compiler/src/CFCCClass.c @@ -73,28 +73,6 @@ S_man_escape_content(const char *content); static void S_parse_pod_link(const char *content, CFCPodLink *pod_link); -// Declare dummy host callbacks. -char* -CFCCClass_callback_decs(CFCClass *klass) { - CFCMethod **fresh_methods = CFCClass_fresh_methods(klass); - char *cb_decs = CFCUtil_strdup(""); - - for (int meth_num = 0; fresh_methods[meth_num] != NULL; meth_num++) { - CFCMethod *method = fresh_methods[meth_num]; - - // Define callback to NULL. - if (CFCMethod_novel(method) && !CFCMethod_final(method)) { - const char *override_sym = CFCMethod_full_override_sym(method); - cb_decs = CFCUtil_cat(cb_decs, "#define ", override_sym, " NULL\n", - NULL); - } - } - - FREEMEM(fresh_methods); - - return cb_decs; -} - char* CFCCClass_create_man_page(CFCClass *klass) { if (!CFCSymbol_public((CFCSymbol*)klass)) { return NULL; } http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/995f083b/compiler/src/CFCCClass.h ---------------------------------------------------------------------- diff --git a/compiler/src/CFCCClass.h b/compiler/src/CFCCClass.h index b319596..710278d 100644 --- a/compiler/src/CFCCClass.h +++ b/compiler/src/CFCCClass.h @@ -23,11 +23,6 @@ extern "C" { struct CFCClass; -/* Return dummy host callbacks defined to NULL. - */ -char* -CFCCClass_callback_decs(struct CFCClass *klass); - /** Return the man page for the class. */ char*
