diff options
author | Ben Longbons <b.r.longbons@gmail.com> | 2014-10-15 16:41:14 -0700 |
---|---|---|
committer | Ben Longbons <b.r.longbons@gmail.com> | 2014-10-15 16:41:14 -0700 |
commit | 58e4ec577f3168eba282e9ad36257e9bee0702f2 (patch) | |
tree | eea2dc57e42566eee7ef93b17855a011831eea61 /src/map/script-persist.py | |
parent | 780a0d771edbe21dcfa3405163ffbdf7f7fa4604 (diff) | |
download | tmwa-58e4ec577f3168eba282e9ad36257e9bee0702f2.tar.gz tmwa-58e4ec577f3168eba282e9ad36257e9bee0702f2.tar.bz2 tmwa-58e4ec577f3168eba282e9ad36257e9bee0702f2.tar.xz tmwa-58e4ec577f3168eba282e9ad36257e9bee0702f2.zip |
Always print symbols if known for pointers
Diffstat (limited to 'src/map/script-persist.py')
-rw-r--r-- | src/map/script-persist.py | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/src/map/script-persist.py b/src/map/script-persist.py index 454c828..df60cf4 100644 --- a/src/map/script-persist.py +++ b/src/map/script-persist.py @@ -3,7 +3,17 @@ class script_data(object): test_extra = ''' using tmwa::operator "" _s; - #include "../map/script-parse.hpp" + + #include "../map/script-parse-internal.hpp" + + static + tmwa::Borrowed<const tmwa::ScriptBuffer> fake_script() + { + static + const std::vector<tmwa::ByteCode> buffer; + return borrow(reinterpret_cast<const tmwa::ScriptBuffer&>(buffer)); + } + ''' tests = [ @@ -19,10 +29,8 @@ class script_data(object): '{<tmwa::sexpr::Variant<tmwa::ScriptDataPos, tmwa::ScriptDataInt, tmwa::ScriptDataParam, tmwa::ScriptDataStr, tmwa::ScriptDataArg, tmwa::ScriptDataVariable, tmwa::ScriptDataRetInfo, tmwa::ScriptDataFuncRef>> = {(tmwa::ScriptDataArg) = {numi = 0}}, <No data fields>}'), ('tmwa::script_data(tmwa::ScriptDataVariable{tmwa::SIR()})', '{<tmwa::sexpr::Variant<tmwa::ScriptDataPos, tmwa::ScriptDataInt, tmwa::ScriptDataParam, tmwa::ScriptDataStr, tmwa::ScriptDataArg, tmwa::ScriptDataVariable, tmwa::ScriptDataRetInfo, tmwa::ScriptDataFuncRef>> = {(tmwa::ScriptDataVariable) = {reg = {impl = 0}}}, <No data fields>}'), - # the {script = } is almost certainly a bug in gdb's 'set print address' - # but the most I can do is check for changes. - ('tmwa::script_data(tmwa::ScriptDataRetInfo{tmwa::borrow(*tmwa::parse_script("{}"_s, 1, true).release())})', - 'regex:\{<tmwa::sexpr::Variant<tmwa::ScriptDataPos, tmwa::ScriptDataInt, tmwa::ScriptDataParam, tmwa::ScriptDataStr, tmwa::ScriptDataArg, tmwa::ScriptDataVariable, tmwa::ScriptDataRetInfo, tmwa::ScriptDataFuncRef>> = \{\(tmwa::ScriptDataRetInfo\) = \{script = \}\}, <No data fields>\}'), + ('tmwa::script_data(tmwa::ScriptDataRetInfo{fake_script()})', + '{<tmwa::sexpr::Variant<tmwa::ScriptDataPos, tmwa::ScriptDataInt, tmwa::ScriptDataParam, tmwa::ScriptDataStr, tmwa::ScriptDataArg, tmwa::ScriptDataVariable, tmwa::ScriptDataRetInfo, tmwa::ScriptDataFuncRef>> = {(tmwa::ScriptDataRetInfo) = {script = <fake_script()::buffer>}}, <No data fields>}'), ('tmwa::script_data(tmwa::ScriptDataFuncRef{404})', '{<tmwa::sexpr::Variant<tmwa::ScriptDataPos, tmwa::ScriptDataInt, tmwa::ScriptDataParam, tmwa::ScriptDataStr, tmwa::ScriptDataArg, tmwa::ScriptDataVariable, tmwa::ScriptDataRetInfo, tmwa::ScriptDataFuncRef>> = {(tmwa::ScriptDataFuncRef) = {numi = 404}}, <No data fields>}'), ] |