From: Mikko Rasa Date: Mon, 19 Dec 2022 14:18:18 +0000 (+0200) Subject: Refactor the constructor of SourcePackage::Loader X-Git-Url: http://git.tdb.fi/?p=builder.git;a=commitdiff_plain;h=8f99b70eb78bdb5537afc77aa283961a2e825506 Refactor the constructor of SourcePackage::Loader There isn't much point to have two differnt overloads when it could just take a nullable pointer. --- diff --git a/source/builder.cpp b/source/builder.cpp index ceb7db3..2159266 100644 --- a/source/builder.cpp +++ b/source/builder.cpp @@ -333,10 +333,7 @@ void Builder::Loader::package(const string &n) { SourcePackage *pkg = new SourcePackage(obj, n, get_source()); - if(options) - load_sub(*pkg, *options); - else - load_sub(*pkg); + load_sub(*pkg, options); if(obj.build_type) pkg->set_build_type(*obj.build_type); diff --git a/source/sourcepackage.cpp b/source/sourcepackage.cpp index 4d680ba..74c3886 100644 --- a/source/sourcepackage.cpp +++ b/source/sourcepackage.cpp @@ -167,23 +167,11 @@ void SourcePackage::save_caches() } -SourcePackage::Loader::Loader(SourcePackage &p): +SourcePackage::Loader::Loader(SourcePackage &p, const Config::InputOptions *o): DataFile::DerivedObjectLoader(p), - FeatureConditional(p, p.name) + FeatureConditional(p, p.name), + options(o) { - init(0); -} - -SourcePackage::Loader::Loader(SourcePackage &p, const Config::InputOptions &o): - DataFile::DerivedObjectLoader(p), - FeatureConditional(p, p.name) -{ - init(&o); -} - -void SourcePackage::Loader::init(const Config::InputOptions *o) -{ - options = o; add("android_application", &Loader::component); add("build_info", &Loader::build_info); add("datapack", &Loader::component); diff --git a/source/sourcepackage.h b/source/sourcepackage.h index dfa2f4d..68b89c8 100644 --- a/source/sourcepackage.h +++ b/source/sourcepackage.h @@ -29,11 +29,10 @@ public: const Config::InputOptions *options; public: - Loader(SourcePackage &); - Loader(SourcePackage &, const Config::InputOptions &); + Loader(SourcePackage &, const Config::InputOptions *); private: - void init(const Config::InputOptions *); void finish() override; + void feature(const std::string &, const std::string &); template void component(const std::string &);