diff --git a/common/CMakeLists.txt b/common/CMakeLists.txt index 4ed0df100f..b270bebbcc 100644 --- a/common/CMakeLists.txt +++ b/common/CMakeLists.txt @@ -89,7 +89,9 @@ add_library(${TARGET} STATIC jinja/jinja-parser.h jinja/jinja-vm.cpp jinja/jinja-vm.h - jinja/jinja-vm-builtins.cpp + jinja/jinja-value.cpp + jinja/jinja-value.h + jinja/jinja-string.h ) target_include_directories(${TARGET} PUBLIC . ../vendor) diff --git a/common/jinja/jinja-vm-builtins.cpp b/common/jinja/jinja-value.cpp similarity index 98% rename from common/jinja/jinja-vm-builtins.cpp rename to common/jinja/jinja-value.cpp index 258d0da487..cdf39a8f66 100644 --- a/common/jinja/jinja-vm-builtins.cpp +++ b/common/jinja/jinja-value.cpp @@ -13,6 +13,20 @@ namespace jinja { +// func_args method implementations + +value func_args::get_kwarg(const std::string & key) const { + for (const auto & arg : args) { + if (is_val(arg)) { + auto * kwarg = cast_val(arg); + if (kwarg->key == key) { + return kwarg->val; + } + } + } + return mk_val(); +} + /** * Function that mimics Python's array slicing. */ diff --git a/common/jinja/jinja-vm.cpp b/common/jinja/jinja-vm.cpp index f1f252108f..edb9363123 100644 --- a/common/jinja/jinja-vm.cpp +++ b/common/jinja/jinja-vm.cpp @@ -19,22 +19,6 @@ void enable_debug(bool enable) { g_jinja_debug = enable; } -// func_args method implementations - -value func_args::get_kwarg(const std::string & key) const { - for (const auto & arg : args) { - if (is_val(arg)) { - auto * kwarg = cast_val(arg); - if (kwarg->key == key) { - return kwarg->val; - } - } - } - return mk_val(); -} - -// utils - static value_array exec_statements(const statements & stmts, context & ctx) { auto result = mk_val(); for (const auto & stmt : stmts) {