From 651f7d84866032a00c634fd13140c5fbedab5069 Mon Sep 17 00:00:00 2001 From: Mengwei Liu Date: Tue, 29 Apr 2025 00:10:22 -0700 Subject: [PATCH] Add virtual keyword to Module methods to make it Mock-able (#10521) Summary: As titled. This helps us to create a `MockModule`. Reviewed By: lucylq, iseeyuan Differential Revision: D73703574 --- extension/module/module.h | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/extension/module/module.h b/extension/module/module.h index 8cedb79c06..201887b9cc 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);