diff options
Diffstat (limited to 'tests/unit/unittest/data/highlightingmarks.cpp')
-rw-r--r-- | tests/unit/unittest/data/highlightingmarks.cpp | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/tests/unit/unittest/data/highlightingmarks.cpp b/tests/unit/unittest/data/highlightingmarks.cpp index c4e18d65d1..edbe0a14c2 100644 --- a/tests/unit/unittest/data/highlightingmarks.cpp +++ b/tests/unit/unittest/data/highlightingmarks.cpp @@ -600,6 +600,44 @@ class Property { Q_PROPERTY(const QString str READ getStr) }; +struct X { + void operator*(int) {} +}; + +void operator*(X, float) {} + +void CallSite() { + X x; + int y = 10; + float z = 10; + x * y; + x * z; +} + +struct Dummy { + Dummy operator<<=(int key); + Dummy operator()(int a); + int& operator[] (unsigned index); + void* operator new(unsigned size); + void operator delete(void* ptr); + void* operator new[](unsigned size); + void operator delete[](void* ptr); +}; + +void TryOverloadedOperators(Dummy object) +{ + object <<= 3; + + Dummy stacked; + stacked(4); + stacked[1]; + int *i = new int; + Dummy* use_new = new Dummy(); + delete use_new; + Dummy* many = new Dummy[10]; + delete [] many; +} + enum { Test = 0 }; @@ -611,3 +649,17 @@ class B { }; }; } + +struct Dummy2 { + Dummy2 operator()(); + int operator*(); + Dummy2 operator=(int foo); +}; + +void TryOverloadedOperators2(Dummy object) +{ + Dummy2 dummy2; + dummy2(); + *dummy2; + dummy2 = 3; +} |