1 /*
2     SPDX-License-Identifier: GPL-2.0-or-later
3     SPDX-FileCopyrightText: 2006-2020 Umbrello UML Modeller Authors <umbrello-devel@kde.org>
4 */
5 
6 #ifndef PASCALIMPORT_H
7 #define PASCALIMPORT_H
8 
9 #include "nativeimportbase.h"
10 
11 /**
12  * Pascal code import
13  * @author Oliver Kellogg
14  * Bugs and comments to umbrello-devel@kde.org or https://bugs.kde.org
15  */
16 class PascalImport : public NativeImportBase
17 {
18 public:
19     explicit PascalImport(CodeImpThread* thread = 0);
20     virtual ~PascalImport();
21 
22 protected:
23     void initVars();
24 
25     bool parseStmt();
26 
27     void fillSource(const QString& word);
28 
29     void checkModifiers(bool& isVirtual, bool& isAbstract);
30 
31     bool m_inInterface;  ///< becomes true when keyword "interface" is seen
32 
33     enum Section_Type { sect_NONE, sect_LABEL, sect_CONST, sect_RESOURCESTRING,
34                         sect_TYPE, sect_VAR, sect_THREADVAR };
35 
36     Section_Type m_section;  ///< contains the current section
37 };
38 
39 #endif
40 
41