diff --git a/extension/module/module.h b/extension/module/module.h index 8cedb79c06e..201887b9ccc 100644 --- a/extension/module/module.h +++ b/extension/module/module.h @@ -110,7 +110,7 @@ class Module { Module& operator=(const Module&) = delete; Module(Module&&) = delete; Module& operator=(Module&&) = delete; - + virtual ~Module() = default; /** * Loads the program if needed. * @@ -119,8 +119,7 @@ class Module { * * @returns An Error to indicate success or failure of the loading process. */ - ET_NODISCARD - runtime::Error load( + ET_NODISCARD virtual runtime::Error load( const Program::Verification verification = Program::Verification::Minimal); @@ -129,7 +128,7 @@ class Module { * * @returns true if the program is loaded, false otherwise. */ - inline bool is_loaded() const { + virtual inline bool is_loaded() const { return program_ != nullptr; } @@ -242,8 +241,7 @@ class Module { * @returns A Result object containing either a vector of output values * from the method or an error to indicate failure. */ - ET_NODISCARD - runtime::Result> execute( + ET_NODISCARD virtual runtime::Result> execute( const std::string& method_name, const std::vector& input_values);