diff options
Diffstat (limited to 'tiger-compiler/tcsh/src/helper.hh')
| -rw-r--r-- | tiger-compiler/tcsh/src/helper.hh | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/tiger-compiler/tcsh/src/helper.hh b/tiger-compiler/tcsh/src/helper.hh new file mode 100644 index 0000000..cdbf760 --- /dev/null +++ b/tiger-compiler/tcsh/src/helper.hh @@ -0,0 +1,16 @@ +#ifndef SWIG_HELPER_H +#define SWIG_HELPER_H + +#define STCONVERT(TYPE, TYPENAME) \ +void operator()(const TYPE & e) override \ +{ \ + result = SWIG_NewPointerObj(SWIG_as_voidptr(&e), SWIGTYPE_ ## TYPENAME, 0); \ +} + +#define IFTYPECONVERT(TYPE, TYPENAME) \ +if (const TYPE* d = dynamic_cast<const TYPE*>(&e); d != nullptr) \ +{ \ + result = SWIG_NewPointerObj(SWIG_as_voidptr(&e), SWIGTYPE_ ## TYPENAME, 0); \ +} + +#endif /* ! SWIG_HELPER_H */ |
