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