aboutsummaryrefslogtreecommitdiffstats
path: root/tests/libminimal
diff options
context:
space:
mode:
authorMarcelo Lira <marcelo.lira@openbossa.org>2011-05-28 12:24:40 -0300
committerHugo Parente Lima <hugo.pl@gmail.com>2012-03-08 16:15:25 -0300
commit3112b255beedf6cd4ac56ad08e9a90d011620d04 (patch)
tree4fe5f98617be71a34829e629d384c7cf21a72c34 /tests/libminimal
parent6dd350021b30739dec375ec90e040d6e2ec63c11 (diff)
Expanded the minimal example and tests to better deal with virtual methods.
Diffstat (limited to 'tests/libminimal')
-rw-r--r--tests/libminimal/obj.h7
-rw-r--r--tests/libminimal/val.h12
2 files changed, 19 insertions, 0 deletions
diff --git a/tests/libminimal/obj.h b/tests/libminimal/obj.h
index 384d8e74b..ce3c02064 100644
--- a/tests/libminimal/obj.h
+++ b/tests/libminimal/obj.h
@@ -36,6 +36,13 @@ public:
virtual bool virtualMethod(int val);
bool callVirtualMethod(int val) { return virtualMethod(val); }
+
+ virtual Obj* passObjectType(Obj* obj) { return obj; }
+ Obj* callPassObjectType(Obj* obj) { return passObjectType(obj); }
+
+ virtual Obj* passObjectTypeReference(Obj& obj) { return &obj; }
+ Obj* callPassObjectTypeReference(Obj& obj) { return passObjectTypeReference(obj); }
+
private:
Obj(const Obj&);
Obj& operator=(const Obj&);
diff --git a/tests/libminimal/val.h b/tests/libminimal/val.h
index 3cdf64c4b..35dc69670 100644
--- a/tests/libminimal/val.h
+++ b/tests/libminimal/val.h
@@ -29,8 +29,20 @@ class LIBMINIMAL_API Val
{
public:
explicit Val(int valId) : m_valId(valId) {}
+ virtual ~Val() {}
+
int valId() { return m_valId; }
void setValId(int valId) { m_valId = valId; }
+
+ virtual Val passValueType(Val val) { return val; }
+ Val callPassValueType(Val val) { return passValueType(val); }
+
+ virtual Val* passValueTypePointer(Val* val) { return val; }
+ Val* callPassValueTypePointer(Val* val) { return passValueTypePointer(val); }
+
+ virtual Val* passValueTypeReference(Val& val) { return &val; }
+ Val* callPassValueTypeReference(Val& val) { return passValueTypeReference(val); }
+
private:
int m_valId;
};