HEX
Server: Apache
System: Linux vps28526 6.8.0-79-generic #79~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Fri Aug 15 16:54:53 UTC 2 x86_64
User: heewonvps_17 (6705002)
PHP: 7.4.33
Disabled: NONE
Upload Files
File: //usr/share/swig4.0/lua/factory.i
/*
	A modification of factory.swg from the generic UTL library.
*/

%include <typemaps/swigmacros.swg>

%define %_factory_dispatch(Type) 
if (!dcast) {
  Type *dobj = dynamic_cast<Type *>($1);
  if (dobj) {
    dcast = 1;
    SWIG_NewPointerObj(L, dobj, $descriptor(Type *), $owner); SWIG_arg++;
  }   
}%enddef

%define %factory(Method,Types...)
%typemap(out) Method {
  int dcast = 0;
  %formacro(%_factory_dispatch, Types)
  if (!dcast) {
    SWIG_NewPointerObj(L, $1, $descriptor, $owner); SWIG_arg++;
  }
}%enddef