diff options
author | vitalyisaev <vitalyisaev@ydb.tech> | 2023-11-30 13:26:22 +0300 |
---|---|---|
committer | vitalyisaev <vitalyisaev@ydb.tech> | 2023-11-30 15:44:45 +0300 |
commit | 0a98fece5a9b54f16afeb3a94b3eb3105e9c3962 (patch) | |
tree | 291d72dbd7e9865399f668c84d11ed86fb190bbf /contrib/tools/swig/Source/Swig/swigtree.h | |
parent | cb2c8d75065e5b3c47094067cb4aa407d4813298 (diff) | |
download | ydb-0a98fece5a9b54f16afeb3a94b3eb3105e9c3962.tar.gz |
YQ Connector:Use docker-compose in integrational tests
Diffstat (limited to 'contrib/tools/swig/Source/Swig/swigtree.h')
-rw-r--r-- | contrib/tools/swig/Source/Swig/swigtree.h | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/contrib/tools/swig/Source/Swig/swigtree.h b/contrib/tools/swig/Source/Swig/swigtree.h new file mode 100644 index 0000000000..8d63d8fd33 --- /dev/null +++ b/contrib/tools/swig/Source/Swig/swigtree.h @@ -0,0 +1,54 @@ +/* ----------------------------------------------------------------------------- + * This file is part of SWIG, which is licensed as a whole under version 3 + * (or any later version) of the GNU General Public License. Some additional + * terms also apply to certain portions of SWIG. The full details of the SWIG + * license and copyrights can be found in the LICENSE and COPYRIGHT files + * included with the SWIG source code as distributed by the SWIG developers + * and at https://www.swig.org/legal.html. + * + * swigtree.h + * + * These functions are used to access and manipulate the SWIG parse tree. + * The structure of this tree is modeled directly after XML-DOM. The attribute + * and function names are meant to be similar. + * ----------------------------------------------------------------------------- */ + +/* Macros to traverse the DOM tree */ + +#define nodeType(x) Getattr(x,"nodeType") +#define parentNode(x) Getattr(x,"parentNode") +#define previousSibling(x) Getattr(x,"previousSibling") +#define nextSibling(x) Getattr(x,"nextSibling") +#define firstChild(x) Getattr(x,"firstChild") +#define lastChild(x) Getattr(x,"lastChild") + +/* Macros to set up the DOM tree (mostly used by the parser) */ + +#define set_nodeType(x,v) Setattr(x,"nodeType",v) +#define set_parentNode(x,v) Setattr(x,"parentNode",v) +#define set_previousSibling(x,v) Setattr(x,"previousSibling",v) +#define set_nextSibling(x,v) Setattr(x,"nextSibling",v) +#define set_firstChild(x,v) Setattr(x,"firstChild",v) +#define set_lastChild(x,v) Setattr(x,"lastChild",v) + +/* Utility functions */ + +extern int checkAttribute(Node *obj, const_String_or_char_ptr name, const_String_or_char_ptr value); +extern void appendChild(Node *node, Node *child); +extern void prependChild(Node *node, Node *child); +extern void removeNode(Node *node); +extern Node *copyNode(Node *node); +extern void appendSibling(Node *node, Node *child); + +/* Node restoration/restore functions */ + +extern void Swig_require(const char *ns, Node *node, ...); +extern void Swig_save(const char *ns, Node *node, ...); +extern void Swig_restore(Node *node); + +/* Debugging of parse trees */ + +extern void Swig_print_tags(File *obj, Node *root); +extern void Swig_print_tree(Node *obj); +extern void Swig_print_node(Node *obj); +extern int Swig_print_quiet(int quiet); |