import source from 1.3.40
[external/swig.git] / Examples / test-suite / fvirtual.i
1 // This testcase tests corner cases for the -fvirtual optimisation flag.
2 // Note that the test-suite does not actually run with -fvirtual at any point, but this can be tested using the SWIG_FEATURES=-fvirtual env variable.
3 %module fvirtual
4
5 // Test overloaded methods #1508327 (requires a scripting language runtime test)
6 %inline %{
7   class Node {
8     public:
9       virtual int addChild( Node *child ) { return 1; }
10       virtual ~Node() {}
11   };
12
13   class NodeSwitch : public Node {
14     public :
15       virtual int addChild( Node *child ) { return 2; } // This was hidden with -fvirtual
16       virtual int addChild( Node *child, bool value ) { return 3; }
17       virtual ~NodeSwitch() {}
18   };
19 %}
20
21