X-Git-Url: https://git.draconx.ca/gitweb/upkg.git/blobdiff_plain/85f60be2c79f922fc9547abdcf7cf544041a2faa..b5a18d3dd9ca4315f9d7f75e90363410db405935:/src/libupkg.c diff --git a/src/libupkg.c b/src/libupkg.c index d4978a3..c87f668 100644 --- a/src/libupkg.c +++ b/src/libupkg.c @@ -542,49 +542,6 @@ const struct upkg_import *upkg_get_import(struct upkg *pub, unsigned long idx) return NULL; } -const char *upkg_export_class(struct upkg *pub, unsigned long idx, - const char **package) -{ - struct upkg_priv *pkg = (struct upkg_priv *)pub; - const struct upkg_import *iclass, *ipackage; - struct upkg_export_priv *export; - unsigned long pkg_idx; - - if (idx >= pkg->pub.export_count) - return NULL; - - export = &pkg->exports[idx]; - - /* Assumption: class references are always imports. */ - format_assert(export->pub.class <= 0, return NULL); - - /* Get the class. */ - if (export->pub.class == 0) { - if (package) *package = "Core"; - return "Class"; - } - - pkg_idx = -(export->pub.class + 1); - if (pkg_idx >= pkg->pub.import_count) - return NULL; - iclass = &pkg->imports[pkg_idx]; - - /* Assumption: class references are always Core.Class. */ - format_assert(!strcmp(iclass->class_package, "Core"), return NULL); - format_assert(!strcmp(iclass->class_name, "Class"), return NULL); - - ipackage = iclass->parent; - if (!ipackage) - return NULL; - - /* Assumption: package references are always Core.Package. */ - format_assert(!strcmp(ipackage->class_package, "Core"), return NULL); - format_assert(!strcmp(ipackage->class_name, "Package"), return NULL); - - if (package) *package = ipackage->name; - return iclass->name; -} - struct upkg_file *upkg_export_open(struct upkg *pub, unsigned long idx) { struct upkg_priv *pkg = (struct upkg_priv *)pub;