umbrello: umbrello/codeimport/csvalaimportbase.h Source File

umbrello 25.04.0 Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology

csvalaimportbase.h
Go to the documentation of this file.
1/*
2 SPDX-License-Identifier: GPL-2.0-or-later
3 SPDX-FileCopyrightText: 2011-2022 Umbrello UML Modeller Authors <umbrello-devel@kde.org>
4*/
5
6#ifndef CSVALAIMPORTBASE_H
7#define CSVALAIMPORTBASE_H
8
9#include "nativeimportbase.h"
10
11class UMLObject;
12
18 class CsValaImportBase : public NativeImportBase
19{
20public:
21 explicit CsValaImportBase(CodeImpThread *thread = nullptr);
22 virtual ~CsValaImportBase();
23 virtual QString fileExtension();
24
25protected:
26 void initVars();
27
28 bool parseStmt();
29
30 void fillSource(const QString& word);
31
32 bool preprocess(QString& line);
33
34 bool parseFile(const QString& filename);
35
36 UMLObject* resolveClass (const QString& className);
37
38 void spawnImport(const QString& file);
39
40 QString joinTypename(const QString& typeName);
41
42 bool m_isStatic;
43 QString m_currentFileName;
44 QString m_currentPackage;
45 QStringList m_imports;
46 Uml::Visibility::Enum m_defaultCurrentAccess;
47
52 static QStringList s_filesAlreadyParsed;
53
58 static int s_parseDepth;
59
63 Uml::ProgrammingLanguage::Enum m_language;
64
65private:
66 static UMLObject* findObject(const QString& name, UMLPackage *parentPkg);
67
68 bool parseUsingDirectives();
69 bool parseGlobalAttributes();
70 bool parseNamespaceMemberDeclarations();
71 bool parseAttributes();
72
73 // type-declaration
74 bool parseClassDeclaration(const QString& keyword);
75 bool parseStructDeclaration();
76 // bool parseInterfaceDeclaration();
77 bool parseEnumDeclaration();
78 bool parseDelegateDeclaration();
79
80 bool isTypeDeclaration(const QString& keyword);
81 bool isClassModifier(const QString& keyword);
82 bool isCommonModifier(const QString& keyword);
83
84};
85
86#endif
CodeImpThread
Definition codeimpthread.h:22
CsValaImportBase::CsValaImportBase
CsValaImportBase(CodeImpThread *thread=nullptr)
Definition csvalaimportbase.cpp:37
CsValaImportBase::m_currentFileName
QString m_currentFileName
current filename being parsed
Definition csvalaimportbase.h:43
CsValaImportBase::spawnImport
void spawnImport(const QString &file)
Definition csvalaimportbase.cpp:149
CsValaImportBase::parseClassDeclaration
bool parseClassDeclaration(const QString &keyword)
Definition csvalaimportbase.cpp:722
CsValaImportBase::parseDelegateDeclaration
bool parseDelegateDeclaration()
Definition csvalaimportbase.cpp:708
CsValaImportBase::isCommonModifier
bool isCommonModifier(const QString &keyword)
Definition csvalaimportbase.cpp:616
CsValaImportBase::findObject
static UMLObject * findObject(const QString &name, UMLPackage *parentPkg)
Definition csvalaimportbase.cpp:170
CsValaImportBase::resolveClass
UMLObject * resolveClass(const QString &className)
Definition csvalaimportbase.cpp:181
CsValaImportBase::m_imports
QStringList m_imports
imports included in the current file
Definition csvalaimportbase.h:45
CsValaImportBase::isTypeDeclaration
bool isTypeDeclaration(const QString &keyword)
Definition csvalaimportbase.cpp:580
CsValaImportBase::parseStmt
bool parseStmt()
Definition csvalaimportbase.cpp:298
CsValaImportBase::parseAttributes
bool parseAttributes()
Definition csvalaimportbase.cpp:568
CsValaImportBase::m_language
Uml::ProgrammingLanguage::Enum m_language
Definition csvalaimportbase.h:63
CsValaImportBase::fillSource
void fillSource(const QString &word)
Definition csvalaimportbase.cpp:115
CsValaImportBase::parseUsingDirectives
bool parseUsingDirectives()
Definition csvalaimportbase.cpp:526
CsValaImportBase::m_isStatic
bool m_isStatic
static flag for the member var or method
Definition csvalaimportbase.h:42
CsValaImportBase::parseEnumDeclaration
bool parseEnumDeclaration()
Definition csvalaimportbase.cpp:653
CsValaImportBase::~CsValaImportBase
virtual ~CsValaImportBase()
Definition csvalaimportbase.cpp:49
CsValaImportBase::s_parseDepth
static int s_parseDepth
Definition csvalaimportbase.h:58
CsValaImportBase::initVars
void initVars()
Definition csvalaimportbase.cpp:61
CsValaImportBase::s_filesAlreadyParsed
static QStringList s_filesAlreadyParsed
Definition csvalaimportbase.h:52
CsValaImportBase::parseFile
bool parseFile(const QString &filename)
Definition csvalaimportbase.cpp:268
CsValaImportBase::m_defaultCurrentAccess
Uml::Visibility::Enum m_defaultCurrentAccess
current visibility for when the visibility is absent
Definition csvalaimportbase.h:46
CsValaImportBase::fileExtension
virtual QString fileExtension()
Definition csvalaimportbase.cpp:53
CsValaImportBase::m_currentPackage
QString m_currentPackage
current package of the file being parsed
Definition csvalaimportbase.h:44
CsValaImportBase::parseStructDeclaration
bool parseStructDeclaration()
Definition csvalaimportbase.cpp:697
CsValaImportBase::preprocess
bool preprocess(QString &line)
Definition csvalaimportbase.cpp:96
CsValaImportBase::joinTypename
QString joinTypename(const QString &typeName)
Definition csvalaimportbase.cpp:72
CsValaImportBase::parseGlobalAttributes
bool parseGlobalAttributes()
Definition csvalaimportbase.cpp:545
CsValaImportBase::parseNamespaceMemberDeclarations
bool parseNamespaceMemberDeclarations()
Definition csvalaimportbase.cpp:555
CsValaImportBase::isClassModifier
bool isClassModifier(const QString &keyword)
Definition csvalaimportbase.cpp:599
NativeImportBase::NativeImportBase
NativeImportBase(const QString &singleLineCommentIntro, CodeImpThread *thread=nullptr)
Definition nativeimportbase.cpp:33
UMLObject
The base class for UML objects.
Definition umlobject.h:70
UMLPackage
Non-graphical information for a Package.
Definition package.h:28
Uml::ProgrammingLanguage::Enum
Enum
Definition basictypes.h:291
Uml::Visibility::Enum
Enum
Definition basictypes.h:45
nativeimportbase.h