umbrello  2.34.3
Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology
pythonimport.h
Go to the documentation of this file.
1 /*
2  SPDX-License-Identifier: GPL-2.0-or-later
3  SPDX-FileCopyrightText: 2006-2022 Umbrello UML Modeller Authors <umbrello-devel@kde.org>
4 */
5 
6 #ifndef PYTHONIMPORT_H
7 #define PYTHONIMPORT_H
8 
9 #include "nativeimportbase.h"
10 
11 class UMLOperation;
12 
19 {
20 public:
21  explicit PythonImport(CodeImpThread* thread = 0);
22  virtual ~PythonImport();
23 
24 protected:
25  void initVars();
26 
27  bool parseInitializer(const QString &keyword, QString &type, QString &value);
28  bool parseAssignmentStmt(const QString &keyword);
29 
31  bool parseStmt();
32 
33  void fillSource(const QString& line);
34 
35  bool preprocess(QString& line);
36 
37  QString indentation(int level);
38 
39  QString skipBody(Uml::PrimitiveTypes::Enum *foundReturn = 0);
40 
45  int m_srcIndent[100];
46 
51 
53  bool m_isStatic;
54 };
55 
56 #endif
57 
NativeImportBase::scopeIndex
int scopeIndex()
Definition: nativeimportbase.cpp:176
pythonimport.h
DEBUG_REGISTER
#define DEBUG_REGISTER(src)
Definition: debug_utils.h:129
Import_Utils::insertAttribute
UMLAttribute * insertAttribute(UMLClassifier *owner, Uml::Visibility::Enum scope, const QString &name, UMLClassifier *attrType, const QString &comment, bool isStatic)
Definition: import_utils.cpp:452
umlpackagelist.h
Uml::PrimitiveTypes::String
@ String
Definition: basictypes.h:270
logDebug1
#define logDebug1(s, a)
Definition: uml.h:539
ClassImport::log
void log(const QString &file, const QString &text)
Definition: classimport.cpp:133
PythonImport::PythonImport
PythonImport(CodeImpThread *thread=0)
Definition: pythonimport.cpp:31
NativeImportBase::preprocess
virtual bool preprocess(QString &line)
Definition: nativeimportbase.cpp:238
UMLObject::ot_Class
@ ot_Class
Definition: umlobject.h:85
operation.h
Import_Utils::createGeneralization
UMLAssociation * createGeneralization(UMLClassifier *child, UMLClassifier *parent)
Definition: import_utils.cpp:627
PythonImport::m_isStatic
bool m_isStatic
Flag denoting staticness of defined method.
Definition: pythonimport.h:53
logError0
#define logError0(s)
Definition: uml.h:537
logError1
#define logError1(s, a)
Definition: uml.h:543
Import_Utils::createUMLObject
UMLObject * createUMLObject(UMLObject::ObjectType type, const QString &inName, UMLPackage *parentPkg, const QString &comment, const QString &stereotype, bool searchInParentPackageOnly, bool remapParent)
Definition: import_utils.cpp:184
PythonImport::~PythonImport
virtual ~PythonImport()
Definition: pythonimport.cpp:41
NativeImportBase::m_klass
UMLClassifier * m_klass
class currently being processed
Definition: nativeimportbase.h:94
UMLObject::asUMLAttribute
UMLAttribute * asUMLAttribute()
Definition: umlobject.cpp:1416
Uml::PrimitiveTypes::Integer
@ Integer
Definition: basictypes.h:273
Import_Utils::insertMethod
void insertMethod(UMLClassifier *klass, UMLOperation *&op, Uml::Visibility::Enum scope, const QString &type, bool isStatic, bool isAbstract, bool isFriend, bool isConstructor, bool isDestructor, const QString &comment)
Definition: import_utils.cpp:524
PythonImport::preprocess
bool preprocess(QString &line)
Definition: pythonimport.cpp:66
PythonImport::m_braceWasOpened
bool m_braceWasOpened
Flag denoting the opening of a block.
Definition: pythonimport.h:52
PythonImport::m_srcIndent
int m_srcIndent[100]
Definition: pythonimport.h:45
UMLObject
The base class for UML objects.
Definition: umlobject.h:69
Uml::PrimitiveTypes::Real
@ Real
Definition: basictypes.h:274
import_utils.h
Uml::PrimitiveTypes::Boolean
@ Boolean
Definition: basictypes.h:271
NativeImportBase::currentScope
UMLPackage * currentScope()
Definition: nativeimportbase.cpp:165
NativeImportBase::skipStmt
void skipStmt(const QString &until=QLatin1String(";"))
Definition: nativeimportbase.cpp:81
UMLObject::hasDoc
bool hasDoc() const
Definition: umlobject.cpp:441
Uml::Visibility::Public
@ Public
Definition: basictypes.h:46
NativeImportBase::current
QString current()
Definition: nativeimportbase.cpp:186
UMLAttribute::setInitialValue
void setInitialValue(const QString &iv)
Definition: attribute.cpp:110
NativeImportBase::skipToClosing
bool skipToClosing(QChar opener)
Definition: nativeimportbase.cpp:96
PythonImport::initVars
void initVars()
Definition: pythonimport.cpp:48
UMLOperation::setSourceCode
void setSourceCode(const QString &code)
Definition: operation.cpp:515
attribute.h
NativeImportBase::popScope
UMLPackage * popScope()
Definition: nativeimportbase.cpp:152
PythonImport::m_srcIndentIndex
int m_srcIndentIndex
Definition: pythonimport.h:50
a
QString a
Definition: petalnode.cpp:13
NativeImportBase::m_source
QStringList m_source
the scanned lexemes
Definition: nativeimportbase.h:91
PythonImport::parseStmt
bool parseStmt()
Definition: pythonimport.cpp:404
Uml::PrimitiveTypes::Reserved
@ Reserved
Definition: basictypes.h:275
Import_Utils::addMethodParameter
UMLAttribute * addMethodParameter(UMLOperation *method, const QString &type, const QString &name)
Definition: import_utils.cpp:596
UMLObject::asUMLClassifier
UMLClassifier * asUMLClassifier()
Definition: umlobject.cpp:1420
PythonImport::indentation
QString indentation(int level)
Definition: pythonimport.cpp:166
NativeImportBase::advance
virtual QString advance()
Definition: nativeimportbase.cpp:210
PythonImport::parseAssignmentStmt
bool parseAssignmentStmt(const QString &keyword)
Definition: pythonimport.cpp:317
NativeImportBase::m_comment
QString m_comment
intermediate accumulator for comment text
Definition: nativeimportbase.h:96
CodeImpThread
Definition: codeimpthread.h:21
c
type show c for details The hypothetical commands show w and show c should show the appropriate parts of the General Public License Of the commands you use may be called something other than show w and show c
Definition: GPL-2.0-only.txt:301
visibility
Definition: visibility.py:1
Import_Utils::makeOperation
UMLOperation * makeOperation(UMLClassifier *parent, const QString &name)
Definition: import_utils.cpp:442
PythonImport::skipBody
QString skipBody(Uml::PrimitiveTypes::Enum *foundReturn=0)
Definition: pythonimport.cpp:191
UMLAttribute
Sets up attribute information.
Definition: attribute.h:22
NativeImportBase
Base class for native implementations of language import.
Definition: nativeimportbase.h:39
nativeimportbase.h
PythonImport
Definition: pythonimport.h:18
Uml::Visibility::Enum
Enum
Definition: basictypes.h:45
UMLObject::setDoc
void setDoc(const QString &d)
Definition: umlobject.cpp:451
classifier.h
UMLOperation
Definition: operation.h:19
uml.h
PythonImport::parseMethodParameters
bool parseMethodParameters(UMLOperation *op)
Definition: pythonimport.cpp:356
debug_utils.h
NativeImportBase::pushScope
void pushScope(UMLPackage *p)
Definition: nativeimportbase.cpp:142
NativeImportBase::lookAhead
QString lookAhead()
Definition: nativeimportbase.cpp:197
NativeImportBase::m_singleLineCommentIntro
QString m_singleLineCommentIntro
start token of a single line comment
Definition: nativeimportbase.h:90
Uml::Visibility::Private
@ Private
Definition: basictypes.h:47
NativeImportBase::m_srcIndex
int m_srcIndex
used for indexing m_source
Definition: nativeimportbase.h:92
package.h
Uml::PrimitiveTypes::Enum
Enum
Definition: basictypes.h:269
Uml::Visibility::Protected
@ Protected
Definition: basictypes.h:48
PythonImport::fillSource
void fillSource(const QString &line)
Definition: pythonimport.cpp:126
codeimpthread.h
umldoc.h
PythonImport::parseInitializer
bool parseInitializer(const QString &keyword, QString &type, QString &value)
Definition: pythonimport.cpp:255
logError2
#define logError2(s, a, b)
Definition: uml.h:549
enum.h