diff options
author | Clyne Sullivan <clyne@bitgloo.com> | 2022-11-15 07:35:07 -0500 |
---|---|---|
committer | Clyne Sullivan <clyne@bitgloo.com> | 2022-11-15 07:35:07 -0500 |
commit | a056c15dd3781b4f6bb89fdd738b14cafc00cd85 (patch) | |
tree | 1775a5913c7bc87563b6b4a29c63514cf15b4185 /lib/sol2/examples/source/dump.cpp | |
parent | 1405d648b6264cfda7c46f5b251258335abaee83 (diff) | |
parent | 57013add5b7c524086272be7d395f9ec5109bde2 (diff) |
merge branch lib-cleanup into ui
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 |