aboutsummaryrefslogtreecommitdiffstats
path: root/sources/shiboken6/tests/libsample/virtualmethods.cpp
blob: 6c7b4a0046abcf2bbd31702b5cff8235ab6753c8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0

#include "virtualmethods.h"

int VirtualDtor::dtor_called = 0;

double
VirtualMethods::virtualMethod0(Point pt, int val, Complex cpx, bool b)
{
    return (pt.x() * pt.y() * val) + cpx.imag() + ((int) b);
}

bool
VirtualMethods::createStr(const char* text, Str*& ret)
{
    if (!text) {
        ret = nullptr;
        return false;
    }

    ret = new Str(text);
    return true;
}

void
VirtualMethods::getMargins(int* left, int* top, int* right, int* bottom) const
{
    *left = m_left;
    *top = m_top;
    *right = m_right;
    *bottom = m_bottom;
}

const Str & VirtualMethods::returnConstRef() const
{
    static const Str result;
    return result;
}

int VirtualMethods::stringViewLength(std::string_view in) const
{
    return int(in.size());
}

double VirtualDaughter2::virtualMethod0(Point pt, int val, Complex cpx, bool b)
{
    return 42 + VirtualMethods::virtualMethod0(pt, val, cpx, b);
}

int VirtualDaughter2::sum0(int a0, int a1, int a2)
{
    return 42 + VirtualMethods::sum0(a0, a1, a2);
}

double VirtualFinalDaughter::virtualMethod0(Point pt, int val, Complex cpx, bool b)
{
    return 42 + VirtualMethods::virtualMethod0(pt, val, cpx, b);
}

int VirtualFinalDaughter::sum0(int a0, int a1, int a2)
{
    return 42 + VirtualMethods::sum0(a0, a1, a2);
}