summaryrefslogtreecommitdiff
path: root/ThirdParty/tolua-5.2.4/src/tests/tclass.h
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2021-11-08 10:53:42 +0800
committerchai <chaifix@163.com>2021-11-08 10:53:42 +0800
commit5f46b4102c179680d613b6b9e0e6d392318030d2 (patch)
tree16527828dc89133f7af41acf6f5c13c23743e7ef /ThirdParty/tolua-5.2.4/src/tests/tclass.h
parent138d3f4d3d6e2aaf5ba34f89af15ef85ea074357 (diff)
+ tolua
Diffstat (limited to 'ThirdParty/tolua-5.2.4/src/tests/tclass.h')
-rw-r--r--ThirdParty/tolua-5.2.4/src/tests/tclass.h67
1 files changed, 67 insertions, 0 deletions
diff --git a/ThirdParty/tolua-5.2.4/src/tests/tclass.h b/ThirdParty/tolua-5.2.4/src/tests/tclass.h
new file mode 100644
index 0000000..d439b08
--- /dev/null
+++ b/ThirdParty/tolua-5.2.4/src/tests/tclass.h
@@ -0,0 +1,67 @@
+#include <stdio.h>
+
+class Tst_Dummy
+{
+};
+
+class Tst_A
+{
+public:
+ static Tst_A* last;
+ Tst_A () {last = this;}
+ virtual ~Tst_A() {}
+ virtual const char* a () { return "A"; }
+ class Tst_AA
+ {
+ public:
+ Tst_AA () {}
+ virtual ~Tst_AA () { }
+ const char* aa () { return "AA"; }
+ };
+ class Tst_BB : public Tst_AA
+ {
+ public:
+ Tst_BB () {}
+ virtual ~Tst_BB () {}
+ Tst_AA* Base () { return this; }
+ const char* classname () const {
+ return "Tst_BB";
+ }
+ };
+};
+
+class Tst_B : public Tst_A
+{
+public:
+ static Tst_B* last;
+ Tst_B () {last = this;}
+ virtual ~Tst_B () { }
+ virtual const char* b () { return "B"; }
+};
+
+class Tst_C : public Tst_B
+{
+ int i;
+public:
+ static Tst_C* last;
+ Tst_C (int n) : i(n) {last = this;}
+ virtual ~Tst_C () { printf("deleting C: %d\n",i); }
+ virtual const char* c () { return "C"; }
+};
+
+inline Tst_A::Tst_AA* Tst_create_aa ()
+{
+ return new Tst_A::Tst_AA();
+}
+
+inline bool Tst_is_aa (Tst_A::Tst_AA* obj)
+{
+ return true;
+}
+
+class D // private destructor
+{
+ ~D () {}
+public:
+ D () {}
+};