umbrello  2.32.2
Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology
idlimport.h
Go to the documentation of this file.
1 /***************************************************************************
2  * This program is free software; you can redistribute it and/or modify *
3  * it under the terms of the GNU General Public License as published by *
4  * the Free Software Foundation; either version 2 of the License, or *
5  * (at your option) any later version. *
6  * *
7  * copyright (C) 2005-2021 *
8  * Umbrello UML Modeller Authors <umbrello-devel@kde.org> *
9  ***************************************************************************/
10 
11 #ifndef IDLIMPORT_H
12 #define IDLIMPORT_H
13 
14 #include "nativeimportbase.h"
15 
16 class UMLDoc;
17 
23 class IDLImport : public NativeImportBase {
24 public:
25  explicit IDLImport(CodeImpThread* thread = 0);
26  virtual ~IDLImport();
27 
28  bool parseStmt();
29 
30  bool parseFile(const QString& file);
31 
32  bool preprocess(QString& line);
33 
34  void fillSource(const QString& word);
35 
36  bool skipStructure();
37 
38  bool isValidScopedName(QString text);
39 
40 protected:
41  QString joinTypename();
44  QStringList m_unionCases;
45  static QString m_preProcessor;
46  static QStringList m_preProcessorArguments;
47  static bool m_preProcessorChecked;
48 };
49 
50 #endif
51 
NativeImportBase::scopeIndex
int scopeIndex()
Definition: nativeimportbase.cpp:176
UMLObject::asUMLClassifier
UMLClassifier * asUMLClassifier()
Definition: umlobject.cpp:1393
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:426
umlpackagelist.h
IDLImport::fillSource
void fillSource(const QString &word)
Definition: idlimport.cpp:132
UMLObject::ObjectType
ObjectType
Definition: umlobject.h:80
Uml::PrimitiveTypes::String
@ String
Definition: basictypes.h:301
IDLImport::m_isReadonly
bool m_isReadonly
Definition: idlimport.h:43
IDLImport::m_unionCases
QStringList m_unionCases
Definition: idlimport.h:44
IDLImport::skipStructure
bool skipStructure()
Definition: idlimport.cpp:235
ClassImport::log
void log(const QString &file, const QString &text)
Definition: classimport.cpp:133
idlimport.h
NativeImportBase::m_currentAccess
Uml::Visibility::Enum m_currentAccess
current access (public/protected/private)
Definition: nativeimportbase.h:99
stereotype.h
UMLAttribute::setParmKind
void setParmKind(Uml::ParameterDirection::Enum pk)
Definition: attribute.cpp:117
NativeImportBase::preprocess
virtual bool preprocess(QString &line)
Definition: nativeimportbase.cpp:226
UMLObject::ot_Class
@ ot_Class
Definition: umlobject.h:90
IDLImport::m_isAttribute
bool m_isAttribute
Definition: idlimport.h:43
operation.h
Import_Utils::createGeneralization
UMLAssociation * createGeneralization(UMLClassifier *child, UMLClassifier *parent)
Definition: import_utils.cpp:603
UMLStereotype::getAttributeDefs
const AttributeDefs & getAttributeDefs() const
Definition: stereotype.cpp:114
IDLImport::m_doc
UMLDoc * m_doc
Definition: idlimport.h:42
object_factory.h
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:178
IDLImport::parseFile
bool parseFile(const QString &file)
Definition: idlimport.cpp:160
Uml::ParameterDirection::Enum
Enum
Definition: basictypes.h:285
IDLImport::m_isOneway
bool m_isOneway
Definition: idlimport.h:43
IDLImport::m_preProcessorChecked
static bool m_preProcessorChecked
Definition: idlimport.h:47
NativeImportBase::m_klass
UMLClassifier * m_klass
class currently being processed
Definition: nativeimportbase.h:98
UMLObject::ot_Package
@ ot_Package
Definition: umlobject.h:86
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:498
UMLObject::ot_UMLObject
@ ot_UMLObject
Definition: umlobject.h:83
UMLObject
The base class for UML objects.
Definition: umlobject.h:74
NativeImportBase::setMultiLineComment
void setMultiLineComment(const QString &intro, const QString &end)
Definition: nativeimportbase.cpp:59
import_utils.h
UMLObject::asUMLEnum
UMLEnum * asUMLEnum()
Definition: umlobject.cpp:1400
NativeImportBase::m_scope
QList< UMLPackage * > m_scope
stack of scopes for use by the specific importer
Definition: nativeimportbase.h:97
UMLObject::baseType
ObjectType baseType() const
Definition: umlobject.cpp:397
ClassImport::m_enabled
bool m_enabled
state of importer
Definition: classimport.h:68
NativeImportBase::currentScope
UMLPackage * currentScope()
Definition: nativeimportbase.cpp:165
NativeImportBase::skipStmt
void skipStmt(const QString &until=QLatin1String(";"))
Definition: nativeimportbase.cpp:82
UMLStereotype
Sets up stereotype information.
Definition: stereotype.h:40
Uml::Visibility::Public
@ Public
Definition: basictypes.h:77
Import_Utils::remapUMLEnum
UMLEnum * remapUMLEnum(UMLObject *ns, UMLPackage *currentScope)
Definition: import_utils.cpp:746
NativeImportBase::skipToClosing
bool skipToClosing(QChar opener)
Definition: nativeimportbase.cpp:97
UMLObject::tags
QStringList & tags()
Definition: umlobject.cpp:569
Uml::PrimitiveTypes::UnlimitedNatural
@ UnlimitedNatural
Definition: basictypes.h:303
NativeImportBase::m_isAbstract
bool m_isAbstract
accumulator for abstractness
Definition: nativeimportbase.h:107
attribute.h
Object_Factory::createAttribute
UMLAttribute * createAttribute(UMLObject *parent, const QString &name, UMLObject *type)
Definition: object_factory.cpp:288
NativeImportBase::popScope
UMLPackage * popScope()
Definition: nativeimportbase.cpp:153
NativeImportBase::m_source
QStringList m_source
the scanned lexemes
Definition: nativeimportbase.h:95
IDLImport::~IDLImport
virtual ~IDLImport()
Definition: idlimport.cpp:101
IDLImport::IDLImport
IDLImport(CodeImpThread *thread=0)
Definition: idlimport.cpp:48
NativeImportBase::scan
void scan(const QString &line)
Definition: nativeimportbase.cpp:374
IDLImport
Definition: idlimport.h:23
UMLObject::ot_Datatype
@ ot_Datatype
Definition: umlobject.h:88
Import_Utils::addMethodParameter
UMLAttribute * addMethodParameter(UMLOperation *method, const QString &type, const QString &name)
Definition: import_utils.cpp:572
uDebug
#define uDebug()
Definition: debug_utils.h:122
UMLDoc::createStereotype
UMLStereotype * createStereotype(const QString &name)
Definition: umldoc.cpp:1300
Import_Utils::addIncludePath
void addIncludePath(const QString &path)
Definition: import_utils.cpp:797
NativeImportBase::advance
virtual QString advance()
Definition: nativeimportbase.cpp:198
UMLObject::setStereotype
void setStereotype(const QString &_name)
Definition: umlobject.cpp:528
UMLObject::toString
static QString toString(ObjectType ot)
Definition: umlobject.cpp:1184
NativeImportBase::m_comment
QString m_comment
intermediate accumulator for comment text
Definition: nativeimportbase.h:100
CodeImpThread
Definition: codeimpthread.h:35
UMLObject::setAbstract
void setAbstract(bool bAbstract)
Definition: umlobject.cpp:356
IDLImport::m_preProcessorArguments
static QStringList m_preProcessorArguments
Definition: idlimport.h:46
UMLApp::app
static UMLApp * app()
Definition: uml.cpp:280
Import_Utils::makeOperation
UMLOperation * makeOperation(UMLClassifier *parent, const QString &name)
Definition: import_utils.cpp:416
UMLDoc
Definition: umldoc.h:74
UMLAttribute
Sets up attribute information.
Definition: attribute.h:27
UMLStereotype::AttributeDef
Definition: stereotype.h:70
NativeImportBase
Base class for native implementations of language import.
Definition: nativeimportbase.h:44
nativeimportbase.h
IDLImport::m_preProcessor
static QString m_preProcessor
Definition: idlimport.h:45
Import_Utils::addEnumLiteral
void addEnumLiteral(UMLEnum *enumType, const QString &literal, const QString &comment, const QString &value)
Definition: import_utils.cpp:593
UMLDoc::findUMLObject
UMLObject * findUMLObject(const QString &name, UMLObject::ObjectType type=UMLObject::ot_UMLObject, UMLObject *currentObj=0)
Definition: umldoc.cpp:1068
classifier.h
UMLOperation
Definition: operation.h:24
UMLObject::ot_Enum
@ ot_Enum
Definition: umlobject.h:89
IDLImport::preprocess
bool preprocess(QString &line)
Definition: idlimport.cpp:121
IDLImport::isValidScopedName
bool isValidScopedName(QString text)
Definition: idlimport.cpp:245
uml.h
IDLImport::m_isUnionDefault
bool m_isUnionDefault
Definition: idlimport.h:43
Model_Utils::stringToDirection
int stringToDirection(QString input, Uml::ParameterDirection::Enum &result)
Definition: model_utils.cpp:925
UMLClassifier
Information for a non-graphical Concept/Class.
Definition: classifier.h:39
debug_utils.h
NativeImportBase::pushScope
void pushScope(UMLPackage *p)
Definition: nativeimportbase.cpp:143
UMLDoc::findStereotype
UMLStereotype * findStereotype(const QString &name)
Definition: umldoc.cpp:1313
UMLObject::setUMLStereotype
void setUMLStereotype(UMLStereotype *stereo)
Definition: umlobject.cpp:501
NativeImportBase::m_singleLineCommentIntro
QString m_singleLineCommentIntro
start token of a single line comment
Definition: nativeimportbase.h:94
UMLObject::asUMLPackage
UMLPackage * asUMLPackage()
Definition: umlobject.cpp:1409
IDLImport::parseStmt
bool parseStmt()
Definition: idlimport.cpp:261
Uml::Visibility::Private
@ Private
Definition: basictypes.h:78
NativeImportBase::m_srcIndex
int m_srcIndex
used for indexing m_source
Definition: nativeimportbase.h:96
package.h
Import_Utils::includePathList
QStringList includePathList()
Definition: import_utils.cpp:784
IDLImport::joinTypename
QString joinTypename()
Check for split type names (e.g. unsigned long long)
Definition: idlimport.cpp:106
codeimpthread.h
UMLEnum
Non-graphical Information for an Enum.
Definition: enum.h:28
UMLApp::document
UMLDoc * document() const
Definition: uml.cpp:1068
umldoc.h
enum.h