diff --git a/include/phasar/DataFlow/IfdsIde/FlowFunctions.h b/include/phasar/DataFlow/IfdsIde/FlowFunctions.h index 83520ba072..b4246db4fb 100644 --- a/include/phasar/DataFlow/IfdsIde/FlowFunctions.h +++ b/include/phasar/DataFlow/IfdsIde/FlowFunctions.h @@ -929,16 +929,16 @@ class [[deprecated]] Compose : public FlowFunction { using typename FlowFunction::container_type; - Compose(const std::vector> &Funcs) : Funcs(Funcs) {} + Compose(const std::vector &Funcs) : Funcs(Funcs) {} ~Compose() override = default; - container_type computeTargets(const D &Source) override { - container_type Current(Source); - for (const FlowFunctionType &Func : Funcs) { + container_type computeTargets(D Source) override { + container_type Current{Source}; + for (const FlowFunctionPtrType &Func : Funcs) { container_type Next; for (const D &Fact : Current) { - container_type Target = Func.computeTargets(Fact); + container_type Target = Func->computeTargets(Fact); Next.insert(Target.begin(), Target.end()); } Current = Next; @@ -947,11 +947,11 @@ class [[deprecated]] Compose : public FlowFunction { } static FlowFunctionPtrType - compose(const std::vector &Funcs) { - std::vector Vec; - for (const FlowFunctionType &Func : Funcs) { + compose(const std::vector &Funcs) { + std::vector Vec; + for (const FlowFunctionPtrType &Func : Funcs) { if (Func != Identity::getInstance()) { - Vec.insert(Func); + Vec.push_back(Func); } } if (Vec.size() == 1) { // NOLINT(readability-container-size-empty) @@ -964,7 +964,7 @@ class [[deprecated]] Compose : public FlowFunction { } protected: - const std::vector Funcs; + const std::vector Funcs; }; //===----------------------------------------------------------------------===//