diff options
Diffstat (limited to 'luatablegen.py')
-rwxr-xr-x | luatablegen.py | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/luatablegen.py b/luatablegen.py index ae75733..3a9cf2b 100755 --- a/luatablegen.py +++ b/luatablegen.py @@ -465,6 +465,23 @@ class TbgParser(object): c_source.write("\n") def check(self, c_source, struct_name): + #print(struct_name) + node = get_def_node(struct_name, self.elems) + #print(node.attrib["name"]) + has_conditional = False + for elem in node: + if node.attrib["name"] == "W_Import_Section_Entry": print(elem.tag) + if "conditional" in elem.attrib: + has_conditional = True + print("fuck yeah") + if has_conditional == True: + print("here") + c_source.write('static XXX* check_XXX(lua_State* __ls, int index) {\n'.replace("XXX", struct_name)) + c_source.write('\tXXX* dummy;\n'.replace("XXX", struct_name)) + c_source.write('dummy = lua_touserdata(__ls, index);\n'.replace("XXX", struct_name)) + c_source.write('\tif (dummy == NULL) printf("XXX:bad user data type.\\n");\n'.replace("XXX", struct_name)) + c_source.write('\treturn dummy;\n}\n') + return for line in CHECK: c_source.write(line.replace("XXX", struct_name)) c_source.write("\n") |