umbrello 2.34.70-5524f40e1
Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology
nativeimportbase.h
Go to the documentation of this file.
1/*
2 SPDX-License-Identifier: GPL-2.0-or-later
3 SPDX-FileCopyrightText: 2005-2022 Umbrello UML Modeller Authors <umbrello-devel@kde.org>
4*/
5
6#ifndef NATIVEIMPORTBASE_H
7#define NATIVEIMPORTBASE_H
8
9#include "basictypes.h"
10#include "classimport.h"
11
12#include <QString>
13#include <QStringList>
14
15class UMLPackage;
16class UMLClassifier;
17
40{
41public:
42 explicit NativeImportBase(const QString &singleLineCommentIntro, CodeImpThread* thread = 0);
43 virtual ~NativeImportBase();
44
45protected:
46 void initialize();
47
48 void setMultiLineComment(const QString &intro, const QString &end);
49 void setMultiLineAltComment(const QString &intro, const QString &end);
50
51 virtual bool parseFile(const QString& filename);
52
53 virtual void initVars();
54
55 void scan(const QString& line);
56
57 virtual bool preprocess(QString& line);
58
59 virtual QStringList split(const QString& line);
60
66 virtual void fillSource(const QString& word) = 0;
67
76 virtual bool parseStmt() = 0;
77
78 void skipStmt(const QString& until = QLatin1String(";"));
79 bool skipToClosing(QChar opener);
80
81 QString current();
82 QString lookAhead();
83 virtual QString advance();
84
85 void pushScope(UMLPackage *p);
88 int scopeIndex();
89
91 QStringList m_source;
93 QList<UMLPackage *> m_scope;
96 QString m_comment;
97
104
111 static QStringList m_parsedFiles;
112
121};
122
123#endif
124
Definition: classimport.h:21
Definition: codeimpthread.h:22
Base class for native implementations of language import.
Definition: nativeimportbase.h:40
Uml::Visibility::Enum m_currentAccess
current access (public/protected/private)
Definition: nativeimportbase.h:95
bool skipToClosing(QChar opener)
Definition: nativeimportbase.cpp:96
static QStringList m_parsedFiles
Definition: nativeimportbase.h:111
QList< UMLPackage * > m_scope
stack of scopes for use by the specific importer
Definition: nativeimportbase.h:93
UMLPackage * currentScope()
Definition: nativeimportbase.cpp:165
QString lookAhead()
Definition: nativeimportbase.cpp:197
bool m_inComment
Definition: nativeimportbase.h:102
void scan(const QString &line)
Definition: nativeimportbase.cpp:386
QStringList m_source
the scanned lexemes
Definition: nativeimportbase.h:91
int m_srcIndex
used for indexing m_source
Definition: nativeimportbase.h:92
virtual bool preprocess(QString &line)
Definition: nativeimportbase.cpp:238
void pushScope(UMLPackage *p)
Definition: nativeimportbase.cpp:142
QString m_singleLineCommentIntro
start token of a single line comment
Definition: nativeimportbase.h:90
QString m_multiLineAltCommentEnd
Definition: nativeimportbase.h:120
virtual QStringList split(const QString &line)
Definition: nativeimportbase.cpp:336
virtual bool parseFile(const QString &filename)
Definition: nativeimportbase.cpp:429
void setMultiLineComment(const QString &intro, const QString &end)
Definition: nativeimportbase.cpp:58
void setMultiLineAltComment(const QString &intro, const QString &end)
Definition: nativeimportbase.cpp:70
virtual void initVars()
Definition: nativeimportbase.cpp:418
UMLClassifier * m_klass
class currently being processed
Definition: nativeimportbase.h:94
QString m_comment
intermediate accumulator for comment text
Definition: nativeimportbase.h:96
QString current()
Definition: nativeimportbase.cpp:186
int scopeIndex()
Definition: nativeimportbase.cpp:176
void initialize()
Definition: nativeimportbase.cpp:513
QString m_multiLineCommentEnd
multi line comment delimiter end
Definition: nativeimportbase.h:114
void skipStmt(const QString &until=QLatin1String(";"))
Definition: nativeimportbase.cpp:81
UMLPackage * popScope()
Definition: nativeimportbase.cpp:152
virtual bool parseStmt()=0
QString m_multiLineCommentIntro
multi line comment delimiter intro
Definition: nativeimportbase.h:113
QString m_multiLineAltCommentIntro
Definition: nativeimportbase.h:119
NativeImportBase(const QString &singleLineCommentIntro, CodeImpThread *thread=0)
Definition: nativeimportbase.cpp:33
bool m_isAbstract
accumulator for abstractness
Definition: nativeimportbase.h:103
virtual ~NativeImportBase()
Definition: nativeimportbase.cpp:47
virtual QString advance()
Definition: nativeimportbase.cpp:210
virtual void fillSource(const QString &word)=0
Information for a non-graphical Concept/Class.
Definition: classifier.h:35
Non-graphical information for a Package.
Definition: package.h:28
Enum
Definition: basictypes.h:45