mirror of https://github.com/swig/swig
26 lines
642 B
OpenEdge ABL
26 lines
642 B
OpenEdge ABL
%module xxx
|
|
|
|
%feature("smartptr", noblock=1) AA { std::shared_ptr< AA > }
|
|
%feature("smartptr", noblock=1) DD { std::shared_ptr< }
|
|
|
|
|
|
struct AA {};
|
|
struct BB : AA {};
|
|
struct CC : AA {};
|
|
struct DD : AA {};
|
|
|
|
%ignore EE;
|
|
struct EE : AA {}; // should not warn for AA base as EE is ignored
|
|
struct EEE : EE {}; // should warn for AA base, but not for EE base
|
|
|
|
%feature("smartptr", noblock=1) YY { std::shared_ptr< YY > }
|
|
struct XX {};
|
|
struct YY : XX {};
|
|
|
|
%feature("smartptr", noblock=1) ZZ { std::shared_ptr< YY > }
|
|
%ignore ZZ;
|
|
struct ZZ : XX {};
|
|
// Next two are NOT smartptr and so should not issue warning
|
|
struct ZZZ : ZZ {};
|
|
struct ZZZZ : ZZZ {};
|