aboutsummaryrefslogtreecommitdiff
path: root/packages/Python/lldbsuite/test/lang/cpp/class_types/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'packages/Python/lldbsuite/test/lang/cpp/class_types/main.cpp')
-rw-r--r--packages/Python/lldbsuite/test/lang/cpp/class_types/main.cpp126
1 files changed, 126 insertions, 0 deletions
diff --git a/packages/Python/lldbsuite/test/lang/cpp/class_types/main.cpp b/packages/Python/lldbsuite/test/lang/cpp/class_types/main.cpp
new file mode 100644
index 000000000000..251e66c3c9f7
--- /dev/null
+++ b/packages/Python/lldbsuite/test/lang/cpp/class_types/main.cpp
@@ -0,0 +1,126 @@
+//===-- main.cpp ------------------------------------------------*- C++ -*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+class Conversion
+{
+public:
+ Conversion (int i) :
+ m_i (i)
+ {}
+
+ operator bool()
+ {
+ return m_i != 0;
+ }
+
+private:
+ int m_i;
+};
+
+class A
+{
+public:
+ A(int i=0):
+ m_a_int(i),
+ m_aa_int(i+1)
+ {
+ }
+
+ //virtual
+ ~A()
+ {
+ }
+
+ int
+ GetInteger() const
+ {
+ return m_a_int;
+ }
+ void
+ SetInteger(int i)
+ {
+ m_a_int = i;
+ }
+
+protected:
+ int m_a_int;
+ int m_aa_int;
+};
+
+class B : public A
+{
+public:
+ B(int ai, int bi) :
+ A(ai),
+ m_b_int(bi)
+ {
+ }
+
+ //virtual
+ ~B()
+ {
+ }
+
+ int
+ GetIntegerB() const
+ {
+ return m_b_int;
+ }
+ void
+ SetIntegerB(int i)
+ {
+ m_b_int = i;
+ }
+
+protected:
+ int m_b_int;
+};
+
+#include <cstdio>
+class C : public B
+{
+public:
+ C(int ai, int bi, int ci) :
+ B(ai, bi),
+ m_c_int(ci)
+ {
+ printf("Within C::ctor() m_c_int=%d\n", m_c_int); // Set break point at this line.
+ }
+
+ //virtual
+ ~C()
+ {
+ }
+
+ int
+ GetIntegerC() const
+ {
+ return m_c_int;
+ }
+ void
+ SetIntegerC(int i)
+ {
+ m_c_int = i;
+ }
+
+protected:
+ int m_c_int;
+};
+
+int
+main (int argc, char const *argv[])
+{
+ A a(12);
+ B b(22,33);
+ C c(44,55,66);
+ Conversion conv(1);
+ if (conv)
+ return b.GetIntegerB() - a.GetInteger() + c.GetInteger();
+ return 0;
+}