umbrello 2.32.2
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-2020 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 lookAhead();
82 virtual QString advance();
83
84 void pushScope(UMLPackage *p);
87 int scopeIndex();
88
90 QStringList m_source;
92 QList<UMLPackage *> m_scope;
95 QString m_comment;
96
103
110 static QStringList m_parsedFiles;
111
120};
121
122#endif
123
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:94
bool skipToClosing(QChar opener)
Definition: nativeimportbase.cpp:92
static QStringList m_parsedFiles
Definition: nativeimportbase.h:110
QList< UMLPackage * > m_scope
stack of scopes for use by the specific importer
Definition: nativeimportbase.h:92
UMLPackage * currentScope()
Definition: nativeimportbase.cpp:160
QString lookAhead()
Definition: nativeimportbase.cpp:180
bool m_inComment
Definition: nativeimportbase.h:101
void scan(const QString &line)
Definition: nativeimportbase.cpp:369
QStringList m_source
the scanned lexemes
Definition: nativeimportbase.h:90
int m_srcIndex
used for indexing m_source
Definition: nativeimportbase.h:91
virtual bool preprocess(QString &line)
Definition: nativeimportbase.cpp:221
void pushScope(UMLPackage *p)
Definition: nativeimportbase.cpp:138
QString m_singleLineCommentIntro
start token of a single line comment
Definition: nativeimportbase.h:89
QString m_multiLineAltCommentEnd
Definition: nativeimportbase.h:119
virtual QStringList split(const QString &line)
Definition: nativeimportbase.cpp:319
virtual bool parseFile(const QString &filename)
Definition: nativeimportbase.cpp:412
void setMultiLineComment(const QString &intro, const QString &end)
Definition: nativeimportbase.cpp:54
void setMultiLineAltComment(const QString &intro, const QString &end)
Definition: nativeimportbase.cpp:66
virtual void initVars()
Definition: nativeimportbase.cpp:401
UMLClassifier * m_klass
class currently being processed
Definition: nativeimportbase.h:93
QString m_comment
intermediate accumulator for comment text
Definition: nativeimportbase.h:95
int scopeIndex()
Definition: nativeimportbase.cpp:171
void initialize()
Definition: nativeimportbase.cpp:496
QString m_multiLineCommentEnd
multi line comment delimiter end
Definition: nativeimportbase.h:113
void skipStmt(const QString &until=QLatin1String(";"))
Definition: nativeimportbase.cpp:77
UMLPackage * popScope()
Definition: nativeimportbase.cpp:148
virtual bool parseStmt()=0
QString m_multiLineCommentIntro
multi line comment delimiter intro
Definition: nativeimportbase.h:112
QString m_multiLineAltCommentIntro
Definition: nativeimportbase.h:118
NativeImportBase(const QString &singleLineCommentIntro, CodeImpThread *thread=0)
Definition: nativeimportbase.cpp:29
bool m_isAbstract
accumulator for abstractness
Definition: nativeimportbase.h:102
virtual ~NativeImportBase()
Definition: nativeimportbase.cpp:43
virtual QString advance()
Definition: nativeimportbase.cpp:193
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