diff options
author | thegeorg <thegeorg@yandex-team.com> | 2023-10-03 11:19:48 +0300 |
---|---|---|
committer | thegeorg <thegeorg@yandex-team.com> | 2023-10-03 11:43:28 +0300 |
commit | cda0c13f23f6b169fb0a49dc504b40a0aaecea09 (patch) | |
tree | 26476e92e5af2c856e017afb1df8f8dff42495bf /contrib/tools/swig/Source/CParse/cparse.h | |
parent | 4854116da9c5e3c95bb8440f2ea997c54b6e1a61 (diff) | |
download | ydb-cda0c13f23f6b169fb0a49dc504b40a0aaecea09.tar.gz |
Move contrib/tools/jdk to build/platform/java/jdk/testing
Diffstat (limited to 'contrib/tools/swig/Source/CParse/cparse.h')
-rw-r--r-- | contrib/tools/swig/Source/CParse/cparse.h | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/contrib/tools/swig/Source/CParse/cparse.h b/contrib/tools/swig/Source/CParse/cparse.h new file mode 100644 index 0000000000..2b63f034d0 --- /dev/null +++ b/contrib/tools/swig/Source/CParse/cparse.h @@ -0,0 +1,85 @@ +/* ----------------------------------------------------------------------------- + * 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. + * + * cparse.h + * + * SWIG parser module. + * ----------------------------------------------------------------------------- */ + +#ifndef SWIG_CPARSE_H +#define SWIG_CPARSE_H + +#include "swig.h" +#include "swigwarn.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* cscanner.c */ + extern String *cparse_file; + extern int cparse_line; + extern int cparse_cplusplus; + extern int cparse_cplusplusout; + extern int cparse_start_line; + extern String *cparse_unknown_directive; + extern int scan_doxygen_comments; + + extern void Swig_cparse_cplusplus(int); + extern void Swig_cparse_cplusplusout(int); + extern void scanner_file(File *); + extern void scanner_next_token(int); + extern void skip_balanced(int startchar, int endchar); + extern String *get_raw_text_balanced(int startchar, int endchar); + extern void skip_decl(void); + extern void scanner_check_typedef(void); + extern void scanner_ignore_typedef(void); + extern void scanner_last_id(int); + extern void scanner_clear_rename(void); + extern void scanner_set_location(String *file, int line); + extern void scanner_set_main_input_file(String *file); + extern String *scanner_get_main_input_file(void); + extern void Swig_cparse_follow_locators(int); + extern void start_inline(char *, int); + extern String *scanner_ccode; + extern int yylex(void); + +/* parser.y */ + extern SwigType *Swig_cparse_type(String *); + extern Node *Swig_cparse(File *); + extern Hash *Swig_cparse_features(void); + extern void SWIG_cparse_set_compact_default_args(int defargs); + extern int SWIG_cparse_template_reduce(int treduce); + +/* util.c */ + extern void Swig_cparse_replace_descriptor(String *s); + extern SwigType *Swig_cparse_smartptr(Node *n); + extern void cparse_normalize_void(Node *); + extern Parm *Swig_cparse_parm(String *s); + extern ParmList *Swig_cparse_parms(String *s, Node *file_line_node); + extern Node *Swig_cparse_new_node(const_String_or_char_ptr tag); + +/* templ.c */ + extern int Swig_cparse_template_expand(Node *n, String *rname, ParmList *tparms, Symtab *tscope); + extern Node *Swig_cparse_template_locate(String *name, ParmList *tparms, Symtab *tscope); + extern void Swig_cparse_debug_templates(int); + +#ifdef __cplusplus +} +#endif +#define SWIG_WARN_NODE_BEGIN(Node) \ + { \ + String *wrnfilter = Node ? Getattr(Node,"feature:warnfilter") : 0; \ + if (wrnfilter) Swig_warnfilter(wrnfilter,1) +#define SWIG_WARN_NODE_END(Node) \ + if (wrnfilter) Swig_warnfilter(wrnfilter,0); \ + } + +#define COMPOUND_EXPR_VAL(dtype) \ + ((dtype).type == T_CHAR || (dtype).type == T_WCHAR ? (dtype).rawval : (dtype).val) +#endif |