diff options
author | clyne <clyne@bitgloo.com> | 2022-11-17 07:41:09 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-11-17 07:41:09 -0500 |
commit | 6663c25633a27fcc14d0648bd1afea7ea12f497f (patch) | |
tree | dcc2ec993db3c4b75c3e7e3df35b0494a9ce1f32 /lib/sol2/examples/source/dump.cpp | |
parent | da0913771538fd9b1ca538615fd9aa0388608466 (diff) | |
parent | 57013add5b7c524086272be7d395f9ec5109bde2 (diff) |
Lib cleanup
Diffstat (limited to 'lib/sol2/examples/source/dump.cpp')
-rw-r--r-- | lib/sol2/examples/source/dump.cpp | 42 |
1 files changed, 0 insertions, 42 deletions
diff --git a/lib/sol2/examples/source/dump.cpp b/lib/sol2/examples/source/dump.cpp deleted file mode 100644 index 16d94b7..0000000 --- a/lib/sol2/examples/source/dump.cpp +++ /dev/null @@ -1,42 +0,0 @@ -#define SOL_ALL_SAFETIES_ON 1
-#include <sol/sol.hpp>
-
-#include <iostream>
-#include "assert.hpp"
-
-
-int main () {
- std::cout << "=== dump (serialize between states) ===" << std::endl;
-
- // 2 states, transferring function from 1 to another
- sol::state lua;
- sol::state lua2;
-
- // we're not going to run the code on the first
- // state, so we only actually need
- // the base lib on the second state
- // (where we will run the serialized bytecode)
- lua2.open_libraries(sol::lib::base);
-
- // load this code (but do not run)
- sol::load_result lr = lua.load("a = function (v) print(v) return v end");
- // check if it's sucessfully loaded
- c_assert(lr.valid());
-
- // turn it into a function, then dump the bytecode
- sol::protected_function target = lr;
- sol::bytecode target_bc = target.dump();
-
- // reload the byte code
- // in the SECOND state
- auto result2 = lua2.safe_script(target_bc.as_string_view(), sol::script_pass_on_error);
- // check if it was done properly
- c_assert(result2.valid());
-
- // check in the second state if it was valid
- sol::protected_function pf = lua2["a"];
- int v = pf(25557);
- c_assert(v == 25557);
-
- return 0;
-}
\ No newline at end of file |