File indexing completed on 2024-04-28 04:36:30
0001 /* 0002 SPDX-FileCopyrightText: 2011 Aleix Pol Gonzalez <aleixpol@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #ifndef KDEVPLATFORM_ILANGUAGECHECK_H 0008 #define KDEVPLATFORM_ILANGUAGECHECK_H 0009 0010 #include "interfacesexport.h" 0011 0012 #include <QUrl> 0013 #include <QObject> 0014 0015 namespace KDevelop 0016 { 0017 class DataAccessRepository; 0018 class ControlFlowGraph; 0019 class TopDUContext; 0020 0021 class CheckData 0022 { 0023 public: 0024 QUrl url; 0025 TopDUContext* top; 0026 ControlFlowGraph* flow; 0027 DataAccessRepository* access; 0028 }; 0029 0030 class KDEVPLATFORMINTERFACES_EXPORT ILanguageCheck 0031 { 0032 public: 0033 virtual ~ILanguageCheck(); 0034 0035 /** Runs the check. This will add problems to the TopDUContext if necessary */ 0036 virtual void runCheck(const CheckData& data)=0; 0037 0038 /** @returns the name of the check */ 0039 virtual QString name() const=0; 0040 }; 0041 0042 } 0043 0044 Q_DECLARE_INTERFACE( KDevelop::ILanguageCheck, "org.kdevelop.ILanguageCheck") 0045 0046 #endif 0047