File indexing completed on 2024-05-12 04:39:26

0001 /*
0002     SPDX-FileCopyrightText: 2007-2012 Aleix Pol <aleixpol@kde.org>
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #ifndef CMAKEDUCHAINTYPES_H
0008 #define CMAKEDUCHAINTYPES_H
0009 
0010 #include <language/duchain/types/abstracttype.h>
0011 #include <language/duchain/types/typesystemdata.h>
0012 #include "cmaketypes.h"
0013 
0014 struct KDEVCMAKECOMMON_EXPORT TargetTypeData : public KDevelop::AbstractTypeData {
0015   TargetTypeData() {}
0016   ~TargetTypeData() {}
0017    
0018   TargetTypeData(const TargetTypeData& rhs) : AbstractTypeData(rhs) {}
0019   TargetTypeData& operator=(const TargetTypeData& rhs) = delete;
0020 };
0021 
0022 class KDEVCMAKECOMMON_EXPORT TargetType : public KDevelop::AbstractType
0023 {
0024     public:
0025         TargetType();
0026         TargetType(const TargetType& rhs);
0027         explicit TargetType(KDevelop::AbstractTypeData& dd);
0028         TargetType& operator=(const TargetType& rhs) = delete;
0029 
0030         void accept0(KDevelop::TypeVisitor* v) const override;
0031         AbstractType* clone() const override;
0032         bool equals(const AbstractType* rhs) const override;
0033         
0034     private:
0035         TYPE_DECLARE_DATA(TargetType)
0036 };
0037 
0038 #endif