You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucy.apache.org by nw...@apache.org on 2017/02/23 16:27:46 UTC
[3/6] lucy-clownfish git commit: Only write documentation for
installed parcels
Only write documentation for installed parcels
Project: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/commit/2a44a5b3
Tree: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/tree/2a44a5b3
Diff: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/diff/2a44a5b3
Branch: refs/heads/master
Commit: 2a44a5b364facdc17b948beff43f8d9c8ee7e96e
Parents: 3530458
Author: Nick Wellnhofer <we...@aevum.de>
Authored: Mon Feb 13 16:12:19 2017 +0100
Committer: Nick Wellnhofer <we...@aevum.de>
Committed: Fri Feb 17 13:21:53 2017 +0100
----------------------------------------------------------------------
compiler/src/CFCC.c | 8 ++++----
compiler/src/CFCCHtml.c | 9 +++++----
compiler/src/CFCCMan.c | 2 --
compiler/src/CFCClass.c | 7 +++++++
compiler/src/CFCClass.h | 3 +++
5 files changed, 19 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/2a44a5b3/compiler/src/CFCC.c
----------------------------------------------------------------------
diff --git a/compiler/src/CFCC.c b/compiler/src/CFCC.c
index 6197e2e..10fec57 100644
--- a/compiler/src/CFCC.c
+++ b/compiler/src/CFCC.c
@@ -92,7 +92,8 @@ CFCC_write_man_pages(CFCC *self) {
size_t num_classes = 0;
for (size_t i = 0; ordered[i] != NULL; i++) {
CFCClass *klass = ordered[i];
- if (!CFCClass_included(klass)) { ++num_classes; }
+ if (!CFCClass_needs_documentation(klass)) { continue; }
+ ++num_classes;
}
char **man_pages = (char**)CALLOCATE(num_classes, sizeof(char*));
@@ -101,7 +102,7 @@ CFCC_write_man_pages(CFCC *self) {
// system.
for (size_t i = 0, j = 0; ordered[i] != NULL; i++) {
CFCClass *klass = ordered[i];
- if (CFCClass_included(klass)) { continue; }
+ if (!CFCClass_needs_documentation(klass)) { continue; }
char *man_page = CFCCMan_create_man_page(klass);
man_pages[j++] = man_page;
@@ -114,10 +115,9 @@ CFCC_write_man_pages(CFCC *self) {
// Write out any man pages that have changed.
for (size_t i = 0, j = 0; ordered[i] != NULL; i++) {
CFCClass *klass = ordered[i];
- if (CFCClass_included(klass)) { continue; }
+ if (!CFCClass_needs_documentation(klass)) { continue; }
char *raw_man_page = man_pages[j++];
- if (!raw_man_page) { continue; }
char *man_page = CFCUtil_sprintf("%s%s%s", self->man_header,
raw_man_page, self->man_footer);
http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/2a44a5b3/compiler/src/CFCCHtml.c
----------------------------------------------------------------------
diff --git a/compiler/src/CFCCHtml.c b/compiler/src/CFCCHtml.c
index e527c53..6d5f908 100644
--- a/compiler/src/CFCCHtml.c
+++ b/compiler/src/CFCCHtml.c
@@ -268,9 +268,7 @@ CFCCHtml_write_html_docs(CFCCHtml *self) {
for (size_t i = 0; ordered[i] != NULL; i++) {
CFCClass *klass = ordered[i];
- if (CFCClass_included(klass) || !CFCClass_public(klass)) {
- continue;
- }
+ if (!CFCClass_needs_documentation(klass)) { continue; }
const char *class_name = CFCClass_get_name(klass);
char *path = CFCUtil_global_replace(class_name, "::", CHY_DIR_SEP);
@@ -341,6 +339,7 @@ S_create_index_doc(CFCCHtml *self, CFCClass **classes, CFCDocument **docs) {
}
// Compile class lists per parcel.
+ // TODO: Sort parcels. Don't derive filename from random parcel.
char *class_lists = CFCUtil_strdup("");
char *parcel_names = CFCUtil_strdup("");
@@ -348,7 +347,9 @@ S_create_index_doc(CFCCHtml *self, CFCClass **classes, CFCDocument **docs) {
for (size_t i = 0; parcels[i]; i++) {
CFCParcel *parcel = parcels[i];
- if (CFCParcel_included(parcel)) { continue; }
+ if (CFCParcel_included(parcel) || !CFCParcel_is_installed(parcel)) {
+ continue;
+ }
const char *prefix = CFCParcel_get_prefix(parcel);
const char *parcel_name = CFCParcel_get_name(parcel);
http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/2a44a5b3/compiler/src/CFCCMan.c
----------------------------------------------------------------------
diff --git a/compiler/src/CFCCMan.c b/compiler/src/CFCCMan.c
index 771d410..b271702 100644
--- a/compiler/src/CFCCMan.c
+++ b/compiler/src/CFCCMan.c
@@ -77,8 +77,6 @@ S_man_escape(const char *content);
char*
CFCCMan_create_man_page(CFCClass *klass) {
- if (!CFCClass_public(klass)) { return NULL; }
-
const char *class_name = CFCClass_get_name(klass);
// Create NAME.
http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/2a44a5b3/compiler/src/CFCClass.c
----------------------------------------------------------------------
diff --git a/compiler/src/CFCClass.c b/compiler/src/CFCClass.c
index ea39848..1fb2041 100644
--- a/compiler/src/CFCClass.c
+++ b/compiler/src/CFCClass.c
@@ -887,6 +887,13 @@ CFCClass_abstract(CFCClass *self) {
return self->is_abstract;
}
+int
+CFCClass_needs_documentation(CFCClass *self) {
+ return CFCClass_public(self)
+ && !CFCClass_included(self)
+ && CFCParcel_is_installed(self->parcel);
+}
+
const char*
CFCClass_get_struct_sym(CFCClass *self) {
return self->struct_sym;
http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/2a44a5b3/compiler/src/CFCClass.h
----------------------------------------------------------------------
diff --git a/compiler/src/CFCClass.h b/compiler/src/CFCClass.h
index 91fa0cf..bf86f61 100644
--- a/compiler/src/CFCClass.h
+++ b/compiler/src/CFCClass.h
@@ -255,6 +255,9 @@ CFCClass_inert(CFCClass *self);
int
CFCClass_abstract(CFCClass *self);
+int
+CFCClass_needs_documentation(CFCClass *self);
+
const char*
CFCClass_get_struct_sym(CFCClass *self);