blob: 6ea2622e32afb8c73488d0bc63c55e49de0453a7 (
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
|
// Copyright (C) 2020 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
#ifndef ENCLOSINGCLASSMIXIN_H
#define ENCLOSINGCLASSMIXIN_H
#include "abstractmetalang_typedefs.h"
class AbstractMetaClass;
class EnclosingClassMixin {
public:
AbstractMetaClassCPtr enclosingClass() const
{ return m_enclosingClass.lock(); }
void setEnclosingClass(const AbstractMetaClassCPtr &cls)
{ m_enclosingClass = cls; }
AbstractMetaClassCPtr targetLangEnclosingClass() const;
private:
std::weak_ptr<const AbstractMetaClass> m_enclosingClass;
};
#endif // ENCLOSINGCLASSMIXIN_H
|